Oracle 12C Dataguard

环境:centOS 6.4 64bit   oracle 12C 12.1.0.1.0 - 64bit

主库:10.168.9.52   sid=bbc  db_unique_name=bbc

备库:10.168.9.53   sid=bbc  db_unique_name=abc

主库配置:

1.数据库修改为归档模式   查看:archive log list;

2.参数log_archive_start已经过时,不需要设置,设置后启动数据库会报 ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance(有过时或废弃的参数被使用指定)  但是不影响使用

alter system reset log_archive_start 取消该参数设置

3.数据库开启强制日志功能,即所有操作都产生日志,以便将主库所有的操作全部传给备库使用 : alter database force logging; select name,force_logging from v$database;

4.确认当主库添加或删除数据文件时,备库也做同样的的操作:

Alter system set standby_file_management=’AUTO’;

5.确认参数 remote_login_passwordfile 为exclusive 或shared 使用密码文件做验证 此参数默认为exclusive,如果不是,请修改

Alter system set remote_login_passwordfile =exclusive scope=spfile;

6.设置db_unique_name 通常主库该值和SID一直,如没有该值,请设置:

Alter system set db_unique_name=bbc scope=spfile;

7.开启闪回功能:可以使数据库闪回到以前的某一点,可以使主库闪回到故障前,然后将其转换为备库。如果没有闪回,就必须重建库。

Alter system set db_recovey_file_dest=’快速回复区目录’ 闪回区位置

Alter system set db_recovey_file_dest_size=’300G’; 闪回区大小

Alter database flashback on ;

Select flashback_on from v$database ;

8.配置主备库的监听,使两台服务器可以相互通信:

主库修改listener.ora文件 动态静态监听都要配置 (备库启动后是在mount状态下,不能自动注册监听,需要静态监听 修改后监听需要重启)

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME=orcl65)

(SID_NAME=orcl65)

(ORACLE_HOME=/18_app/12c/db_base/db_home/)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.18)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

主库tnsnames.ora文件:

ORCL65 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.18)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl65)

)

)

ORCL66 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.19)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl66)

)

)

备库修改listener.ora 动态静态监听都要配置 修改后监听需要重启

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME=orcl66)

(SID_NAME=orcl66)

(ORACLE_HOME=/19_app/12c/db_base/db_home/)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.19)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

备库tnsnames.ora文件:

ORCL65 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.18)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl65)

)

)

ORCL66 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.19)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl66)

)

)

~

9.修改归档位置:

Alter system set log_archive_dest_1=’location=/u01/app/archive/archive_bbc_loc/ valid_for=(all_logfiles,all_roles) db_unique_name=bbc ’

指定归档位置用于所有角色所有数据库的日志文件且db_unique_name=bbc包括将来主转为备后的备用日志文件(注意不是在线日志文件,是主库用日志写进程直接传过来并保存到standby_log中的日志文件),并且如果想在备库进行备份同时备归档日志的话,必须使用all_logfiles

Alter system set log_archive_dest_10=’service=abc arch valid_for=(online_logfiles,primary_role) db_unique_name=abc’;

语句意思是:如果这是主库,就使用服务名为abc 传输在线归档日志到目标库abc (这里使用的是归档进程同步传输的,还有其他的模式 )

不要配置standby_archive_dest参数,官方已经弃用,可能会报错

部分参数说明:online_logfiles(在线日志) satandby_logfiles(备用日志) all_logfiles(所有日志) primary_role(主库角色) standby_role(备库角色) all_roles(所有角色)

10.设置参数fal_server 是指传输出现问题后,备库到哪里去找缺少的归档日志 参数fal_client在11G已经弃用,不用设置了

Alter system set fal_server = ‘abc’;

11. 打开主库的dataguard 开关:

;

备库设置

1.创建备库必要的目录,最少要建立主库所有数据文件的目录,$db_base/fast_recovery_area/bbc/所有目录, $db_base/oradata/bbc/所有目录,$db_base/admin/bbc/adump

2.停主库:在mount下生成pfile  create pfile from spfile

生成备库控制文件 alter database create standby controlfile as ‘/路径/文件名’;

并且将新生成的参数文件,控制文件,密码文件,所有数据文件,日志文件全部拷贝到备库的响应目录下(我也不想停库啊之前也用rman 恢复过,备库不能open read only,报有数据文件需要恢复,搞不定啊—问题解决,后面有笔记)

