1.环境准备
--下载安装包,解压
[oracle@ngppdg ~]$ tar -xvf dg.tar
--需要安装ksh,否则执行./dg会报错
[oracle@ngppdg dgmenu]$ ./dg -bash: ./dg: /bin/ksh: bad interpreter: Too many levels of symbolic links
--ksh和pdksh冲突,先卸载pdksh
[root@ngppdg ~]# yum remove pdksh-5.2.14-21.x86_64
--再安装ksh
[root@ngppdg ~]# yum install ksh
2.修改dg menu配置文件
[oracle@ngppdg dgmenu]$ vim dg.conf # - For RAC configuration, use the VIP for PRIMARY_HOST and STANDBY_HOST # 1. You may have to use the fully qualified hostname.domain_name for PRIMARY_HOST and STANDBY_HOST # 2. Typically the PRIMARY_DB_SERVICE will be same as the PRIMARY_DB # PRIMARY_DB_SERVICE can be blank # PRIMARY_HOST=ngpdb01 ##主库所在的主机名 PRIMARY_DB=ngpdb ##主库db_name PRIMARY_DB_SERVICE=ngpdb ##主库的service名称,即tnsname.ora里面的连接串别名 PRIMARY_PORT=1521 ##主库监听的端口 STANDBY_HOST=ngppdg ##备库所在的主机名 STANDBY_DB=ngppdg ##备库db_name STANDBY_DB_SERVICE=ngppdg ##备库的service名称,即tnsname.ora里面的连接串别名 STANDBY_PORT=1521 ##备库监听的端口 #PRIMARY_DOMAIN= PRIMARY_DB_INSTANCE=ngpdb1 ##主库的实例名称,这里rac主库节点1的实例名 STANDBY_DB_INSTANCE=ngppdg ##备库的实例名 # # - Bystander Physical Standby Database Configuration ##第二个物理备库配置,只有一个备库的话不需要配置 # - SECOND_STANDBY_HOST=ngpdb03 SECOND_STANDBY_DB=ngpdb SECOND_STANDBY_DB_SERVICE=ngpdbracdg1 SECOND_STANDBY_PORT=1521 SECOND_STANDBY_DB_INSTANCE=ngpdbracdg1 # # - Disk Group information ##磁盘组的相关信息,这里如果是单实例并且未使用asm,填写数据文件路径即可。 # - PRIMARY_DATA_DG=+NGPDATA01 STANDBY_DATA_DG=/oradata/ngppdg #PRIMARY_FLASH_DG=+NGPDATA01 #STANDBY_FLASH_DG= # # - Valid entries for FS=FS for file system or ASM for automated storage management FS=ASM # # - Primarily used for the DG Broker but used at multiple places # 1. If you are not RAC, please make PRIMARY_SERVER and STANDDBY_SERVER # equal to PRIMARY_HOST and STANDBY_HOST respectfully PRIMARY_ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 ##主库的ORACLE_HOME STANDBY_ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 ##备库的ORACLE_HOME
如果只是使用部份功能监控查看物理备库的一些状态,除第一部分主备库的一些参数以外,其他的可以不用设置。
3.配置登录主备库的密码文件
配置存储SYS密码的文件(出于安全性考虑此步骤可以省略,在查看具体监控内容时需要输入sys密码)
[oracle@ngppdg dgmenu]$ vim .syspasswd
添加密码后,wq保存退出。
4.登录dgmenu,执行查看物理备库相关信息
--执行./dg登录
[oracle@ngppdg dgmenu]$ ./dg # ------------------------------------------------------------------------- # # Data Guard Menu System # # Primary Host: ngpdb01 Standby Host: ngppdg # Primary DB: ngpdb Standby DB: ngppdg # ------------------------------------------------------------------------- # # 10. Launch Preliminary Check Submenu # # ------------------------------------------------------------------------- # # 20. Launch Build Standby Database Submenu # # ------------------------------------------------------------------------- # # 30. Launch the Data Guard Broker Submenu # # ------------------------------------------------------------------------- # # 40. Launch Monitor Physical Standby Data Guard Submenu # # ------------------------------------------------------------------------- # # 50. Launch Monitor Logical Standby Data Guard Submenu # # ------------------------------------------------------------------------- # # 60. Launch Automatic Diagnostic Repository (ADR) CLI Submenu # # ------------------------------------------------------------------------- # # 100. Launch RMAN Backup to Disk Submenu # # ------------------------------------------------------------------------- # # x. Exit # # ------------------------------------------------------------------------- # # Enter Task Number:
--输入40,进入监控物理备库
# Enter Task Number: 40 # ------------------------------------------------------------------------- # # Data Guard Physical Standby Submenu: dg_physical_standby_menu.ksh # Primary Host: ngpdb01 Standby Host: ngppdg # ------------------------------------------------------------------------- # # # # 10. Check current SCN on primary and standby databases # # 20. Check Data Guard Status View for errors and fatal messages # # 30. Check Managed Recovery Process Status # # 40. Check for missing archive logs # # 50. Check archive log gaps on the standby database # # 60. Check average apply rate / active apply rate # # 70. Check transport / apply lag # # 80. How far behind is my Data Guard in terms of time? # # ------------------------------------------------------------------------- # # x. Exit # # ------------------------------------------------------------------------- # # Enter Task Number:
--输入60,可以查看redo apply的速率:
# Enter Task Number: 60 # ----------------------------------------------------------------------- # # Executing dg_apply_rate.sql on DB: ngppdg # ----------------------------------------------------------------------- # START_TIME ITEM SOFAR UNITS --------------------------------------------------------------- -------------------- ---------- --------------- 19-AUG-20 08:39:55 Active Apply Rate 791 KB/sec 19-AUG-20 08:39:55 Average Apply Rate 112 KB/sec 19-AUG-20 08:39:55 Redo Applied 211671 Megabytes 19-AUG-20 08:35:37 Active Apply Rate 9974 KB/sec 19-AUG-20 08:35:37 Average Apply Rate 9890 KB/sec 19-AUG-20 08:35:37 Redo Applied 1458 Megabytes 6 rows selected. [ ... Press any key to continue ... ]
--输入70,查看transport和apply的延迟:
# ------------------------------------------------------------------------- # # Data Guard Physical Standby Submenu: dg_physical_standby_menu.ksh # Primary Host: ngpdb01 Standby Host: ngppdg # ------------------------------------------------------------------------- # # # # 10. Check current SCN on primary and standby databases # # 20. Check Data Guard Status View for errors and fatal messages # # 30. Check Managed Recovery Process Status # # 40. Check for missing archive logs # # 50. Check archive log gaps on the standby database # # 60. Check average apply rate / active apply rate # # 70. Check transport / apply lag # # 80. How far behind is my Data Guard in terms of time? # # 90. Check archive log generate rates # # ------------------------------------------------------------------------- # # x. Exit # # ------------------------------------------------------------------------- # # Enter Task Number: 70 # ----------------------------------------------------------------------- # # Executing dg_lag.sql on DB: ngppdg # ----------------------------------------------------------------------- # NAME VALUE UNIT ------------- -------------------- ------------------------------ TIME_COMPUTED ------------------------------------------------------------------------------------------ transport lag +00 00:00:00 day(2) to second(0) interval 09/14/2020 11:37:53 apply lag +00 00:00:00 day(2) to second(0) interval 09/14/2020 11:37:53
5.自定义菜单,配置相关监控项
该工具实际上是通过ksh和sql脚本实现的,查看dg可执行文件,内容如下:
#!/bin/ksh
which sqlplus >/dev/null 2>&1
if [ "$?" -eq 0 ]; then
export SQLPLUS_FOUND=TRUE
else
echo "sqlplus is not in your PATH environment variable"
exit 1;
fi
## [ "$ORACLE_SID" = "" ] && { echo "ORACLE_SID is not specified"; echo "Exiting...."; exit 1; }
export CONNECT_STRING="/ as sysdba"
export ORACLE_PATH=$PWD
#echo "Present working directory is: $PWD"
[ "$CONF" = "" ] && export CONF=$PWD/dg.conf
[ ! -f "$CONF" ] && { echo "Configuration file: $CONF is missing."; echo "Exiting."; exit 1; }
. $CONF
. $PWD/dg_remote_connect.ksh
function next_menu
{
#echo "# ----------------------------------------------------------------------- #"
echo "[ ... Press any key to continue ... ]"
read next
}
function main_menu
{
echo "# ------------------------------------------------------------------------- #"
echo "# Data Guard Menu System #"
echo "# Primary Host: $PRIMARY_SERVER Standby Host: $STANDBY_SERVER "
echo "# Primary DB: $PRIMARY_DB Standby DB: $STANDBY_DB "
echo "# ------------------------------------------------------------------------- #"
echo "# 10. Launch Preliminary Check Submenu #"
echo "# ------------------------------------------------------------------------- #"
echo "# 20. Launch Build Standby Database Submenu #"
echo "# ------------------------------------------------------------------------- #"
echo "# 30. Launch the Data Guard Broker Submenu #"
echo "# ------------------------------------------------------------------------- #"
echo "# 40. Launch Monitor Physical Standby Data Guard Submenu #"
echo "# ------------------------------------------------------------------------- #"
echo "# 50. Launch Monitor Logical Standby Data Guard Submenu #"
echo "# ------------------------------------------------------------------------- #"
echo "# 60. Launch Automatic Diagnostic Repository (ADR) CLI Submenu #"
echo "# ------------------------------------------------------------------------- #"
echo "# 100. Launch RMAN Backup to Disk Submenu #"
echo "# ------------------------------------------------------------------------- #"
#echo "# 200. Backup Primary based on Standby SCN / Recover Standby Database #"
#echo "# ------------------------------------------------------------------------- #"
echo "# x. Exit #"
echo "# ------------------------------------------------------------------------- #"
echo "# Enter Task Number: "
read x
ans=`echo $x | tr '[a-z]' '[A-Z]'`
#
case "$ans"
in
10 )
./dg_preliminary_check_menu.ksh
;;
20)
./dg_prepare_standby_menu.ksh
next_menu;
;;
30)
./dg_broker_menu.ksh
next_menu;
;;
40 )
./dg_physical_standby_menu.ksh
;;
50 )
./dg_logical_menu.ksh
;;
60 )
./dg_adr_menu.ksh
;;
100 )
./dg_rman2disk_menu.ksh
;;
200 )
./dg_backup_from_standby_scn.ksh
next_menu;
;;
q|X|x )
exit;
;;
* )
main_menu;
;;
esac
}
while true
do
main_menu
done
相关的ksh脚本如下:
[oracle@ngppdg dgmenu]$ ls -l | grep ksh -rwx------. 1 oracle oinstall 11605 Feb 16 2011 dg_adr_menu.ksh -rwx------. 1 oracle oinstall 904 Feb 16 2011 dg_adrci_cli.ksh -rw-r--r--. 1 oracle oinstall 178 Feb 16 2011 dg_adrci_purge.ksh -rwx------. 1 oracle oinstall 1761 Feb 16 2011 dg_alter_system.ksh -rwx------. 1 oracle oinstall 3936 Mar 28 2011 dg_asm_cp.ksh -rw-r--r--. 1 oracle oinstall 2641 Sep 14 2010 dg_asm_cp.rac5501-vip.ksh -rw-r--r--. 1 oracle oinstall 7019 Mar 28 2011 dg_asm_cp.rac561-vip.ksh -rwx------. 1 oracle oinstall 2719 Feb 16 2011 dg_backup_from_standby_scn.ksh -rwx------. 1 oracle oinstall 2151 Mar 18 2011 dg_bdp.ksh -rwx------. 1 oracle oinstall 10884 Mar 1 2011 dg_broker_menu.ksh -rwx------. 1 oracle oinstall 2953 Feb 16 2011 dg_cp_database.ksh -rwx------. 1 oracle oinstall 296 Feb 16 2011 dg_determine_adrci_diag_home.ksh -rwx------. 1 oracle oinstall 2342 Apr 5 2011 dg_duplicate_database.ksh -rwx------. 1 oracle oinstall 1125 Feb 16 2011 dg_generate_listener_broker.ksh -rwx------. 1 oracle oinstall 315 Feb 16 2011 dg_generate_restore_database.ksh -rwx------. 1 oracle oinstall 4116 Feb 16 2011 dg_generate_standby_redo.ksh -rwx------. 1 oracle oinstall 2896 Feb 16 2011 dg_generate_standby_redo.ksh.27AUG10 -rw-r--r--. 1 oracle oinstall 3378 Feb 16 2011 dg_generate_standby_redo_new.ksh -rwx------. 1 oracle oinstall 1078 Feb 16 2011 dg_generate_tnsnames.ksh -rwx------. 1 oracle oinstall 1386 Feb 16 2011 dg_log_archive_trace.ksh -rwx------. 1 oracle oinstall 5583 Feb 16 2011 dg_logical_menu.ksh -rwx------. 1 oracle oinstall 3631 Sep 14 11:15 dg_physical_standby_menu.ksh -rwx------. 1 oracle oinstall 6576 Feb 16 2011 dg_preliminary_check_menu.ksh -rwx------. 1 oracle oinstall 9002 Apr 5 2011 dg_prepare_standby_menu.ksh -rwx------. 1 oracle oinstall 2122 Mar 26 2011 dg_remote_connect.ksh -rwx------. 1 oracle oinstall 2635 Feb 26 2011 dg_remote_connect.ksh.25FEB11 -rwx------. 1 oracle oinstall 2009 Feb 16 2011 dg_restore_arch_from_scn.ksh -rwx------. 1 oracle oinstall 7634 Feb 16 2011 dg_rman2disk.ksh -rwx------. 1 oracle oinstall 4127 Feb 16 2011 dg_rman2disk_menu.ksh -rwx------. 1 oracle oinstall 3207 Feb 16 2011 dg_time_lag.ksh -rwxr-xr-x. 1 oracle oinstall 1059 Feb 16 2011 logical_check_every_5min.ksh -rwx------. 1 oracle oinstall 3813 Feb 16 2011 logical_lag_alert.ksh -rwxr-xr-x. 1 oracle oinstall 12106 Mar 26 2011 rman2disk.ksh -rwxr-xr-x. 1 oracle oinstall 10013 Feb 16 2011 rman2disk_fs.ksh -rwx------. 1 oracle oinstall 135 Feb 16 2011 sql.ksh -rw-r--r--. 1 oracle oinstall 124 Feb 16 2011 start_observer.ksh
通过输入对应的task number,调用对应的ksh脚本。例如输入40,调用当前目录下dg_physical_standby_menu.ksh脚本。查看dg_physical_standby_menu.ksh脚本内容:
. $CONF
. $PWD/dg_remote_connect.ksh
function next_menu
{
#echo "# ----------------------------------------------------------------------- #"
echo "[ ... Press any key to continue ... ]"
read next
}
function main_menu
{
echo "# ------------------------------------------------------------------------- #"
echo "# Data Guard Physical Standby Submenu: $FN "
echo "# Primary Host: $PRIMARY_SERVER Standby Host: $STANDBY_SERVER "
echo "# ------------------------------------------------------------------------- #"
echo "# #"
echo "# 10. Check current SCN on primary and standby databases #"
echo "# 20. Check Data Guard Status View for errors and fatal messages #"
echo "# 30. Check Managed Recovery Process Status #"
echo "# 40. Check for missing archive logs #"
echo "# 50. Check archive log gaps on the standby database #"
echo "# 60. Check average apply rate / active apply rate #"
echo "# 70. Check transport / apply lag #"
echo "# 80. How far behind is my Data Guard in terms of time? #"
echo "# 90. Check archive log generate rates #"
echo "# ------------------------------------------------------------------------- #"
echo "# x. Exit #"
echo "# ------------------------------------------------------------------------- #"
echo "# Enter Task Number: "
read x
ans=`echo $x | tr '[a-z]' '[A-Z]'`
#
case "$ans"
in
10 )
check_sys_pass;
remote_connect P dg_check_current_scn.sql;
remote_connect S dg_check_current_scn.sql;
next_menu;
;;
20 )
check_sys_pass;
remote_connect P dg_check_dg_status.sql;
remote_connect S dg_check_dg_status.sql;
next_menu;
;;
30 )
check_sys_pass;
remote_connect S dg_check_mrp.sql;
next_menu;
;;
40 )
check_sys_pass;
remote_connect P dg_check_missing_arc.sql;
remote_connect S dg_check_missing_arc.sql;
next_menu;
;;
50 )
check_sys_pass;
# -- remote_connect P dg_check_gap.sql;
remote_connect S dg_check_gap.sql;
next_menu;
;;
60 )
check_sys_pass;
remote_connect S dg_apply_rate.sql;
next_menu;
;;
70 )
check_sys_pass;
remote_connect S dg_lag.sql;
next_menu;
;;
80 )
./dg_time_lag.ksh
next_menu;
;;
90 )
check_sys_pass;
remote_connect P dg_archive_rates.sql;
remote_connect S dg_archive_rates.sql;
next_menu;
;;
200 )
./dg_log_archive_trace.ksh
next_menu;
;;
q|X|x )
exit;
;;
* )
main_menu;
;;
esac
}
while true
do
main_menu
done
安装目录下有很多.sql脚本:
[oracle@ngppdg dgmenu]$ ls -l | grep .sql -rw-r--r--. 1 oracle oinstall 441 Feb 16 2011 asm_filename.sql -rw-r--r--. 1 oracle oinstall 471 Feb 16 2011 asm_filenames.sql -rw-r--r--. 1 oracle oinstall 15 Feb 16 2011 bs.sql -rw-r--r--. 1 oracle oinstall 0 Feb 16 2011 check_metalink.sql -rw-r--r--. 1 oracle oinstall 4736 Feb 16 2011 cr_standby_redo.sql -rw-r--r--. 1 oracle oinstall 649 Apr 5 2011 cr_standby_redo_p.sql -rw-r--r--. 1 oracle oinstall 690 Apr 5 2011 cr_standby_redo_s.sql -rwx------. 1 oracle oinstall 2030 Mar 28 2011 dg_alter_system_p.sql -rwx------. 1 oracle oinstall 2431 Mar 28 2011 dg_alter_system_s.sql -rwx------. 1 oracle oinstall 296 Feb 16 2011 dg_apply_rate.sql -rwxr-xr-x. 1 oracle oinstall 2552 Sep 13 20:51 dg_archive_rates.sql -rwx------. 1 oracle oinstall 23 Feb 16 2011 dg_check_archive_log_list.sql -rwx------. 1 oracle oinstall 71 Feb 16 2011 dg_check_archive_mode.sql -rwx------. 1 oracle oinstall 53 Feb 16 2011 dg_check_current_scn.sql -rwx------. 1 oracle oinstall 2351 Feb 16 2011 dg_check_destinations.sql -rwx------. 1 oracle oinstall 227 Feb 16 2011 dg_check_dg_status.sql -rwx------. 1 oracle oinstall 113 Feb 16 2011 dg_check_force_logging.sql -rwx------. 1 oracle oinstall 1259 Feb 16 2011 dg_check_gap.sql -rwx------. 1 oracle oinstall 709 Feb 16 2011 dg_check_missing_arc.sql -rwx------. 1 oracle oinstall 224 Feb 16 2011 dg_check_mrp.sql -rw-r--r--. 1 oracle oinstall 279 Feb 16 2011 dg_check_not_applied.sql -rwx------. 1 oracle oinstall 30 Feb 16 2011 dg_check_password_file.sql -rwx------. 1 oracle oinstall 318 Feb 16 2011 dg_check_standby_redo.sql -rwx------. 1 oracle oinstall 167 Feb 16 2011 dg_check_standby_redo2.sql -rwx------. 1 oracle oinstall 861 Feb 16 2011 dg_check_unrecoverable.sql -rw-r--r--. 1 oracle oinstall 137 Feb 16 2011 dg_clear_standby_redo.sql -rw-r--r--. 1 oracle oinstall 60 Feb 16 2011 dg_client_start.sql -rw-r--r--. 1 oracle oinstall 59 Feb 16 2011 dg_client_stop.sql -rw-r--r--. 1 oracle oinstall 84 Feb 16 2011 dg_current_scn.sql -rwx------. 1 oracle oinstall 2785 Feb 16 2011 dg_database_info.sql -rw-r--r--. 1 oracle oinstall 215 Feb 16 2011 dg_drop_all_standby_redo.sql -rw-r--r--. 1 oracle oinstall 273 Feb 16 2011 dg_fsfo_state.sql -rw-r--r--. 1 oracle oinstall 357 Feb 16 2011 dg_generate_adrci_SID.sql -rw-r--r--. 1 oracle oinstall 585 Feb 16 2011 dg_generate_restore_database.sql -rwx------. 1 oracle oinstall 176 Feb 16 2011 dg_lag.sql -rw-r--r--. 1 oracle oinstall 488 Feb 16 2011 dg_nologging_objects.sql -rw-r--r--. 1 oracle oinstall 6471 Feb 16 2011 dg_phy_stby_diag.sql -rw-r--r--. 1 oracle oinstall 6783 Feb 16 2011 dg_prim_diag.sql -rwx------. 1 oracle oinstall 219 Feb 16 2011 dg_recovery_process.sql -rw-r--r--. 1 oracle oinstall 168 Feb 16 2011 dg_redo.sql -rw-r--r--. 1 oracle oinstall 226 Feb 16 2011 dg_register_archivelog_from_primary.sql -rw-r--r--. 1 oracle oinstall 1184 Feb 16 2011 dg_rman2disk.sql -rw-r--r--. 1 oracle oinstall 102 Feb 16 2011 dg_scn_to_timestamp.sql -rw-r--r--. 1 oracle oinstall 176 Feb 16 2011 dg_sredo.sql -rwx------. 1 oracle oinstall 1182 Feb 16 2011 dg_standby_apply_rate.sql -rw-r--r--. 1 oracle oinstall 84 Feb 16 2011 dg_start.sql -rw-r--r--. 1 oracle oinstall 56 Feb 16 2011 dg_stop.sql -rw-r--r--. 1 oracle oinstall 271 Feb 16 2011 dg_temp.sql -rw-r--r--. 1 oracle oinstall 334 Feb 16 2011 logical_applier.sql -rw-r--r--. 1 oracle oinstall 180 Feb 16 2011 logical_apply_errors.sql -rw-r--r--. 1 oracle oinstall 8105 Feb 16 2011 logical_diag.sql -rw-r--r--. 1 oracle oinstall 215 Feb 16 2011 logical_events.sql -rw-r--r--. 1 oracle oinstall 161 Feb 16 2011 logical_events2.sql -rw-r--r--. 1 oracle oinstall 30 Feb 16 2011 logical_guard_off.sql -rw-r--r--. 1 oracle oinstall 335 Feb 16 2011 logical_long_running.sql -rw-r--r--. 1 oracle oinstall 616 Feb 16 2011 logical_metalink.sql -rw-r--r--. 1 oracle oinstall 316 Feb 16 2011 logical_next.sql -rw-r--r--. 1 oracle oinstall 364 Feb 16 2011 logical_not_unique.sql -rw-r--r--. 1 oracle oinstall 74 Feb 16 2011 logical_pageout.sql -rw-r--r--. 1 oracle oinstall 156 Feb 16 2011 logical_parameters.sql -rw-r--r--. 1 oracle oinstall 236 Feb 16 2011 logical_process.sql -rw-r--r--. 1 oracle oinstall 510 Feb 16 2011 logical_progress.sql -rw-r--r--. 1 oracle oinstall 507 Feb 16 2011 logical_queries.sql -rw-r--r--. 1 oracle oinstall 120 Feb 16 2011 logical_set_appliers.sql -rw-r--r--. 1 oracle oinstall 56 Feb 16 2011 logical_set_max_sga.sql -rw-r--r--. 1 oracle oinstall 61 Feb 16 2011 logical_skip_ddl.sql -rw-r--r--. 1 oracle oinstall 672 Feb 16 2011 logical_skip_transactions.sql -rw-r--r--. 1 oracle oinstall 54 Feb 16 2011 logical_start.sql -rw-r--r--. 1 oracle oinstall 93 Feb 16 2011 logical_state.sql -rw-r--r--. 1 oracle oinstall 59 Feb 16 2011 logical_stats.sql -rw-r--r--. 1 oracle oinstall 463 Feb 16 2011 logical_status.sql -rw-r--r--. 1 oracle oinstall 45 Feb 16 2011 logical_stop.sql -rw-r--r--. 1 oracle oinstall 140 Feb 16 2011 logical_supplemental_logging.sql -rw-r--r--. 1 oracle oinstall 7607 Feb 16 2011 logical_table_diag.sql -rw-r--r--. 1 oracle oinstall 344 Feb 16 2011 logical_trx.sql -rw-r--r--. 1 oracle oinstall 800 Feb 16 2011 logical_unsupported.sql -r-x------. 1 oracle oinstall 316 Jul 29 2009 login2.sql -rw-r--r--. 1 oracle oinstall 9 Feb 16 2011 ls.sql
在这里可以自定义一些选项,例如添加查看主库归档日志生成的速率的选项,编辑dg_physical_standby_menu.ksh,在相应的位置添加下面内容:--增加task number为90的相关描述
echo "# 90. Check archive log generate rates #"
--增加task number为90的相关调用
90 ) check_sys_pass; remote_connect P dg_archive_rates.sql; next_menu; ;;
查看dg_archive_rates.sql脚本内容:
set lines 500 set pages 10000 col "Date" format a10 col "00" format a4 col "01" format a4 col "02" format a4 col "03" format a4 col "04" format a4 col "05" format a4 col "06" format a4 col "07" format a4 col "08" format a4 col "09" format a4 col "10" format a4 col "11" format a4 col "12" format a4 col "13" format a4 col "14" format a4 col "15" format a4 col "16" format a4 col "17" format a4 col "18" format a4 col "19" format a4 col "20" format a4 col "21" format a4 col "22" format a4 col "23" format a4 SELECT TO_CHAR(TRUNC(FIRST_TIME),'Mon DD') "Date", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'00',1,0)),'9999') "00", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'01',1,0)),'9999') "01", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'02',1,0)),'9999') "02", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'03',1,0)),'9999') "03", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'04',1,0)),'9999') "04", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'05',1,0)),'9999') "05", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'06',1,0)),'9999') "06", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'07',1,0)),'9999') "07", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'08',1,0)),'9999') "08", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'09',1,0)),'9999') "09", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'10',1,0)),'9999') "10", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'11',1,0)),'9999') "11", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'12',1,0)),'9999') "12", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'13',1,0)),'9999') "13", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'14',1,0)),'9999') "14", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'15',1,0)),'9999') "15", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'16',1,0)),'9999') "16", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'17',1,0)),'9999') "17", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'18',1,0)),'9999') "18", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'19',1,0)),'9999') "19", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'20',1,0)),'9999') "20", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'21',1,0)),'9999') "21", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'22',1,0)),'9999') "22", TO_CHAR(SUM(DECODE(TO_CHAR(FIRST_TIME,'HH24'),'23',1,0)),'9999') "23" FROM V$LOG_HISTORY GROUP BY TRUNC(FIRST_TIME) ORDER BY TRUNC(FIRST_TIME) DESC / set lines 66
登录dgmenu,选择刚才新添加的监控项,查看是否正常输出相关内容:
[oracle@ngppdg dgmenu]$ ./dg # ------------------------------------------------------------------------- # # Data Guard Menu System # # Primary Host: ngpdb01 Standby Host: ngppdg # Primary DB: ngpdb Standby DB: ngppdg # ------------------------------------------------------------------------- # # 10. Launch Preliminary Check Submenu # # ------------------------------------------------------------------------- # # 20. Launch Build Standby Database Submenu # # ------------------------------------------------------------------------- # # 30. Launch the Data Guard Broker Submenu # # ------------------------------------------------------------------------- # # 40. Launch Monitor Physical Standby Data Guard Submenu # # ------------------------------------------------------------------------- # # 50. Launch Monitor Logical Standby Data Guard Submenu # # ------------------------------------------------------------------------- # # 60. Launch Automatic Diagnostic Repository (ADR) CLI Submenu # # ------------------------------------------------------------------------- # # 100. Launch RMAN Backup to Disk Submenu # # ------------------------------------------------------------------------- # # x. Exit # # ------------------------------------------------------------------------- # # Enter Task Number: 40 # ------------------------------------------------------------------------- # # Data Guard Physical Standby Submenu: dg_physical_standby_menu.ksh # Primary Host: ngpdb01 Standby Host: ngppdg # ------------------------------------------------------------------------- # # # # 10. Check current SCN on primary and standby databases # # 20. Check Data Guard Status View for errors and fatal messages # # 30. Check Managed Recovery Process Status # # 40. Check for missing archive logs # # 50. Check archive log gaps on the standby database # # 60. Check average apply rate / active apply rate # # 70. Check transport / apply lag # # 80. How far behind is my Data Guard in terms of time? # # 90. Check archive log generate rates # # ------------------------------------------------------------------------- # # x. Exit # # ------------------------------------------------------------------------- # # Enter Task Number: 90 # ----------------------------------------------------------------------- # # Executing dg_archive_rates.sql on DB: ngpdb # ----------------------------------------------------------------------- # Date 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ---------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- Sep 12 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 Sep 11 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sep 10 0 0 0 3 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sep 09 0 0 0 3 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sep 08 0 0 0 3 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sep 07 0 0 1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 Sep 06 0 0 0 2 3 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 Sep 05 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sep 04 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
这里截取一部分输出内容,可以正常返回。 Data Guard Menu给Data Guard维护管理提供一定的便利性,不需要登录sqlplus去执行一些日常的检查脚本。 Data Guard Menu还可以实现备库搭建前的先决条件检查,具体的搭建实施过程,DG broker的配置,ADRCI以及RMAN的调用,这里不做详细介绍,可以自行下载查看相关的功能。
编辑推荐:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 一句话一张图概括群控
一句话一张图概括群控
26-03-03 - Oracle DBLink bug引发的故障(Session Hang Memory leak)
- Docker宣布“禁用“,打破封锁限制关键还是要靠国产自主可控硬核技术!
Docker宣布“禁用“,打破封锁限制关键还是要靠国产自主可控硬核技术!
26-03-03 - 抖音新号使用群控软件三天上千粉
抖音新号使用群控软件三天上千粉
26-03-03 - CentOS7 安装11g R2 软件报错
CentOS7 安装11g R2 软件报错
26-03-03 - Oracle RAC+DG巡检常见问题汇总(一)
Oracle RAC+DG巡检常见问题汇总(一)
26-03-03 - ORA-00600: internal error code, arguments: [13011]
- linux环境下sqlplus sys/sys@ORCL as sysdba报错 ORA-01031: insufficient privileges
- sqlplus中上下左右退格键不能用
sqlplus中上下左右退格键不能用
26-03-03 - 短视频播放量多少上热门
短视频播放量多少上热门
26-03-03
