cd $ORACLE_HOME/dbs scp scp orapwliupsdb 10.0.6.6:/data/app/oracle/product/11.2.0.4/dbhome_1/
备库启动数据库实例
备库创建审计日志目录
1
mkdir -p /data/app/oracle/admin/liupsdb/adump
备库启动数据库实例到 nomount 状态
1
cd $ORACLE_HOME/dbs touch initliupsdb.ora echo "db_name=liupsdb">initliupsdb.ora
1
sqlplus sys/hvcrda90n@liupsdb as sysdba sqlplus sys/hvcrda90n@liupsdbdg as sysdba
rman duplicate 搭建DG从库
rman 登录数据库
oracle 用户执行 rman 命令,然后使用如下脚本进行DG搭建。
cat r.sh
1
connect target sys/pass@liupsdb connect auxiliary sys/pass@liupsdbdg run { allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; allocate channel c4 type disk; allocate auxiliary channel s1 type disk; allocate auxiliary channel s2 type disk; allocate auxiliary channel s3 type disk; allocate auxiliary channel s4 type disk; duplicate target database for standby from active database nofilenamecheck dorecover spfile parameter_value_convert 'liupsdb','liupsdb','liupsdbdg','liupsdb' set db_unique_name='liupsdb' set cluster_database='false' set fal_server='liupsdb' set remote_listener='' set local_listener='' set standby_file_management='AUTO' set db_create_file_dest='' set db_create_online_log_dest_1='' set log_archive_config='dg_config=(liupsdb,liupsdbdg)' set log_archive_dest_1='location=/data1/arch/ valid_for=(all_logfiles,all_roles) db_unique_name=liupsdb' set log_archive_dest_2='SERVICE=liupsdb lgwr async VALID_FOr=(ONLINE_LOGFILES,primary_role) DB_UNIQUE_NAME=liupsdbdg' set log_archive_dest_state_2='enable' ; sql channel c1 "alter system archive log current"; sql channel s1 "alter database open"; sql channel s1 "alter database recover managed standby database using current logfile disconnect"; }
查看DG数据同步详情
查看脚本为 /home/oracle/dginfo.sh,内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!/usr/bin/env sh sqlplus / as sysdba <<EOF set lines 123 set pages 200 col CTIME format a20 col NAME format a20 col VALUE format a20 col DATUM_TIME format a20 select open_mode, DATABASE_ROLE from v\$database; SELECT TO_NUMBER( SUBSTR ( (SUBSTR (VALUE, 5)), 0, 2) * 3600 + SUBSTR ( (SUBSTR (VALUE, 5)), 4, 2) * 60 + SUBSTR ( (SUBSTR (VALUE, 5)), 7, 2)) dgbehind, TO_CHAR (SYSDATE, 'yyyymmdd hh24:mi:ss' ) CTIME, NAME, VALUE,DATUM_TIME FROM V\$DATAGUARD_STATS WHERE NAME ='apply lag'; select process,block#,blocks ,status ,sequence# from v\$managed_standby; exit EOF
DG日常维护手册
以下所有操作如果没有特别说明使用 oracle 用户执行
1、启动监听
1
lsnrctl start
2、查看监听状态
1
lsnrctl status
3、关闭监听
1
lsnrctl stop
4、启动数据库
s
1 2
sqlplus /as sysdba startup
5、关闭数据库
1 2
sqlplus /as sysdba shutdown immediate
6、启动数据同步进程
```sql sqlplus / as sysdba alter database recover managed standby database using current logfile disconnect;