您现在的位置是:首页 >

数据库中的冗余数据是指可 数据库进阶:数据库管理员日常工作中必备的sql列表[3]

火烧 2021-08-02 00:14:53 1057
数据库进阶:数据库管理员日常工作中必备的 ql列表[3]    查看用户的回滚段的信息   elect u er ame r ame from v$ e io v$tra actio t v$roll

数据库进阶:数据库管理员日常工作中必备的sql列表[3]  

   查看用户的回滚段的信息

  select s username rn name from v$session s v$transaction t v$rollstat r v$rollname rn  where s saddr = t ses_addr and t xidusn = r usn and r usn = rn usn

   生成执行计划

  explain plan set statement_id= a for & ;

   查看执行计划

  select lpad( *(level ))||operation operation options OBJECT_NAME position from plan_table  start with id= and statement_id= a connect by prior id=parent_id and statement_id= a

   查看内存中存的使用

  select decode(greatest(class ) decode(class Data Sort Header to_char(class)) Rollback ) Class   sum(decode(bitand(flag ) )) Not Dirty sum(decode(bitand(flag ) )) Dirty   sum(dirty_queue) On Dirty count(*) Total   from x$bh group by decode(greatest(class ) decode(class Data Sort Header to_char(class)) Rollback );

   查看表空间状态

  select tablespace_name extent_management segment_space_management from dba_tablespaces;  select table_name freelists freelist_groups from user_tables;

   查看系统请求情况

