查看mysql队列脚本_常用查询脚本

1.查看表大小,索引大小,获取表的DDL创建脚本

select bytes/1024/1024 from dba_segments where segment_name='table_name' and owner='username';

select bytes/1024/1024 from dba_segments where segment_name='index_name' and owner='username';

select dbms_metadata.get_ddl('TABLE','TABLE_NAME','USERNAME') from dual;

2.查看分区表大小,获取分区表的DDL创建脚本

select segment_name,PARTITION_NAME,bytes/1024/1024 from user_segments where segment_name='SALES_INTERVAL';

set pages 999 lines 180

set long 99999

select dbms_metadata.get_ddl('TABLE','SALES_INTERVAL','SH') from dual;

3.查看表的索引列,索引名,获取索引的DDL创建脚本

select a.table_name,b.index_name,b.column_name from user_indexes a ,user_ind_columns b where a.table_name=b.table_name and a.index_name = b.index_name and a.table_owner=upper('SCOTT') and a.table_name='EMP';

TABLE_NAME INDEX_NAME COLUMN_NAM

------------------------------ ------------------------------ ----------

EMP PK_EMP EMPNO

或者:

select table_name,index_name from user_indexes where table_name='EMP';

TABLE_NAME INDEX_NAME COLUMN_NAM

------------------------------ ------------------------------ ----------

EMP PK_EMP EMPNO

select index_name,column_name from user_ind_columns where index_name='PK_EMP';

INDEX_NAME COLUMN_NAM

------------------------------ ----------

PK_EMP EMPNO

SQL> CONN / AS SYSDBA

Connected.

SQL> set pages 1000 lines 180

SQL> set long 99999

SQL> select dbms_metadata.get_ddl('INDEX','PK_EMP','SCOTT') from dual;

DBMS_METADATA.GET_DDL('INDEX','PK_EMP','SCOTT')

--------------------------------------------------------------------------------

CREATE UNIQUE INDEX "SCOTT"."PK_EMP" ON "SCOTT"."EMP" ("EMPNO")

PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE "USERS"

4.查看分区表的分区字段,各个区的大小

SQL> select * from dba_part_key_columns where name='SALES_INTERVAL' and owner='SH';

SELECT * FROM all_PART_KEY_COLUMNS;

SELECT * FROM all_PART_KEY_COLUMNS t where t.owner='数据库用户名' and t.name in(select table_name from dba_tables where partitioned='YES' and owner='数据库用户名' );

大小:

select TABLE_NAME,PARTITION_NAME,HIGH_VALUE from dba_tab_partitions where table_name='SALES_INTERVAL';

5.查看数据库用户的系统权限,角色权限,表权限

select * from dba_sys_privs;

select * from dba_role_privs;

SELECT * FROM user_tab_privs_recd;

6.查看数据库各等待事件的个数

select wait_class#,wait_class_id,wait_class,count(*) as "count" from v$event_name group by wait_class#,wait_class_id,wait_class order by wait_class#;

7.查看用户和主机的连接数量

select machine,count(*) from v$session group by machine;

8.查看数据库的阻塞队列;如何kill 掉阻塞会话

select sid,serial#,username from v$session where sid in (select blocking_session from v$session);

alter system kill session 'sid,serial#';

9.查看数据库会话正在执行的SQL

select t2.sid, t2.SERIAL#, t1.SPID OS_PID,t3.SQL_ID, t2.EVENT,t2.P1TEXT, t2.P1, t2.p2TEXT, t2.P2,t2.p3,t3.SQL_TEXT,t2.P3, t3.SQL_FULLTEXT from v$process t1, v$session t2, v$sql t3 where t1.ADDR = t2.PADDR and t2.STATUS = 'ACTIVE' and t2.SQL_ID = t3.SQL_ID;

10.查看数据库正在执行的SQL的执行计划

执行SQL语句:

select * from hr.employees;

SELECT sql_id, hash_value, child_number, SUBSTR(sql_text,1,40) Text FROM v$sql WHERE sql_text LIKE 'select * from hr.employees;';

set linesize 200

set pagesize 50

select * from table(dbms_xplan.display_cursor('sql_id',0,'TYPICAL'));

11.查看表空间使用率(自动扩展的数据文件与非自动扩展的文件表空间的使用率)

SELECT D.TABLESPACE_NAME,

SPACE "SUM_SPACE(M)",

SPACE-NVL(FREE_SPACE,0) "USED_SPACE(M)",

FREE_SPACE "FREE_SPACE(M)",

ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100) "USED_RATE(%)"

FROM

(SELECT TABLESPACE_NAME,

ROUND(SUM(BYTES)/(1024*1024)) SPACE,

SUM(BLOCKS) BLOCKS

FROM DBA_DATA_FILES

GROUP BY TABLESPACE_NAME) D,

(SELECT TABLESPACE_NAME,

ROUND(SUM(BYTES)/(1024*1024)) FREE_SPACE

FROM DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME) F

WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)

ORDER BY "USED_RATE(%)" desc;

12.查看ASM磁盘组的总大小,剩余空间,

select name,total_mb,free_mb from v$asm_diskgroup;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值