oracle常用的几个数据库信息查询

本文介绍了使用Oracle数据库中常用查询语句进行信息查询的方法,包括表空间、表大小、索引、分区、用户、字段、连接数等,并提供了修改表、索引、分区、表字段、设置最大连接数等操作的SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle常用的几个数据库信息查询,包括表空间、表大小、索引、分区、用户、字段、连接数等数据库信息。

  1. --修改表所在表空间   
  2. select T.owner,  t.segment_name, t.tablespace_name , sum(t.blocks)   
  3.   from dba_segments t   
  4.  where t.owner = 'USER_NAME'   
  5. ORDER BY T.owner   
  6.   
  7. select 'alter table ' || t.TABLE_NAME || ' move tablespace BIP_TS;' from user_all_tables t   
  8. select 'alter index '|| index_name ||' rebuild tablespace BIP_TS;' from user_indexes;    
  9.   
  10. --查询表的大小   
  11. select t.owner,   
  12.        t.segment_name,   
  13.        (sum(t.blocks) * 8) / 1024 || 'M' as S,   
  14.        t.segment_type   
  15.   from dba_segments t   
  16.  where t.owner = 'USER_NAME'   
  17.  group by t.owner, t.segment_name, t.segment_type   
  18.  order by t.owner, S desc  
  19.   
  20. --查看索引是否生效   
  21.   select index_name, index_type, tablespace_name, table_type, status   
  22.   from user_indexes t   
  23.  where t.tablespace_name = 'TABLESPACENAME'   
  24.    and status = 'UNUSABLE'   
  25.   
  26. --查询建表语句   
  27.  select dbms_metadata.get_ddl('TABLE','UNIEAP_REPORT_CATEGORY') FROM DUAL   
  28.  select DBMS_METADATA.GET_DDL('TABLESPACE','BIP_TS') FROM DUAL   
  29.   
  30. --获取授权信息   
  31. select dbms_metadata.get_granted_ddl('SYSTEM_GRANT') from dual;   
  32.   
  33. --查询表空间使用率的语句   
  34. select a.a1 表空间名称,   
  35.        c.c2 类型,   
  36.        c.c3 区管理,   
  37.        b.b2 / 1024 / 1024 表空间大小M,   
  38.        (b.b2 - a.a2) / 1024 / 1024 已使用M,   
  39.        substr((b.b2 - a.a2) / b.b2 * 100, 1, 5) 利用率   
  40.   from (select tablespace_name a1, sum(nvl(bytes, 0)) a2   
  41.           from dba_free_space   
  42.          group by tablespace_name) a,   
  43.        (select tablespace_name b1, sum(bytes) b2   
  44.           from dba_data_files   
  45.          group by tablespace_name) b,   
  46.        (select tablespace_name c1, contents c2, extent_management c3   
  47.           from dba_tablespaces) c   
  48.  where a.a1 = b.b1   
  49.    and c.c1 = b.b1;   
  50.   
  51. --修改分区名   
  52. alter table TABLE_NAME rename partition OLD_PARTITION_NAME to NEW_PARTITION_NAME;   
  53.   
  54. --查询分区脚本   
  55. select TABLE_NAME ,PARTITION_NAME from user_tab_partitions where table_name like '%'   
  56. select TABLE_NAME ,PARTITION_NAME from user_tab_partitions where table_name like '%'   
  57.   
  58. --查询索引脚本   
  59. SELECT INDEX_NAME,TABLE_NAME FROM USER_INDEXES WHERE INDEX_NAME LIKE '%'   
  60.   
  61. --查看oracle连接用户   
  62. select s.USERNAME,s.MACHINE from v$session s where s.STATUS = 'ACTIVE'   
  63.   
  64. --查看oracle最大连接数   
  65. select value from v$parameter where name = 'processes'    
  66.   
  67. --修改最大连接数:   
  68. alter system set processes = 300 scope = spfile;   
  69.   
  70. --修改表字段   
  71. ALTER TABLE table_name MODIFY (col_name  datatype [default value][null/not null]);   
  72.   
  73. --给表添加字段   
  74. ALTER TABLE table_name add (col_name varchar2(32));   
  75.   
  76. --删除表字段   
  77. ALTER TABLE table_name DROP (col_name);   
  78.   
  79. -- 清空回收站   
  80. purge recyclebin;  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值