Oracle 12C Data Gurad RAC TO RAC
Oracle 12C RAC TO RAC Data Guard on RHEL7
0.环境说明
| primary db | physical standby | |
| 操作系统 | rhel7 x86_64 | rhel7 x86_64 |
| 数据库版本 | 12.2.0.1 | 12.2.0.1 |
| IP | 10.150.10.134/136 | 10.150.10.139/141 |
| 主机名称 | vm-oradb1-N1/N2 | vm-oradb2-N1/N2 |
| 数据库名称 | albin | albin |
| db_unique_name | albin | albindg |
| 实例名称 | albin1/albin2 | albin1/albin2 |
| tnsnames | tns_albin | tns_albindg |
| dg监听 | lsnr_dg:1625 | lsnr_dg:1625 |
1. 创建primary容器库
1)dbca建库
dbca -ignorePreReqs -ignorePrereqFailure -silent -createDatabase \ -gdbName albin \ -sid albin \ -templateName General_Purpose.dbc \ -characterSet AL32UTF8 \ -createAsContainerDatabase true \ -numberOfPDBs \ -pdbName tmpdb \ -pdbAdminPassword oraP#ssw0rd \ -pdbOptions JSERVER:true,XML:true,CATJAVA:true,CONTEXT:true,ORDIM:true \ -useLocalUndoForPDBs true \-databaseConfigType RAC \ -databaseType MULTIPURPOSE \ -datafileDestination +DATA \ -datafileJarLocation /oracle/app/oracle/product/12.2/db_1/assistants/dbca/templates \ -emConfiguration NONE \ -enableArchive false \ -memoryMgmtType AUTO_SGA \ -memoryPercentage \ -nationalCharacterSet AL16UTF16 \ -nodelist vm-oradb1-N1,vm-oradb1-N2 \ -redoLogFileSize \ -storageType ASM \ -sysPassword oraP#ssw0rd \ -systemPassword oraP#ssw0rd \ -useOMF true \ -recoveryAreaDestination NONE
2. 配置Oracle Net和监听
1)tnsnames配置(主备)
su - oracle
vi $(orabasehome)/network/admin/tnsnames.ora
tns_albin =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = albin)
)
)
tns_albindg =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = albindg)
(UR = A)
)
)
2)配置监听
-- 主备添加dg监听器su - grid
srvctl add listener -listener LSNR_DG -endpoints "TCP:1625"
srvctl start listener -listener LSNR_DG
-- 备库添加静态监听
vi $(orabasehome)/network/admin/listener.ora
SID_LIST_LSNR_DG =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = albindg)
(ORACLE_HOME = /oracle/app//grid)
(SID_NAME = albin1)
)
(SID_DESC =
(GLOBAL_DBNAME = albindg_DGMGRL)
(ORACLE_HOME = /oracle/app//grid)
(SID_NAME = albin1)
)
)注:其它节点实例按实际情况修改标红处内容
3. 密码文件配置
1)查看密码文件路径
$ srvctl config database -d albin Database unique name: albin Database name: albin Oracle home: /oracle/app/oracle/product/12.2/db_1 Oracle user: oracle Spfile: +DATA/ALBIN/PARAMETERFILE/spfile.1328.982582089 Password file: +DATA/ALBIN/PASSWORD/pwdalbin.1312.982581307 Domain: Start options: open
2)复制密码文件到备端服务器
拷贝密码文件到文件系统并传到备端服务器 方案1: su - oracle sqlplus "/ as sysdba" create or replace directory source_dir as '+data/albin/password'; create or replace directory dest_dir as '/tmp'; set lines pages col DIRECTORY_NAME for a32 col owner for a18 col DIRECTORY_PATH for a80 select owner, DIRECTORY_NAME, DIRECTORY_PATH,ORIGIN_CON_ID from dba_directories; begin dbms_file_transfer.copy_file( source_directory_object => 'source_dir', source_file_name => 'pwdalbin.1312.982581307', destination_directory_object => 'dest_dir', destination_file_name => 'orapwalbin'); end; / SQL> host ls -l /tmp/orapwalbin 方案2: su - grid asmcmd cd data/albin/password cp pwdalbin.1312.982581307 /tmp/orapwalbin -- 备端服务器节点
scp /tmp/orapwalbin grid@vm-ora-N1:/tmp/orapwalbinsu - gridasmcmd -exec "cp /tmp/orapwalbin +data/albindg/password/orapwalbin"
4. 主库开启force logging 和归档
SQL> alter database force logging; alter system set log_archive_format='%t_%s_%r.arc' scope=spfile sid='*'; alter system set db_recovery_file_dest_size='102400M' scope=spfile sid='*'; alter system set db_recovery_file_dest='+data' scope=spfile sid='*'; alter system set db_file_name_convert='+data/albindg','+data/albin' scope=spfile sid='*'; alter system set log_file_name_convert='+data/albindg/onlinelog','+data/albin/onlinelog' scope=spfile sid='*'; create pfile='/home/oracle/albin20180816.ora' from spfile; srvctl stop database -db albin srvctl start instance -db albin -i albin1 -o mount sqlplus "/ as sysdba" alter database archivelog; alter database flashback on; srvctl stop instance -db albin -i albin1 srvctl start database -db albin
5. 主库配置dg参数
alter system set db_block_checking=FULL scope=both sid='*'; alter system set db_block_checksum=FULL scope=both sid='*'; alter system set db_lost_write_protect=TYPICAL scope=both sid='*'; alter system set standby_db_preserve_states=ALL scope=spfile sid='*'; alter system set log_archive_config='DG_CONFIG=(albin,albindg)' scope=both sid='*'; alter system set log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=albin' scope=both sid='*'; alter system set log_archive_dest_2='SERVICE=tns_albindg LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=albindg' scope=both sid='*'; alter system set fal_server=tns_albindg scope=both sid='*'; alter system set fal_client=tns_albin scope=both sid='*'; alter system set standby_file_management=AUTO scope=both sid='*';
6. 创建pfile给备库使用
sqlplus "/ as sysdba" create pfile='/home/oracle/stdby.ora' from spfile;host scp /home/oracle/stdby.ora oracle@vm-ora-N1:/home/oracle/stdby.ora
7.主库上创建standby redo logfile
对物理备库创建备重做日志文件,查询主库的联机重做日志文件,备重做日志文件的大小应该与主库联机重做日志文件的大小相同,备重做日志文件组的数量应该比主库联机重做日志文件组多一组,计算公式为(maximum # of logfiles +1) * maximum # of threads (实际:standby_redo_logs = 主库日志组+1,成员数量一致)
注意:RAC数据库,在创建重做日志文件时需要指定thread号
('+DATA') size 100M;
('+DATA') size 100M;
('+DATA') size 100M;
( ( ('+DATA') size 100M;
( ( ('+DATA','+DATA') size 100M;
('+DATA') size 100M;
('+DATA') size 100M;
('+DATA') size 100M;
8. 编辑备库pfile并修改参数配置
vi stdby.ora *.audit_file_dest='/oracle/app/oracle/admin/albin/adump' *.audit_trail='db' *.cluster_database=true *.compatible='12.2.0' *.control_files='+DATA/ALBINDG/CONTROLFILE/current.1317.982581509' *.db_block_checking='FULL' *.db_block_checksum='FULL' *.db_block_size= *.db_create_file_dest='+DATA' *.db_file_name_convert='+data/albin','+data/albindg' *.db_lost_write_protect='TYPICAL' *.db_name='albin' *.db_unique_name='albindg' *.db_recovery_file_dest='+DATA' *.db_recovery_file_dest_size= *.diagnostic_dest='/oracle/app/oracle' *.dispatchers='' *.enable_pluggable_database=true *.fal_client='TNS_ALBIN' *.fal_server='TNS_ALBINDG' family:dw_helper.instance_mode='read-only' albin1.instance_number= albin2.instance_number= albin2.thread= albin1.thread= albin2.undo_tablespace='UNDOTBS2' albin1.undo_tablespace='UNDOTBS1' *.local_listener='-oraagent-dummy-' *.log_archive_config='DG_CONFIG=(albin,albindg)' *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=albindg' *.log_archive_dest_2='SERVICE=tns_albin LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=albin' *.log_archive_format='%t_%s_%r.arc' *.log_file_name_convert='+data/albin/onlinelog','+data/albindg/onlinelog' *.nls_language='AMERICAN' *.nls_territory='AMERICA' *.open_cursors= *.pga_aggregate_target= *.sga_target= *.processes= *.remote_login_passwordfile='exclusive' *.standby_db_preserve_states='ALL' *.standby_file_management='AUTO'
9. 备库创建目录结构
mkdir -p $(orabase)/admin/albin/{adump,dpdump,pfile,xdb_wallet}
10. 备库启动nomount
export ORACLE_SID=albin1 sqlplus "/ as sysdba" create spfile='+data' from pfile='/home/oracle/stdby.ora'; startup nomount;
-- 获取spfile路径名称
su - grid
asmcmd spget
11. rman duplicate 初始化备库
rman target sys/oraP#ssw0rd@tns_albin auxiliary sys/oraP#ssw0rd@tns_albindg nocatalog
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
allocate auxiliary channel aux1 device type disk;
allocate auxiliary channel aux2 device type disk;
allocate auxiliary channel aux3 device type disk;
allocate auxiliary channel aux4 device type disk;
duplicate target database for standby from active database nofilenamecheck;
}
12. 备库注册数据库实例服务
srvctl add database -db albindg -oraclehome /oracle/app/oracle/product/12.2/db_1 -dbtype RAC -spfile '+DATA/ALBIN/PARAMETERFILE/<根据步骤10结果补充>' -role physical_standby -startoption open -stopoption immediate -dbname albin -policy automatic -diskgroup DATA srvctl add instance -db albindg -instance albin1 -n vm-ora-N1 srvctl add instance -db albindg -instance albin2 -n vm-ora-N2
13. 备库执行实时重做应用(其中一个节点实例执行)
sqlplus "/ as sysdba" alter database recover managed standby database using current logfile disconnect from session; -- alter database recover managed standby database parallel 8 using current logfile disconnect from session; -- 关闭实时应用 alter database recover managed standby database cancel;
Oracle 12C Data Gurad RAC TO RAC的更多相关文章
- Oracle 12c RAC 静默安装文档
参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...
- ORACLE 12c RAC的常用管理命令
ORACLE 12c RAC的常用管理命令 一.查询 1.RAC查询 1.1.查询节点 [grid@swnode1 ~]$ su - grid [grid@swnode1 ~]$ /u01/app/1 ...
- 安装oracle 12c RAC遇到的一些问题
(1) 安装grid软件,停止在38%很长时间不动,日志显示正常 解决方法: 由于是虚拟机安装,设置的内存为600M,关闭虚拟机,把内存调成1GB,问题解决~在38%Linking RMAN Ut ...
- Oracle 12C RAC的optimizer_adaptive_features造成数据插入超时
问题分析 使用10046事件追踪方式,直接生成上传时的数据库事件日志进行分析,发现主要区别在于以下两条sql语句在每次长时间上传时都有出现,并且执行用户不是上传用户,而是数据库SYS用户. ***** ...
- Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 with RU
Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 -- [ RU: 26610291 (GRID INFRASTRUCTURE RE ...
- Data Guard Physical Standby - RAC Primary to RAC Standby 使用第二个网络 (Doc ID 1349977.1)
Data Guard Physical Standby - RAC Primary to RAC Standby using a second network (Doc ID 1349977.1) A ...
- oracle 11g r2 使用rman进行迁移rac到rac
源端服务器主机名 rac05 rac06公共IP地址(eth0) 10.15.8.15 10.15.8.16 虚拟IP地址(eth0) 10.15.8.17 10.15.8.18私有IP地址(eth1 ...
- 浅析Oracle 12c中Data Guard新特性
浅析Oracle 12c中Data Guard新特性 写在前面 无论是做Oracle运维的小伙伴还是老伙伴,想必对Oracle数据库的数据级灾备核心技术—Data Guard是再熟悉不过了!这项从 ...
- Data Guard:Oracle 12c –新增和更新的功能 (Doc ID 1558256.1)
Data Guard: Oracle 12c – New and updated Features (Doc ID 1558256.1) APPLIES TO: Oracle Database - E ...
随机推荐
- [日常] 高性能MySQL-索引
1.mysql的索引工作类似一本书的目录部分,想找某个特定主题,先查找书的目录部分,找到对应的页码2.ORM工具只能生成基本的合法的查询3.索引是在存储引擎层实现的,不是服务器层4.B-tree就是指 ...
- 【Java基础】8、java中的native方法
native是与C++联合开发的时候用的!java自己开发不用的! 使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用.这些函 ...
- Cuckoo for Hashing(hash)hunnuoj
Problem B:Cuckoo for HashingAn integer hash table is a data structure that supports insert, delete a ...
- 【JavaFx教程】第五部分:将数据用 XML 格式存储
第5部分的主题 持久化数据为XML 使用JavaFX的FileChooser 使用JavaFX的菜单 在用户设置中保存最后打开的文件路径. 现在我们的地址应用程序的数据只保存在内存中.每次我们关闭应用 ...
- Android - 注解
原理: http://www.cnblogs.com/Fndroid/p/5354644.html http://www.jianshu.com/p/28edf5352b63 开源库: ButterK ...
- 自定义MVC框架之工具类-文件上传类
截止目前已经改造了3个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 该文件上传类功能如下: 1,允许定制上传的文件类型,文件mime信息,文 ...
- Unix环境高级编程:文件 IO 原子性 与 状态 共享
参考 UnixUnix环境高级编程 第三章 文件IO 偏移共享 单进程单文件描述符 在只有一个进程时,打开一个文件,对该文件描述符进行写入操作后,后续的写入操作会在原来偏移的基础上进行,这样就可以实现 ...
- Onsen UI for React文档
注:采用ES6+JSX语法 1.开始一个项目 在React中使用Onsen UI 需要首先安装onsenui和react-onsenui模块. 可以使用monaca CLI工具包快速初始化一个应用: ...
- jquery插件-fullpage.js
1⃣️ 简介 fullPage.js 是一个基于 jQuery 的插件,它能够很方便.很轻松的制作出全屏网站,主要功能有: 支持鼠标滚动 支持前进后退和键盘控制 多个回调函数 支持手机.平板触摸事件 ...
- 【mpvue】使用Mpvue撸一个简单的小程序
一.快速创建一个mpvue项目 全局安装 vue-cli (如果有就不需要装了) 创建一个基于mpvue-quickstart模板的新项目,记得选择安装vuex vue init mpvue/ ...