2019独角兽企业重金招聘Python工程师标准>>>

【DG】Oracle 19c使用dbca来搭建物理DG(12cR2可以使用但主库必须是单机非CDB的库,18c无限制)

Using DBCA to Create a Data Guard Standby

The Database Configuration Assistant (DBCA) can also be used as a simple command-line method to create an Oracle Data Guard physical standby database.

The DBCA command qualifier used to create the physical standby database is createDuplicateDB .

DBCA can only be used to create standby databases for non-multitenant primary databases. In addition, this capability creates only single instance standby databases,not Oracle Real Application Clusters (Oracle RAC) databases. If required, the standby can then be converted to an Oracle RAC standby database, either manually or using Oracle Enterprise Manager Cloud Control.

在 12cR2 ( 12.2.0.1 )之前创建物理备库的方法有:

1 、使用 RMAN 备份恢复方法;

2 、在 11g 时可以选择 duplicate 方式创建物理备库;通过这种方式直接在线从主库搭建物理备库。

到 12cR2 ( 12.2.0.1 )后, Oracle 又提供更简单的方式来创建物理备库,即使用 DBCA 方式直接建立物理备库。这个功能再次简化了创建备库的复杂度。

通过 DBCA 提供的参数 createDuplicateDB 可以很容易的搭建一个物理备库。其具体语法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
-------------- 12cR2
-createDuplicateDB - Command to Duplicate a database.
        -gdbName <Global database name>
        -primaryDBConnectionString <EZCONNECT string to connect to primary database for example "host:port/servicename">
        -sid <Database system identifier>
        [-createAsStandby <Option to create a standby database>]
                [-dbUniqueName <db_unique_name for standby db>]
        [-customScripts <A comma separated list of SQL scripts which needs to be run post db creation.The scripts are run in order they are listed>]
        [-datafileDestination <Destination directory for all database files>]
        [-initParams <Comma separated list of name=value pairs>]
                [-initParamsEscapeChar <Specify escape character for comma when a specific initParam has multiple values.If the escape character is not specified backslash is the default escape character>]
  
  
  
----------- 18c
-createDuplicateDB - Command to Duplicate a database.
        -gdbName <Global database name>
        -primaryDBConnectionString <EZCONNECT string to connect to primary database for example "host:port/servicename">
        -sid <Database system identifier>
        [-initParams <Comma separated list of name=value pairs>]
                [-initParamsEscapeChar <Specify escape character for comma when a specific initParam has multiple values.If the escape character is not specified backslash is the default escape character>]
        [-policyManaged | -adminManaged]
        [-policyManaged <Policy managed databasedefault option is Admin managed database>]
                -serverPoolName <Specify the single server pool name in case of create server pool or comma separated list in case of existing server pools>
                [-pqPoolName <value>]
                [-createServerPool <Create a new server pool, which will be used by the database>]
                        [-pqPoolName <value>]
                        [-forceServerPoolCreation <To create server pool by force when adequate free servers are not available. This may affect the database which is already in running mode>]
                        [-pqCardinality <value>]
                        [-cardinality <Specify the cardinality of the new server pool that is to be created, default is the number of qualified nodes>]
        [-adminManaged <Admin managed database, this is default option>]
        [-datafileDestination <Destination directory for all database files>]
        [-nodelist <Node names separated by comma for the database>]
        [-databaseConfigType <SINGLE | RAC | RACONENODE>]
                [-RACOneNodeServiceName <Service name for the service to be created for RAC One Node database. This option is mandatory when the databaseConfigType is RACONENODE>]
        [-createAsStandby <Option to create a standby database>]
                [-dbUniqueName <db_unique_name for standby db>]
        [-customScripts <A comma separated list of SQL scripts which needs to be run post db creation.The scripts are run in order they are listed>]
  
  
  
  
----------- 19c
  
