设为首页 收藏本站
查看: 709|回复: 0

[经验分享] ORACLE12C ADG搭建

[复制链接]

尚未签到

发表于 2018-9-21 12:04:22 | 显示全部楼层 |阅读模式
  ORACLE12C_DG配置
  主库:orcl
  备库:orclbk
  1、/etc/hosts配置
  172.16.140.3 node1
  172.16.140.4 node2
  2、主库force logging
  SQL> select name,open_mode from v$pdbs;

  SQL>>  SQL> select force_logging from v$database;

FORCE_LOGGING
  YES
  3、主库添加standby redo logfile(连接到CDB$ROOT中执行)
  SQL> show con_name;

CON_NAME
  CDB$ROOT
  SQL> select  group#, members, bytes  from v$log;
  

GROUP#    MEMBERS      BYTES  

  

     1          1  209715200  2          1  209715200
  3          1  209715200
  

  SQL> select  member from  v$logfile;

MEMBER
  /u01/app/oracle/oradata/orcl/redo01.log
  /u01/app/oracle/oradata/orcl/redo02.log
  /u01/app/oracle/oradata/orcl/redo03.log
  添加4(3+1)个standby logfile

  SQL>>
  SQL>>
  SQL>>
  SQL>>  4、配置tnsnames.ora
  主库:
  LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))
  orcl =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orcl)
  )
  )
  orclbk =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orclbk)
  )
  )
  orclpdb =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orclpdb)
  )
  )
  备库:
  LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521))
  orcl =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orcl)
  )
  )
  orclbk =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orclbk)
  )
  )
  orclpdb =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orclpdb)
  )
  )
  5、修改主备库的参数文件:
  主库操作:
  SQL> create pfile from spfile;
  修改后的pfile
  orcl.data_transfer_cache_size=0
  orcl.db_cache_size=1459617792
  orcl.inmemory_ext_roarea=0
  orcl.inmemory_ext_rwarea=0
  orcl.java_pool_size=16777216
  orcl.large_pool_size=33554432
  orcl.oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
  orcl.pga_aggregate_target=687865856
  orcl.sga_target=2046820352
  orcl.shared_io_pool_size=100663296
  orcl.shared_pool_size=419430400
  orcl.streams_pool_size=0
  ._undo_autotune=FALSE
  .archive_lag_target=0
  .audit_file_dest='/u01/app/oracle/admin/orcl/adump'
  .audit_trail='none'
  .compatible='12.2.0'
  .control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'
  .data_guard_sync_latency=0
  .db_block_size=8192
  .db_file_name_convert='/u01/app/oracle/oradata/orclbk','/u01/app/oracle/oradata/orcl'
  .db_name='orcl'
  .db_unique_name='orcl'
  .dg_broker_start=TRUE
  .diagnostic_dest='/u01/app/oracle'
  .dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
  .enable_pluggable_database=true
  .fal_client='orcl'
  .fal_server=''
  .local_listener='LISTENER_ORCL'
  .log_archive_config='dg_config=(orcl,orclbk)'
  .log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl'
  .log_archive_dest_2='service="orclbk"','ASYNC NOAFFIRM delay=0 optional compression=disable max_failure=0 max_connections=1 reopen=300 db_unique_name="orclbk" net_timeout=30','valid_for=(online_logfile,all_roles)'
  .log_archive_dest_state_1='ENABLE'
  .log_archive_dest_state_2='ENABLE'
  .log_archiveformat='orcl%t%s%r.arc'
  .log_archive_max_processes=4
  .log_archive_min_succeed_dest=1
  orcl.log_archive_trace=0
  .log_file_name_convert='/u01/app/oracle/oradata/orclbk','/u01/app/oracle/oradata/orcl'
  .nls_language='AMERICAN'
  .nls_territory='AMERICA'
  .open_cursors=1500
  .pga_aggregate_target=650m
  .processes=300
  .remote_login_passwordfile='EXCLUSIVE'
  .resource_limit=TRUE
  .session_cached_cursors=1500
  .sga_target=1948m
  .standby_file_management='AUTO'
  .undo_retention=7200
  *.undo_tablespace='UNDOTBS1'
  改动的部分:
  ._undo_autotune=FALSE
  .db_file_name_convert='/u01/app/oracle/oradata/orclbk','/u01/app/oracle/oradata/orcl'
  .db_name='orcl'
  .db_unique_name='orcl'
  .dg_broker_start=TRUE
  .fal_client='orcl'
  .fal_server=''
  .log_archive_config='dg_config=(orcl,orclbk)'
  .log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl'
  .log_archive_dest_2='service="orclbk"','ASYNC NOAFFIRM delay=0 optional compression=disable max_failure=0 max_connections=1 reopen=300 db_unique_name="orclbk" net_timeout=30','valid_for=(online_logfile,all_roles)'
  .log_archive_dest_state_1='ENABLE'
  .log_archive_dest_state_2='ENABLE'
  .log_archiveformat='orcl%t%s%r.arc'
  .log_file_name_convert='/u01/app/oracle/oradata/orclbk','/u01/app/oracle/oradata/orcl'
  *.standby_file_management='AUTO'
  备库的参数文件改动后如下:
  orclbk.data_transfer_cache_size=0
  orclbk.db_cache_size=1560281088
  orclbk.inmemory_ext_roarea=0
  orclbk.inmemory_ext_rwarea=0
  orclbk.java_pool_size=16777216
  orclbk.large_pool_size=33554432
  orclbk.oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
  orclbk.pga_aggregate_target=687865856
  orclbk.sga_target=2046820352
  orclbk.shared_io_pool_size=0
  orclbk.shared_pool_size=419430400
  orclbk.streams_pool_size=0
  ._undo_autotune=FALSE
  .archive_lag_target=0
  .audit_file_dest='/u01/app/oracle/admin/orclbk/adump'
  .audit_trail='none'
  .compatible='12.2.0'
  .control_files='/u01/app/oracle/oradata/orclbk/control01.ctl','/u01/app/oracle/oradata/orclbk/control02.ctl'#Restore Controlfile
  .data_guard_sync_latency=0
  .db_block_size=8192
  .db_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orclbk'
  .db_name='orcl'
  .db_unique_name='orclbk'
  .dg_broker_start=TRUE
  .diagnostic_dest='/u01/app/oracle'
  .dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
  .enable_pluggable_database=true
  .fal_client='orclbk'
  .fal_server='ORCL'
  .log_archive_config='dg_config=(orclbk,orcl)'
  .log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=orclbk'
  .log_archive_dest_2=''
  .log_archive_dest_state_1='ENABLE'
  .log_archive_dest_state_2='ENABLE'
  .log_archiveformat='orclbk%t%s%r.arc'
  orclbk.log_archiveformat='orclbk%t%s%r.arc'
  .log_archive_max_processes=4
  .log_archive_min_succeed_dest=1
  orcl.log_archive_trace=0
  orclbk.log_archive_trace=0
  .log_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orclbk'
  .nls_language='AMERICAN'
  .nls_territory='AMERICA'
  .open_cursors=1500
  .pga_aggregate_target=650m
  .processes=300
  .remote_login_passwordfile='EXCLUSIVE'
  .resource_limit=TRUE
  .session_cached_cursors=1500
  .sga_target=1948m
  .standby_file_management='AUTO'
  .undo_retention=7200
  .undo_tablespace='UNDOTBS1'
  主要的改动部分如下:
  ._undo_autotune=FALSE
  .audit_trail='none'
  .db_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orclbk'
  .db_name='orcl'
  .db_unique_name='orclbk'
  .enable_pluggable_database=true
  .fal_client='orclbk'
  .fal_server='ORCL'
  .log_archive_config='dg_config=(orclbk,orcl)'
  .log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=orclbk'
  .log_archive_dest_2=''
  .log_archive_dest_state_1='ENABLE'
  .log_archive_dest_state_2='ENABLE'
  .log_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orclbk'
  6、备份源端数据库,将备份文件传到目标端
  RMAN> run{
  allocate channel c1 type disk;
  allocate channel c2 type disk;
  backup filesperset 2 database format '/home/oracle/dbbackup/full%d%T%s_%p';
  sql 'alter system archive log current';
  sql 'alter system archive log current';
  sql 'alter system archive log current';
  backup archivelog all format '/home/oracle/dbbackup/arch%d%T%s_%p' delete input;
  backup current controlfile format '/home/oracle/dbbackup/ctl%d%T%s_%p';
  }
  cd /home/oracle/db_backup/
  scp * node2:/home/oracle/db_backup
  7、源端生成备库的控制文件,并传到目标端

  SQL>>  cd /home/oracle/db_backup
  scp ctl node2:/home/oracle/db_backup
  8、备库恢复
  SQL> startup nomount;
  RMAN> restore controlfile from '/home/oracle/db_backup/ctl';

  SQL>>  RMAN> restore database;

  SQL> >  ADG
  1、查看备库openmode
  SQL> select open_mode from v$database; --MOUNTED
  2、取消备库自动恢复

  SQL>>
  SQL>>  SQL> select open_mode from v$database; --此时为READ ONLY
  3、read only下备库恢复

  SQL>>  SQL> select open_mode from v$database;  --此时为READ ONLY WITH APPLY
  DG_BROKER
  --在主备库同时执行
  --启动dg_broker
  alter system set dg_broker_start=true sid='*';
  --配置监听
  主库:
  LISTENER =
  (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  )
  )
  SID_LIST_LISTENER =
  (SID_LIST =
  (SID_DESC =
  (GLOBAL_DBNAME = orcl)
  (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1)
  (SID_NAME = orcl)
  )
  (SID_DESC =
  (GLOBAL_DBNAME = orcl_DGMGRL)
  (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1)
  (SID_NAME = orcl)
  )
  )
  ADR_BASE_LISTENER = /u01/app/oracle
  备库:
  LISTENER =
  (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521))
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  )
  )
  SID_LIST_LISTENER =
  (SID_LIST =
  (SID_DESC =
  (GLOBAL_DBNAME = orcl)
  (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1)
  (SID_NAME = orcl)
  )
  (SID_DESC =
  (GLOBAL_DBNAME = orclbk_DGMGRL)
  (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1)
  (SID_NAME = orclbk)
  )
  )
  ADR_BASE_LISTENER = /u01/app/oracle
  --连接dg_broker进行配置
  连接测试:
  $ dgmgrl
  DGMGRL> connect sysdg@orcl
  DGMGRL> connect sysdg@orclbk
  测试是否能连上,如果连不上可能是sysdg用户被锁定,给一个密码并解锁
  --在主库配置
  DGMGRL> connect sysdg

  DGMGRL> create configuration 'orcl_dg' as primary database is 'orcl' connect>  show configuration;
  --说明:
  orcl_dg是配置名称,可以随便填。
  primary database is 'orcl' orcl是db_unique_name

  connect>  --添加备库:

  add database 'orclbk' as connect>  --说明:
  add database 'orclbk':  orclbk是 db_unique_name

  as connect>  --查看配置
  show configuration;
  --启用配置
  enable configuration;
  --查看库
  show database orcl;
  show database orclbk;
  --切换测试
  switchover to orclbk;
  switchover to orcl;



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-599396-1-1.html 上篇帖子: oracle sql优化to_date和to_char 的使用 下篇帖子: oracle 使用rownum分页及注意事项
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表