数据库中的冗余数据是指可 数据库进阶:数据库管理员日常工作中必备的sql列表[3]

  SELECT DECODE (name summed dirty write queue length value)/  DECODE (name write requests value) Write Request Length   FROM v$sysstat WHERE name IN ( summed dirty queue length write requests ) and value> ;

   计算data buffer命中率

  select a value + b value logical_reads c value phys_reads   round( * ((a value+b value) c value) / (a value+b value)) BUFFER HIT RATIO   from v$sysstat a v$sysstat b v$sysstat c  where a statistic# = and b statistic# = and c statistic# = ;  SELECT name ( (physical_reads/(db_block_gets+consistent_gets)))* H_RATIO FROM v$buffer_pool_statistics;

   查看内存使用情况

  select least(max(b value)/( * ) sum(a bytes)/( * )) shared_pool_used   max(b value)/( * ) shared_pool_size greatest(max(b value)/( * ) sum(a bytes)/( * ))   (sum(a bytes)/( * )) shared_pool_avail ((sum(a bytes)/( * ))/(max(b value)/( * )))* avail_pool_pct  from v$sgastat a v$parameter b where (a pool= shared pool and a name not in ( free memory )) and b name= shared_pool_size ;

   查看用户使用内存情况

  select username sum(sharable_mem) sum(persistent_mem) sum(runtime_mem)  from sys v_$sqlarea a dba_users b  where a parsing_user_id = b user_id group by username;

   查看对象的缓存情况

  select OWNER NAMESPACE TYPE NAME SHARABLE_MEM LOADS EXECUTIONS LOCKS PINS KEPT  from v$db_object_cache where type not in ( NOT LOADED NON EXISTENT VIEW TABLE SEQUENCE )  and executions> and loads> and kept= NO order by owner namespace type executions desc;  select type count(*) from v$db_object_cache group by type;

   查看库缓存命中率

  select namespace gets gethitratio* gethitratio pins pinhitratio* pinhitratio RELOADS INVALIDATIONS from v$librarycache

   查看某些用户的hash

  select a username count(b hash_value) total_hash count(b hash_value) count(unique(b hash_value)) same_hash   (count(unique(b hash_value))/count(b hash_value))* u_hash_ratio  from dba_users a v$sqlarea b where a user_id=b parsing_user_id group by a username;

   查看字典命中率

  select (sum(getmisses)/sum(gets)) ratio from v$rowcache;

   查看undo段的使用情况

  SELECT d segment_name extents optsize shrinks aveshrink aveactive d status  FROM v$rollname n v$rollstat s dba_rollback_segs d  WHERE d segment_id=n usn(+) and d segment_id=s usn(+);

   无效的对象

  select owner object_type object_name from dba_objects where status= INVALID ;  select constraint_name table_name from dba_constraints where status= INVALID ;

   求出某个进程 并对它进行跟踪

  select s sid s serial# from v$session s v$process p where s paddr=p addr and p spid=& ;  exec dbms_system SET_SQL_TRACE_IN_SESSION(& & true);  exec dbms_system SET_SQL_TRACE_IN_SESSION(& & false);

   求出锁定的对象

  select do object_name session_id process locked_mode  from v$locked_object lo dba_objects do where lo object_id=do object_id;

   求当前session的跟踪文件

  SELECT p value || / || p value || _ora_ || p spid || ora filename  FROM v$process p v$session s v$parameter p v$parameter p   WHERE p name = user_dump_dest AND p name = instance_name   AND p addr = s paddr AND s audsid = USERENV( SESSIONID ) AND p background is null AND instr(p program CJQ ) = ;

   求对象所在的文件及块号

  select segment_name header_file header_block  from dba_segments where segment_name like & ;

   求对象发生事务时回退段及块号

  select a segment_name a header_file a header_block  from dba_segments a dba_rollback_segs b  where a segment_name=b segment_name and b segment_id= &

   i的在线重定义表

    exec dbms_redefinition can_redef_table( cybercafe announcement );  create table anno as select * from announcement  exec dbms_redefinition start_redef_table( cybercafe announcement anno );  exec dbms_redefinition sync_interim_table( cybercafe announcement anno );  exec dbms_redefinition finish_redef_table( cybercafe announcement anno );  drop table anno   exec dbms_redefinition abort_redef_table( cybercafe announcement anno );

   常用的logmnr脚本(cybercafe)

  exec sys dbms_logmnr_d build(dictionary_filename => esal dictionary_location => /home/oracle/logmnr );  exec sys dbms_logmnr add_logfile(logfilename=> /home/oracle/oradata/esal/archive/ _ dbf ptions=>sys dbms_logmnr new);  exec sys dbms_logmnr add_logfile(logfilename=> /home/oracle/oradata/esal/archive/ _ dbf ptions=>sys dbms_logmnr addfile);  exec sys dbms_logmnr add_logfile(logfilename=> /home/oracle/oradata/esal/archive/ _ dbf ptions=>sys dbms_logmnr addfile);  exec sys dbms_logmnr add_logfile(logfilename=> /home/oracle/oradata/esal/archive/ _ dbf ptions=>sys dbms_logmnr addfile);  exec sys dbms_logmnr start_logmnr(dictfilename=> /home/oracle/logmnr/esal ora );  create table logmnr as select * from v$logmnr_contents;

   与权限相关的字典

  ALL_COL_PRIVS表示列上的授权 用户和PUBLIC是被授予者  ALL_COL_PRIVS_MADE表示列上的授权 用户是属主和被授予者  ALL_COL_RECD表示列上的授权 用户和PUBLIC是被授予者  ALL_TAB_PRIVS表示对象上的授权 用户是PUBLIC或被授予者或用户是属主  ALL_TAB_PRIVS_MADE表示对象上的权限 用户是属主或授予者  ALL_TAB_PRIVS_RECD表示对象上的权限 用户是PUBLIC或被授予者  DBA_COL_PRIVS数据库列上的所有授权  DBA_ROLE_PRIVS显示已授予用户或其他角色的角色  DBA_SYS_PRIVS已授予用户或角色的系统权限  DBA_TAB_PRIVS数据库对象上的所有权限  ROLE_ROLE_PRIVS显示已授予用户的角色  ROLE_SYS_PRIVS显示通过角色授予用户的系统权限  ROLE_TAB_PRIVS显示通过角色授予用户的对象权限  SESSION_PRIVS显示用户现在可利用的所有系统权限  USER_COL_PRIVS显示列上的权限 用户是属主 授予者或被授予者  USER_COL_PRIVS_MADE显示列上已授予的权限 用户是属主或授予者  USER_COL_PRIVS_RECD显示列上已授予的权限 用户是属主或被授予者  USER_ROLE_PRIVS显示已授予给用户的所有角色  USER_SYS_PRIVS显示已授予给用户的所有系统权限  USER_TAB_PRIVS显示已授予给用户的所有对象权限  USER_TAB_PRIVS_MADE显示已授予给其他用户的对象权限 用户是属主  USER_TAB_PRIVS_RECD显示已授予给其他用户的对象权限 用户是被授予者

   如何用dbms_stats分析表及模式?

  exec dbms_stats gather_schema_stats(ownname=> &USER_NAME estimate_percent=>dbms_stats auto_sample_size   method_opt => for all columns size auto degree=> DBMS_STATS DEFAULT_DEGREE);  exec dbms_stats gather_schema_stats(ownname=> &USER_NAME estimate_percent=>dbms_stats auto_sample_size cascade=>true);  

lishixinzhi/Article/program/SQL/201311/16148  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码