-createDuplicateDB - Command to Duplicate a database.
        -gdbName <Global database name>
        -primaryDBConnectionString <EZCONNECT string to connect to primary database for example "host:port/servicename">
        -sid <Database system identifier>
        [-useWalletForDBCredentials <true false> Specify true to load database credentials from wallet]
                -dbCredentialsWalletLocation <Path of the directory containing the wallet files>
                [-dbCredentialsWalletPassword <Password to open wallet with auto login disabled>]
        [-initParams <Comma separated list of name=value pairs>]
                [-initParamsEscapeChar <Specify escape character for comma when a specific initParam has multiple values.If the escape character is not specified backslash is the default escape character>]
        [-policyManaged | -adminManaged]
        [-policyManaged <Policy managed databasedefault option is Admin managed database>]
                -serverPoolName <Specify the single server pool name in case of create server pool or comma separated list in case of existing server pools>
                [-pqPoolName <value>]
                [-createServerPool <Create a new server pool, which will be used by the database>]
                        [-pqPoolName <value>]
                        [-forceServerPoolCreation <To create server pool by force when adequate free servers are not available. This may affect the database which is already in running mode>]
                        [-pqCardinality <value>]
                        [-cardinality <Specify the cardinality of the new server pool that is to be created, default is the number of qualified nodes>]
        [-adminManaged <Admin managed database, this is default option>]
        [-datafileDestination <Destination directory for all database files>]
        [-nodelist <Node names separated by comma for the database>]
        [-databaseConfigType <SINGLE | RAC | RACONENODE>]
                [-RACOneNodeServiceName <Service name for the service to be created for RAC One Node database. This option is mandatory when the databaseConfigType is RACONENODE>]
        [-createAsStandby <Option to create a standby database>]
                [-dbUniqueName <db_unique_name for standby db>]
        [-customScripts <A comma separated list of SQL scripts which needs to be run post db creation.The scripts are run in order they are listed>]

虽然通过 DBCA 能非常简单的创建一个物理备库,但是要使用这个功能,必须满足以下条件:

①  主库必须是单机环境,非 RAC 数据库;

②  主库必须是非 CDB 环境;

如果不满足以上条件, 那么 在使用 DBCA 创建备库的时候,会提示如下错误:

若 主库是 CDB 环境,错误如下:

1
2
[FATAL] [DBT-16057] Specified primary database is a container database (CDB).
CAUSE: Duplicate database operation is supported only for non container databases.

若 主库是 RAC 数据库,错误如下:

1
2
[FATAL] [DBT-16056] Specified primary database is not a Single Instance (SI) database.
CAUSE: Duplicate database operation is supported only for SI databases.

也就说通过 DBCA 搭建出来的备库也是一个单机非 CDB 的备库。

需要注意的是,在 12cR2 ( 12.2.0.1 )中,通过 DBCA 创建物理需要保证主库是单机非 CDB 的库,但是从 Oracle 18c ( 12.2.0.2 )开始,这些限制条件已经取消了,即主库是 CDB 或 rac 环境都可以通过 dbca 来创建物理备库。

以下命令为 18c 中创建 rac 类型的 dg :

1
2
3
4
5
6
7
8
9
10
11
dbca -silent -createDuplicateDB \
-gdbName lhrdb \
-sid lhrdbdg \
-sysPassword oracle \
-primaryDBConnectionString 192.168.20.10:1521/lhrdb \
-nodelist rac18c-n1,rac18c-n2 \
-adminManaged \
-databaseConfigType RAC \
-createAsStandby -dbUniqueName lhrdbdg \
-datafileDestination '+DATA' \
-initParams db_create_file_dest=+DATA, db_create_online_log_dest_1=+DATA,local_listener="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.20.10)(PORT=1521)))"

基于同一个主机搭建 单实例的物理 DG ( 19c ):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
SELECT CDB FROM  V$DATABASE
alter database force logging;
alter database open;
alter database archivelog;
alter pluggable database all open;
alter pluggable database  all save state;
  
select thread#,group#,bytes/1024/1024 SIZE_MB, status,members from v$log;
select member from v$logfile;
alter database add standby logfile thread 1 group '/u01/app/oracle/oradata/LHR19C/standby_redo04.log'   size 50M ;
alter database add standby logfile thread 1 group '/u01/app/oracle/oradata/LHR19C/standby_redo05.log'   size 50M ;
alter database add standby logfile thread 1 group '/u01/app/oracle/oradata/LHR19C/standby_redo06.log'   size 50M ;
alter database add standby logfile thread 1 group '/u01/app/oracle/oradata/LHR19C/standby_redo07.log'   size 50M ;
  
--------配置tns
lhr19c =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.52)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = lhr19c)
    )
  )
  
lhr19cdg =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.52)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = lhr19cdg)
    )
  )
  
--------配置监听
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.52)(PORT = 1521))
    )
  )
  
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = lhr19c)
      (ORACLE_HOME = /u01/app/oracle/product/19.2.0/dbhome_1)
      (SID_NAME = lhr19c)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = lhr19cdg)
      (ORACLE_HOME = /u01/app/oracle/product/19.2.0/dbhome_1)
      (SID_NAME = lhr19cdg)
    )
  )
  
