1.数据库内存配置检查
sqlplus / as sysdbashow parameter memshow parameter sgashow parameter pga
2.数据库参数配置检查
---v$parameter ---session---v$system_parameter ---system
set line 100set pagesize 100col name for a30col value for a20col display_value for a20col isdefault for a20select name, value, display_value, isdefaultfrom v$system_parameterwhere name in ('audit_trail','audit_sys_operations','cluster_database_instances','cpu_count','cursor_sharing','db_recovery_file_dest_size','deferred_segment_creation','disk_asynch_io','event','enable_ddl_logging','filesystemio_options','job_queue_processes','log_archive_dest_1','log_archive_format','memory_max_target','memory_target','nls_language','optimizer_dynamic_sampling','optimizer_index_cost_adj','processes','parallel_force_local','parallel_max_servers','pga_aggregate_target','query_rewrite_enabled','sec_case_sensitive_logon','sessions','sga_max_size','sga_target','utl_file_dir','undo_management','undo_retention','undo_tablespace','large_pool_size','resource_limit','resource_manager_plan','max_dump_file_size','control_file_record_keep_time','result_cache_max_size','local_listener','resource_limit') order by 1;
3.常见隐含参数
set line 200col name for a40col describ for a50SELECT x.ksppinm as name,y.ksppstvl as value,y.ksppstdf as isdefault,x.ksppdesc describFROM SYS.x$ksppi x, SYS.x$ksppcv yWHERE x.inst_id = USERENV('Instance')AND y.inst_id = USERENV('Instance')AND x.indx = y.indxAND x.ksppinm in ('_allow_resetlogs_corruption','_b_tree_bitmap_plans','_corrupted_rollback_segments','_datafile_write_errors_crash_instance','_gc_policy_time','_gc_undo_affinity','_gc_defer_time','_hash_join_enabled','_offline_rollback_segments','_px_use_large_pool','_memory_imm_mode_without_autosga','_partition_large_extents','_optimizer_null_aware_antijoin','_optim_peek_user_binds','_optimizer_mjc_enabled','_optimizer_use_feedback','_optimizer_join_elimination_enabled','_optimizer_ads_use_result_cache','_optimizer_adaptive_plans','_optimizer_adaptive_cursor_sharing','_optimizer_extended_cursor_sharing','_optimizer_extended_cursor_sharing_rel','_optimizer_aggr_groupby_elim','_optimizer_reduce_groupby_key','_optimizer_cost_based_transformation','_use_adaptive_log_file_sync','_undo_autotune')order by 1;
4.event事件
col owner for a40col name for a30set lines 200 pages 1000col pname for a10col current_value for a85col check_result for a42select nam.inst_id,nam.ksppinm pname,val.ksppstvl current_value,caseWHEN nam.ksppinm = 'event' andval.ksppstvl ='28401 trace name context forever,level 1, 10949 trace name context forever,level 1' then'28401,10949 event is OK! Manual check NAS event (10298)'else'INCORRECT'end as check_resultfrom x$ksppi nam, x$ksppsv valwhere nam.indx = val.indxand nam.ksppinm IN ('event')/
5.SGA、PGA使用情况
select name,total,round(total-free,2) used,round(free,2) free,round((total-free)/total*100,2) pctused from(select 'SGA' name,(select sum(value)/1024/1024 from v$sga) total,(select sum(bytes/1024/1024) from v$sgastat where name='free memory') free from dual)unionselect name,total,round(used,2) used,round(total-used,2) free,round(used/total*100,2) pctused from(select 'PGA' name,(select value/1024/1024 from v$pgastat where name='aggregate PGA target parameter') total,(select value/1024/1024 used from v$pgastat where name='total PGA allocated') used from dual);
6.查看正在执行的SQL
set line 300set pagesize 1000select SID,SERIAL#,SQL_ID,LAST_CALL_ET,status,event from v$session where STATUS='ACTIVE' and username is not null and event not in ('SQL*Net message to client','SQL*Net message from client') order by LAST_CALL_ET;
select * from v$sql where address in (select sql_address from v$session);7.通过sql_id查看sql的历史执行计划
set linesize 150set pagesize 2000select * from TABLE(dbms_xplan.display_cursor('&SQL_ID'));或select * from TABLE(dbms_xplan.display_cursor('&SQL_ID', &CHILD));select * from table(dbms_xplan.display_awr('&sql_id')) ;
8.查看正在执行SQL和执行时间
select v.last_call_et,v.username,v.machine,v.program,v.module,v.sid,sql.sql_text,sql.sql_fulltext,sql.sql_id,sql.disk_reads,v.eventfrom v$session v, v$sql sqlwhere v.sql_address = sql.addressand v.last_call_et > 0and v.status = 'ACTIVE'and v.username is not null;
9.统计信息
表级别统计信息
EXEC DBMS_STATS.GATHER_TABLE_STATS(ownname => 'cjc',tabname => 't1',estimate_percent=>100,method_opt=> 'FOR ALL INDEXED COLUMNS',CASCADE=> TRUE,no_invalidate=> FALSE,degree=>);EXEC DBMS_STATS.GATHER_TABLE_STATS('OWNER','TABLE',estimate_percent=>30,CASCADE=> TRUE);dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true);EXEC DBMS_STATS.GATHER_TABLE_STATS('OWNER','TABLE',estimate_percent=>30,CASCADE=> TRUE);
10.格式
spool常用的设置
set colsep' '; //域输出分隔符set echo off; //显示start启动的脚本中的每个sql命令,缺省为onset feedback off; //回显本次sql命令处理的记录条数,缺省为onset heading off; //输出域标题,缺省为onset pagesize 0; //输出每页行数,缺省为24,为了避免分页,可设定为0。set termout off; //显示脚本中的命令的执行结果,缺省为onset trimout on; //去除标准输出每行的拖尾空格,缺省为offset trimspool on; //去除重定向(spool)输出每行的拖尾空格,缺省为off
SQL> set timing on; //设置显示“已用时间:XXXX”SQL> set autotrace on-; //设置允许对执行的sql进行分析SQL> set trimout on; //去除标准输出每行的拖尾空格,缺省为offSQL> set trimspool on; //去除重定向(spool)输出每行的拖尾空格,缺省为offSQL> set echo on //设置运行命令是是否显示语句SQL> set echo off; //显示start启动的脚本中的每个sql命令,缺省为onSQL> set feedback on; //设置显示“已选择XX行”SQL> set feedback off; //回显本次sql命令处理的记录条数,缺省为onSQL> set colsep''; //输出分隔符SQL> set heading off; //输出域标题,缺省为onSQL> set pagesize 0; //输出每页行数,缺省为24,为了避免分页,可设定为0。SQL> set linesize 80; //输出一行字符个数,缺省为80SQL> set numwidth 12; //输出number类型域长度,缺省为10SQL> set termout off; //显示脚本中的命令的执行结果,缺省为onSQL> set serveroutput on; //设置允许显示输出类似dbms_outputSQL> set verify off //可以关闭和打开提示确认信息old 1和new 1的显示.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