给参数文件和密码文件改名

3.修改参数文件:将部分bbc修为abc,其中db_name=‘bbc’和dispatchers='(PROTOCOL=TCP) (SERVICE=bbcXDB)不用修改,

修改所有路径为备库的路径

如果数据文件路径有修改需要添加参数db_file_name_convert=‘原路径1’,‘新路径1’,‘原路径2’,‘新路径2’,‘原路径3’,‘新路径3’  所有不一样的数据文件路径都要添加,要成对出现

log_file_name_convert=‘原路径1’,‘新路径1’,‘原路径2’,‘新路径2’,‘原路径3’,‘新路径3’  所有不一样的日志文件路径都要添加,要成对出现

添加 db_unique_name='abc'

4.生成spfile 重新启动备库监听,启动备库到mount, 重新启动主库监听,启动主库(并确保都是使用的spfile)

备库启动恢复模式:alter database recover managed standby database disconnect from session

备库关闭恢复模式: alter database recover managed standby database cancel;

备库只读模式打开数据库:alter database open read only;

备库启动恢复模式:alter database recover managed standby database disconnect from session;

SQL> select log_mode,open_mode ,protection_mode, database_role from v$database;

LOG_MODE     OPEN_MODE                  PROTECTION_MODE      DATABASE_ROLE

------------ -------------------- -------------------- ----------------

ARCHIVELOG   READ ONLY WITH APPLY MAXIMUM PERFORMANCE  PHYSICAL STANDBY

至此,初步的dataguard 创建完成,测试以及模式转换待续

备库用主库rman 备份恢复:

1.创建备库必要的目录,最少要建立主库所有数据文件的目录,$db_base/fast_recovery_area/bbc/所有目录, $db_base/oradata/bbc/所有目录,$db_base/admin/bbc/adump

(/19_app/12c/db_base/fast_recovery_area/orcl66)

(/19_app/12c/db_base/fast_recovery_area/ORCL66/四个文件夹 archivelog,autobackup,flashback, onlinelog)

(/19_app/12c/db_base/oradata/orcl66/两个文件夹orcl_pdb1,pdbseed)

(/19_app/12c/db_base/admin/orcl66/adump)

2.configure channel device type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';修改备份路径和名字

3.在主库用rman备份:backup as compressed backupset database include current controlfile for standby plus archivelog; 在主库生成pfile ,并将主库的备份,pfile,口令文件 一起拷贝到备库相同的文件夹下。

4.将pfile,口令文件改名并拷贝到dbs下,修改参数文件

注意参数文件中的参数: MEMORY_TARGET(将其注释掉, 会报ORA-00845错误,主库的内存设置不一定适合从库)  启动备库到nomount

5.在主库登陆rman:rman target / auxiliary sys/bbcBBC2014@ccb

(在备库做:rman target sys/bbcBBC2014@bbc auxiliary sys/bbcBBC2014@ccb)

duplicate target database for standby

6.起动备库到mount 并open read only

7.开启恢复模式:alter database recover managed standby database   disconnect from session;

8.查看模式及级别:SQL> select log_mode,open_mode ,protection_mode, database_role from v$database;

LOG_MODE     OPEN_MODE                  PROTECTION_MODE      DATABASE_ROLE

------------ -------------------- -------------------- ----------------

ARCHIVELOG   READ ONLY WITH APPLY MAXIMUM PERFORMANCE  PHYSICAL STANDBY

测试数据,正常!

添加另一个新的DG:

主库添加修改:Alter system set log_archive_config ='dg_config=(orcl65,orcl66,orcl67)';

alter system set log_archive_dest_9='service=orcl67 lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=orcl67';

从库按之前操作

从库可以是新库,也可以没有库,没有库也要添加两个监听文件!!!