LISTENER_DG =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.52)(PORT = 1522))
  )
  
SID_LIST_LISTENER_DG =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = lhr19c)
      (ORACLE_HOME = /u01/app/oracle/product/19.2.0/dbhome_1)
      (SID_NAME = lhr19c)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = lhr19cdg)
      (ORACLE_HOME = /u01/app/oracle/product/19.2.0/dbhome_1)
      (SID_NAME = lhr19cdg)
    )
  )
  
lsnrctl start LISTENER_DG
  
  
dbca -silent -createDuplicateDB \
-gdbName lhr19c \
-sid lhr19cdg \
-sysPassword lhr \
-primaryDBConnectionString 192.168.59.52:1522/lhr19c \
-nodelist raclhr-18c-n1 \
-databaseConfigType SINGLE \
-createAsStandby -dbUniqueName lhr19cdg \
-datafileDestination '/u01/app/oracle/oradata/lhr19cdg/' \
-initParams db_create_file_dest=/u01/app/oracle/oradata/lhr19cdg/, db_create_online_log_dest_1=/u01/app/oracle/oradata/lhr19cdg/,local_listener="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.52)(PORT=1522)))"
  
  
  
  
--主库修改参数
alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=lhr19c';
alter system set LOG_ARCHIVE_DEST_2='service=lhr19cdg  VALID_FOR=(online_logfiles,primary_role) DB_UNIQUE_NAME=lhr19cdg';
alter system set log_archive_config='dg_config=(lhr19c,lhr19cdg)';
alter system set db_file_name_convert='/u01/app/oracle/oradata/LHR19CDG/','/u01/app/oracle/oradata/LHR19C/' scope=spfile;
alter system set log_file_name_convert='/u01/app/oracle/oradata/LHR19CDG/','/u01/app/oracle/oradata/LHR19C/' scope=spfile;
alter system set standby_file_management=auto scope=spfile;
alter system set fal_client='lhr19c'
alter system set fal_server='lhr19cdg' sid='*';
alter system set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.52)(PORT=1522)))','(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.52)(PORT=1521)))';
shutdown immediate
startup
  
  
--备库修改参数
alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=lhr19cdg' scope=spfile;
alter system set log_archive_config='dg_config=(lhr19c,lhr19cdg)';
alter system set db_file_name_convert='/u01/app/oracle/oradata/LHR19C/','/u01/app/oracle/oradata/LHR19CDG/' scope=spfile;
alter system set log_file_name_convert='/u01/app/oracle/oradata/LHR19C/','/u01/app/oracle/oradata/LHR19CDG/' scope=spfile;
alter system set standby_file_management=auto scope=spfile;
alter system set fal_client='lhr19cdg'
alter system set fal_server='lhr19c' sid='*';
alter system set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.52)(PORT=1522)))','(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.52)(PORT=1521)))';
  
shutdown immediate
startup
alter system register;
  
  
--备库查询实时应用
alter database recover managed standby database cancel;
alter database recover managed standby database using current logfile disconnect;
! ps -ef|grep ora_mrp
  
select INST_ID, dbid,name,DB_UNIQUE_NAME,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status from gv$database;
  
