ukula 发表于 2018-9-26 09:22:59

oracle DG 物理standby

  主库
  db_name=orcl
  db_unique_name=orcl
  主库归档路径:
  /home/oracle/orcl_arclog
  主库standby归档路径:
  /home/oracle/orcl_stdlog
  从库
  db_name=orcl
  db_unique_name=aux1
  从库归档路径:
  /home/oracle/aux1_arclog
  从库standby归档路径:
  /home/oracle/aux1_stdlog
  主库要保证所有的操作都会记录日志数据
  ALTER DATABASE FORCE LOGGING;
  修改主库参数:增加下面参数
  log_archive_config='dg_config=(主库唯一名,从库唯一名)'
  log_archive_dest_10='location=/home/oracle/orcl_arclog VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=主库唯一名'
  log_archive_dest_1='service=aux1 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=从库唯一名'
  log_archive_max_processes=4; --增加归档进程数量
  #db_file_name_convert=('/u1/oracle/oradata/madrid/','/u1/oracle/oradata/aux1/')
  #log_file_name_convert=('/u1/oracle/oradata/madrid/','/u1/oracle/oradata/aux1/')
  创建从库参数文件
  *.background_dump_dest='/u1/oracle/admin/aux1/bdump'
  *.core_dump_dest='/u1/oracle/admin/aux1/cdump'
  *.user_dump_dest='/u1/oracle/admin/aux1/udump'
  *.compatible='10.2.0.1.0'
  *.db_name=orcl
  *.db_unique_name='aux1'
  *.control_files='/u01/app/oracle/oradata/aux1/control01.ctl'
  *.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
  *.db_block_size=8192
  *.sga_target=160m
  *.pga_aggregate_target=20m
  *.undo_management='AUTO'
  *.undo_tablespace='UNDOTBS1'
  *.standby_file_management='AUTO'
  *.log_archive_config='dg_config=(orcl,aux1)'
  *.log_archive_dest_10='location=/home/oracle/aux1_arclog VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=aux1'
  *.standby_archive_dest='/home/oracle/aux1_stdlog'
  *.db_file_name_convert=('/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/aux1/')
  *.log_file_name_convert=('/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/aux1/')
  创建从库口令文件:直接从主库scp
  启动从库到nomount
  配置主从数据库的网络(主从数据库要能够互相连接!必须的!)
  备份主库:
  rman target /
  configure channel device type disk format '/home/oracle/rmanbk/%d_%I_%s_%p.bkp';
  backup as compressed backupset database include current controlfile for standby plus archivelog;
  将所有备份片和备份之后的归档日志传到从库:
  在主库所在节点使用rman的复制数据库命令,还原从库:
  rman target sys/oracle@orcl auxiliary sys/oracle@aux1
  RMAN> duplicate target database for standby;
  在主库中查看第二存档终点是否有异常:
  col dest_name for a30
  col error for a20
  select dest_name,status,error,target,process from v$archive_dest where substr(dest_name,-1) in (1,2);
  在主库切换日志,查看是否能传到从库:
  alter system switch logfile;
  从库进入管理恢复模式:
  ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
  查看从库的alert文件,看主库传送过来的归档是否被应用:
  cd $ORACLE_BASE/admin/bdump
  tail -f alert_aux1.log
  取消管理恢复的方法:
  ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
  当主库的归档在从库中应用之后可以打开从库进行数据验证:
  alter database open;

页: [1]
查看完整版本: oracle DG 物理standby