oracle 12c创建归档,实测创建 Oracle 12C Dataguard相关推荐

  1. oracle设为归档模式,设置oracle归档模式

    设置oracle归档模式 将oracle设为归档模式 [root@localhost ~]#sqlplus /nolog SQL> conn /as sysdba; Connected. SQL ...

  2. oracle在非归档模式下,Oracle在非归档模式下不能更改表空间为备份模式

    Oracle表空间设置为备份模式后,便可以联机对表空间下数据文件进行文件系统级别的copy备份操作,因为期间对表空间的修改都记录到数据库的重做日志文件中. 由此想到数据库如果是非归档模式,那么这个表空 ...

  3. oracle清理asm归档日志,【Oracle】 rman 删除归档日志的命令

    因为数据仓库上asm的磁盘空间不足,需要删除早期的归档日志,查看资料有以下两种方式: delete archivelog until time 'sysdate-N'; delete archivel ...

  4. Oracle 12c  CDB、PDBs创建

    Oracle 12c  CDB.PDBs创建   一. 计划多租户环境 准备足够的内存,磁盘空间:需要考虑的问题包括如下 16 个方面: 1.        PDB 数量 (max 253) 与空间计 ...

  5. oracle每个租户指定字符集,理解 Oracle 多租户体系中(12c,18c,19c)创建用户作用域范围...

    本篇探讨以下几个问题:你可提前猜测下面6个场景语句中,哪几个可以成功创建用户? 1. 在CDB级别中创建公共用户,不带 container 子句的效果: 2. 在CDB级别中创建公共用户,带 cont ...

  6. oracle12c 删除pdb用户,oracle 12c pdb测试:创建、开关、删除

    pdb测试:创建.开关.删除 ----------------------- ORACLE12C中提出来CDB和PDB的概念 他们可以分别理解为容器和插件(PDB插入在CDB中) CDB的管理和传统数 ...

  7. 12c创建为容器数据库_oracle 12c创建可插拔数据库(PDB)与用户详解

    前言 由于oracle 12c使用了CDB-PDB架构,类似于docker,在container-db内可以加载多个pluggable-db,因此安装后需要额外配置才能使用. 一.修改listener ...

  8. Oracle Data Integrator之代理创建

    本文依次介绍了如何创建ODI 12c的Standalone agent.Physical agent以及Logical agent.三种agent的含义如下图所示: 一.创建Standalone Ag ...

  9. Oracle 安装 docker,使用docker安装Oracle 12c database(一)

    首先在Ubuntu16.04安装好Docker软件,然后开始搜索Oracle的镜像.这里我们可以使用search命令搜索.可以发现在docker的镜像里面搜索到sath89创建的Oracle镜像. p ...

最新文章

  1. linux c warning: implicit declaration of function 'strtok_r'解决方案
  2. 【MM配置】Pricing 采购定价过程总览
  3. java——HashMap的实现原理,自己实现简单的HashMap
  4. 基于密钥的认证机制(ssh)
  5. 架构师的职责都有哪些?
  6. spring boot部署实战
  7. Thymeleaf $/*/#/@语法
  8. 循序渐进之Spring AOP(2) - 基本概念
  9. exchange无法收发邮件_【知乎最详细】Windows邮件amp;日历UWP+QQ邮箱如何设置
  10. c语言象棋图片大全精美,【图片】象棋C语言【中国新象棋吧】_百度贴吧
  11. MySQL计算环比、同比(年、月、季度)
  12. keyshot怎么贴logo_Keyshot贴图技巧,Keyshot纹理中的常用贴图方法
  13. 桌面上计算机图标老是自动删除,win7系统总是自动删除桌面快捷方式怎么办
  14. SpringCloudAlibaba(一)SpringCloudAlibaba简介
  15. java开发实战小参考常见问题及处理
  16. 【STM32利用CuBe MX生成HID设备】2-给游戏控制器添加X\Y轴
  17. 【论文阅读】Scene Text Image Super-Resolution in the Wild
  18. ADAMS三维路面重构
  19. 目标转化出价多少_头条信息流广告目标转化出价(ocpc出价)常见问题讲解
  20. html的底层代码是哪种语言,HTML是什么

热门文章

  1. c语言编写程序x的y次方,C语言变为编程y = x-x立方/ 3! + x五次方力量/ 5! -x7th power / 7!...
  2. linux ttyusb读写_linux下非root用户获得devttyUSB0的读写权限
  3. 122. Leetcode 647. 回文子串 (动态规划-子序列问题)
  4. node2vec: Scalable Feature Learning for networks
  5. 机器学习笔记:RMSProp,Adadelta
  6. Python应用实战案例-一文通读时间序列在Python中的应用
  7. 深度学习核心技术精讲100篇(二十五)-58同城是如何构建智能化流量分发的?
  8. MapReduce编程实战之“工作原理”
  9. matlab 0000,部分结果出现虚数单位 0.0000i
  10. lucene-solr本地调试方法