COL NAME FOR A100
SET LINESIZE 9999  PAGESIZE 9999
COL NEXT_CHANGE# FOR 999999999999999
SELECT THREAD#, NAMESEQUENCE#, ARCHIVED, APPLIED, A.NEXT_CHANGE#
  FROM V$ARCHIVED_LOG A
 WHERE A.SEQUENCE# >= (SELECT MAX(B.SEQUENCE#) - 3
                         FROM V$ARCHIVED_LOG B
                        WHERE B.THREAD# = A.THREAD#
                          AND B.RESETLOGS_CHANGE# = A.RESETLOGS_CHANGE#
                          AND B.RESETLOGS_CHANGE# =
                              (SELECT D.RESETLOGS_CHANGE# FROM V$DATABASE D)
                          AND B.APPLIED = 'YES' 
  GROUP BY B.THREAD#)
 ORDER BY A.THREAD#, A.SEQUENCE#;



About Me

........................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文博客园地址: http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ群号: 230161599 (满) 、618766405

● weixin群:可加我weixin,我拉大家进群,非诚勿扰

● 联系我请加QQ好友 ( 646634621 ) ,注明添加缘由

● 于 2019-03-01 06:00 ~ 2019-03-31 24:00 在魔都完成

● 最新修改时间:2019-03-01 06:00 ~ 2019-03-31 24:00

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

........................................................................................................................

● 小麦苗的微店 : https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 小麦苗出版的数据库类丛书 : http://blog.itpub.net/26736162/viewspace-2142121/

● 小麦苗OCP、OCM、高可用网络班 : http://blog.itpub.net/26736162/viewspace-2148098/

● 小麦苗腾讯课堂主页 : https://lhr.ke.qq.com/

........................................................................................................................

使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。

........................................................................................................................

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2638038/,如需转载,请注明出处,否则将追究法律责任。

1

转载于:https://my.oschina.net/lhrbest/blog/3020961

【DG】Oracle 19c使用dbca来搭建物理DG相关推荐

  1. 【DG】Oracle 19c使用dbca来搭建物理DG--主rac备rac

    [DG]Oracle 19c使用dbca来搭建物理DG(单实例)参考:http://blog.itpub.net/26736162/viewspace-2638038/ 以下内容为主库是rac,备库也 ...

  2. Oracle 19c使用dbca来搭建物理DG--主rac备rac

    Oracle 19c使用dbca来搭建物理DG--主rac备rac 主备配置rman参数: CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL ...

  3. oracle 11g duplicate active database 建立物理DG

    环境: primary: OS: Red Hat Enterprise 5.8 IP: 10.131.119.118 DBVersion: 11.2.0.3.0 db_name: orcl db_un ...

  4. 【DATAGUARD】物理dg的switchover切换(五)

    [DATAGUARD]物理dg的switchover切换(五) [DATAGUARD]物理dg的switchover切换(五) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各 ...

  5. 【DATAGUARD】物理dg的failover切换(六)

    [DATAGUARD]物理dg的failover切换(六) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你 ...

  6. Oracle 19c rac的搭建

    Oracle  19c rac的搭建 基于18c的rac进行删除再搭建: http://blog.itpub.net/26736162/viewspace-2220931/ hostnamectl s ...

  7. Oracle 19c rac的搭建

    Oracle 19c rac的搭建 基于18c的rac进行删除再搭建: http://blog.itpub.net/26736162/viewspace-2220931/ hostnamectl se ...

  8. 【19c】Oracle 19c rac的搭建

    Oracle 19c rac的搭建 hostnamectl set-hostname raclhr-19c-n1 hostnamectl set-hostname raclhr-19c-n2 #Pub ...

  9. oracle 11g 对不同平台搭建DG的支持和限制.

    使用DG来方式来做升级和迁移,转RAC, 是很常见的方式:通常有 升级:        先搭建一个同版本同平台DG,  停源库后,在DG做本地升级, 升级后搭建GG到源库,做回滚. 转RAC: 同平台 ...

最新文章

  1. MVC-前台调用后台action 传递upload file 参数问题
  2. 细粒度情感分析:还在用各种花式GNN?或许只用RoBERTa就够了
  3. S1 商品信息管理系统
  4. 13.transform确保目标空间足够大
  5. linux查看当前用户终端,Linux----基本命令的使用(vi命令,查看文件内容,显示进程,切换用户等)...
  6. SQLServer导入excel报错因缺少插件
  7. 怎样成为一名A“.NET研究”ndroid开发者
  8. python 调用外部程序 终端异常_python调用外部命令
  9. 客户端连接故障检查流程手段
  10. 人群与网络:搜索引擎广告位的定价
  11. [转]IIS状态代码的含义
  12. 学习python第七天
  13. 房间WIFI信号不好怎么办?——无线路由桥接(WDS)
  14. 数据集:同一年龄段学生身高数据
  15. 寻找被黑金毁掉的黑客精神
  16. 非线性光纤光学_多模光纤中的非线性光学
  17. 矩阵与矩阵的转置相乘
  18. excel删除无尽空白行_Word技巧:快速删除Word文档中的空行
  19. 百度推广关键字质量度优化指南
  20. [经验] 系统封装常见问题大总结(非官方)

热门文章

  1. boost::intrusive::member_value_traits用法的测试程序
  2. boost::remove_edge_if用法的测试程序
  3. boost::endian::endian_arithmetic的测试程序
  4. ITK:计算图像中的kmeans像素簇
  5. VTK:可视化算法之VelocityProfile
  6. VTK:可视化之ShadowsLightsDemo
  7. VTK:Shaders之CubeMap
  8. VTK:相互作用之Picking
  9. Qt Creator使用Qt Quick工具栏
  10. C语言背包问题的算法(附完整源码)