TA的每日心情 | 开心 2023-8-9 11:05 |
---|
|
一步一步地解释如何在数据库环境上动态生成SQLNET(服务器跟踪)跟踪。
1.主备库配置sqlnet.ora
- TRACE_DIRECTORY_SERVER = /TMP
- DIAG_ADR_ENABLED = OFF
复制代码 2.主备库开启archive log tracing
2.1清除/移动主目录和备用目录的现有跟踪转储目录。
2.2在主上,可选择推迟REDO传输。
- SQL> alter system set log_archive_dest_state_2=defer;
- SQL> alter system switch logfile;
- SQL> alter system set log_archive_trace=4095;
复制代码 2.3重启arch进程
- ps -ef|grep ora_arc|grep -v grep|awk '{print $2}'|xargs -i kill -9 {}
复制代码 3.在主节点上,重新启用目标以阻止重做传输以重新启动。
- SQL> alter system set log_archive_dest_state_2=enable;
- SQL> alter system switch logfile;
复制代码 5.在日志传输期间,监视待机状态上的v$托管_待机视图,以捕获ARCH/RFS关系。
- SQL> select inst_id, process, pid, client_process, client_pid, status,thread#,sequence# from gv$managed_standby;
复制代码 6.对于动态SQLNET跟踪
6.1 a) For 11.1.0.7, 11.2.0.2, 11.2.0.3
- On primary side,
- oradebug setospid <client PID from the above query>
- oradebug dump event_tsm_test 16
- oradebug tracefile_name
- To unset the tracing,
- oradebug dump event_tsm_test 0
- On standby side,
- oradebug setospid <PID from the above query>
- oradebug dump event_tsm_test 16
- oradebug tracefile_name
复制代码 b) From 11.2.0.4 onwards,
- On primary side,
- oradebug setospid <client PID from the above query>
- oradebug dump sqlnet_server_trace 16
- oradebug tracefile_name
- On standby side,
- oradebug setospid <PID from the above query>
- oradebug dump sqlnet_server_trace 16
- oradebug tracefile_name
- To unset the tracing on Primary and Standby,
- oradebug dump sqlnet_server_trace 0
复制代码 7.一旦生成了错误,就应该停止跟踪。
- Set LOG_ARCHIVE_TRACE=0
- on both primary and standby
- Find and kill the ARCn processes per #2
- Re-enable dest and switch log per #3
复制代码
|
|