Oracle 19c使用dbca来搭建物理DG
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 database , default 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 database , default 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 4 '/u01/app/oracle/oradata/LHR19C/standby_redo04.log' size 50M ; alter database add standby logfile thread 1 group 5 '/u01/app/oracle/oradata/LHR19C/standby_redo05.log' size 50M ; alter database add standby logfile thread 1 group 6 '/u01/app/oracle/oradata/LHR19C/standby_redo06.log' size 50M ; alter database add standby logfile thread 1 group 7 '/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#, NAME , SEQUENCE #, 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 #; |
Oracle 19c使用dbca来搭建物理DG的更多相关文章
- 【DATAGUARD】物理dg的failover切换(六)
[DATAGUARD]物理dg的failover切换(六) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你 ...
- 【DATAGUARD】物理dg的switchover切换(五)
[DATAGUARD]物理dg的switchover切换(五) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...
- Oracle物理DG自动切换——Dataguard Broker配置
1.前言部分 1.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能: ① Data Guard Broker 的配置 ② Fast-Start Failover 的配置 ③ Oracle D ...
- oracle 19c dataguard silent install (oracle 19c dataguard 静默安装)
环境说明 1.关闭透明大页 RHEL 6: # cat /sys/kernel/mm/redhat_transparent_hugepage/enabled [oracle@rhel 6 ~]$ c ...
- Linux平台 Oracle 19c RAC安装Part3:DB配置
Linux平台 Oracle 19c RAC安装Part3:DB配置 四.DB(Database)配置 4.1 解压DB的安装包 4.2 DB软件配置 4.3 ASMCA创建磁盘组 4.4 DBCA建 ...
- Oracle 19C的下载和安装部署(图形安装和静默安装)
Oracle 19C的下载和安装部署(图形安装和静默安装) https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/ ...
- Linux平台 Oracle 19c RAC安装Part2:GI配置
三.GI(Grid Infrastructure)安装 3.1 解压GI的安装包 3.2 安装配置Xmanager软件 3.3 共享存储LUN的赋权 3.4 使用Xmanager图形化界面配置GI 3 ...
- Linux平台 Oracle 19c RAC安装Part1:准备工作
一.实施前期准备工作 1.1 服务器安装操作系统 1.2 Oracle安装介质 1.3 共享存储规划 1.4 网络规范分配 二.安装前期准备工作 2.1 各节点系统时间校对 2.2 各节点关闭防火墙和 ...
- 【DATAGUARD】物理dg配置客户端无缝切换 (八.4)--ora-16652 和 ora-16603错误
[DATAGUARD]物理dg配置客户端无缝切换 (八.4)--ora-16652 和 ora-16603错误 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各 ...
随机推荐
- YIi url美化
一.Yii Url美化,配置urlManager组件 'urlManager' => [ 'enablePrettyUrl' => true, // 开启URL美化,可以去掉 index. ...
- centos6.8 固定IP
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.0.116 NET ...
- 大数据hadoop生态圈
大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它比作一个厨房所以需要的各种工具.锅碗瓢盆,各有各的用处,互相之间又有重合.你可 ...
- Maven 下载和配置环境
1.下载 Maven 的网址 www.apache.org www.apache.org 下载放到自己的文件夹里然后解压出来 然后配置环境,打开 我的电脑 按鼠标右键右键 属性 按 新建 然 ...
- python部分面试- 测试维度
2. 软件测试的维度 1. 正确性:功能 正确 2. 健壮性: 意外的输入,不会崩溃 3. 性能: 大压力, 依然能工作 4. 可靠性: 长时间,不会崩溃 5. 易用性: 目标客户,都易用 6. 安全 ...
- html冲刺
html知识点回顾与面试题<!--1.<DOCTYPE>告诉浏览器当前文档要以何种HTML或者XHTML规范解析2.语义标签strong 粗体em 斜体del 删除线ins 下划线 ...
- ISAPI多进程设置
ISAPI多进程设置 IIS默认配置下采用的是单工作进程的工作模式,也就是只启用一个w3wp.exe进程处理所有请求,然后进程内启用多个线程来处理并发请求,最大工作线程数由具体的操作系统和IIS来决定 ...
- wsdl 生成 java 代码 java 使用CXF将wsdl文件生成客户端代码命令java调用第三方的webservice应用实例 推荐使用, 并且设置了 utf8
推荐使用, 并且设置了 utf8 wsdl2java -p cn.smborderservice -encoding utf-8 -d f:\logink\src -all -autoNameRes ...
- iOS:如何实现在文字上添加拼音
一.介绍 最近项目有一个需求,需要给朗诵的文字添加对应的拼音,而且要求使用原生的控件实现.一开始听到这个需求挺懵逼的,感觉有点难.后来,静下来想一下,其实还是可以实现的,无非就是自定义了.下面,就来说 ...
- 自动化运维之PSSH
1.PSSH简介 PSSH提供OpenSSH和相关工具的并行版本.包括pssh,pscp,prsync,pnuke和pslurp.该项目包括psshlib,可以在自定义应用程序中使用. pssh是py ...