暂无图片
分享
NIU
2020-12-16
ADG搭建问题

搭建11gRAC-----11g单机—ADG
1.主库oracle11grac
主机名 ip 实例名
rac1 192.168.88.50 orcl1
rac2 192.168.88.51 orcl2

备库单机oracle11g
主机名 ip 实例名
node1 192.168.88.30 orcldg

环境介绍上述主备库归档日志以开启:
主库归档路径:+datadg/arch
备库归档路径:/arch
主库数据文件在asm
备库数据文件在本地文件系统

基础环境,如主集群数据库状态正常,备库单机数据库也正常。

2.开启主库强制日志模式

先查看是否开启:
select name,log_mode,force_logging from v$database;
开启主库强制日志模式:
alter database force logging;

3.配置主库/备库参数

主库:
alter system set db_unique_name= orcl scope=spfile;
alter system set LOG_ARCHIVE_CONFIG=‘DG_CONFIG=( orcl, orcldg)’;
alter system set log_archive_dest_1=‘location=+DATADG/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME= orcl’ scope=spfile;####log_archive_dest_1设置根据自己归档路径修改,设置不对,数据库会报错
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=‘SERVICE=orcldg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcldg’;
alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;
alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;
alter system set FAL_SERVER= orcldg;
alter system set FAL_CLIENT= orcl;
alter system set standby_file_management=auto;
alter system set db_file_name_convert= ‘/home/u01/app/oracle/oradata/orcldg’,’/home/u01/app/oracle/oradata/orcl’ scope=spfile;
alter system set log_file_name_convert= ‘/home/u01/app/oracle/oradata/orcldg’,’/home/u01/app/oracle/oradata/orcl’ scope=spfile;

备库:
alter system set db_unique_name= orcldg scope=spfile;
alter system set LOG_ARCHIVE_CONFIG=‘DG_CONFIG=( orcldg, orcl)’;
alter system set log_archive_dest_1=‘location=/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcldg’ scope=spfile;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=‘SERVICE=orcl LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl’;
alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;
alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;
alter system set log_archive_format=’%t_%s_%r.dbf’;
alter system set log_archive_max_processes=10;
alter system set db_file_name_convert=’/home/u01/app/oracle/oradata/orcl’,’/home/u01/app/oracle/oradata/orcldg’ scope=spfile;
alter system set log_file_name_convert=’/home/u01/app/oracle/oradata/orcl’,’/home/u01/app/oracle/oradata/orcldg’ scope=spfile;

3.设置备库密码文件

主库操作:
su - oracle
[oracle@rac1 ~]$ cd /home/u01/app/oracle/product/11.2.0/db_1/dbs/
[oracle@rac1 dbs]$ ls
hc_orcl1.dat init.ora initorcl1.ora orapworcl1 snapcf_orcl1.f
[oracle@rac1 dbs]$ scp orapworcl1 oracle@192.168.88.30:/home/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl1

4.主备库添加网络名

主库操作:节点1和节点都操作
[oracle@rac1 admin]$ vi /home/u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

)

)
orcldg =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.30)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcldg)
)
)
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.51)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.50)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

[oracle@rac2 ~]$ vi /home/u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

)

orcldg =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.30)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcldg)
)
)
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.51)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.50)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

备库操作:
[oracle@node1 ~]$ vi /home/u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

orcldg =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.30)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcldg)
)
)
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.51)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.50)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

然后主备库测试tnsping是否可以

主库:tnsping orcldg
备库:tnsping orcl

5.备库添加监听静态注册

[oracle@node1 admin]$ vi listener.ora

listener.ora Network Configuration File: /home/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora

Generated by Oracle configuration tools.

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)

ADR_BASE_LISTENER = /home/u01/app/oracle

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /home/u01/app/oracle/product/11.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcldg)
(ORACLE_HOME = /home/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = orcldg)
)
)
------lsnrctl status
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME =orcldg)
(ORACLE_HOME = /home/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = orcldg)
)
)

上述参数以配置完成,下面就是数据库初始化:

6.利用rman的duplicate来备份

在备库操作:
备库要启动到nomout状态下
rman target sys/123456@orcl auxiliary sys/123456@orcldg

–报错如下:

[oracle@node1 admin]$ rman target sys/123456@orcl auxiliary sys/123456@orcldg

Recovery Manager: Release 11.2.0.4.0 - Production on Wed Dec 16 01:24:29 2020

Copyright © 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected to target database: ORCL (DBID=1586871081)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04006: error from auxiliary database: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

第一种方式行不通 那就用别的方式进行备份数据库导入到备库

备份主库:
rman target /
configure channel device type disk format ‘/home/oracle/rmanbk/%d_%I_%s_%p.bkp’;
backup as compressed backupset database include current controlfile for standby plus archivelog;
将备份传输至备库
[oracle@up rmanbk]$ scp ORCL_1586871081_* 192.168.88.50:/home/oracle/rmanbk/
在备库恢复控制文件
rman target /
RMAN> restore standby controlfile from ‘/home/oracle/rmanbk/ORCL_1586871081_8_1.bkp’
2> ;

Starting restore at 2020-12-15 23:53:08
using channel ORA_DISK_1

channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
output file name=/home/u01/app/oracle/oradata/orcldg/control01.ctl
output file name=/home/u01/app/oracle/oradata/orcldg/control02.ctl
Finished restore at 2020-12-15 23:53:11
将数据库 Mount
sql ‘alter database mount’; --执行报错

sql statement: alter database mount
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of sql command on default channel at 12/15/2020 23:54:13
RMAN-11003: failure during parse/execution of SQL statement: alter database mount
ORA-01103: database name ‘ORCL’ in control file is not ‘ORCLDG’

请各位大佬从我描述的情况中给指点指点看看哪里有问题

收藏
分享
5条回答
默认
最新
lscomeon

你先把这两个问题研究一下,并不难,抓住重点

RMAN-04006: error from auxiliary database: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

ORA-01103: database name ‘ORCL’ in control file is not ‘ORCLDG’

暂无图片 评论
暂无图片 有用 0
NIU

帮我看看中间哪里出了问题。 还有 主库跟备库的实例是否要一致,数据库版本号

暂无图片 评论
暂无图片 有用 0
lscomeon

1.dg的数据库那么保持一致,DB_UNIQUE_NAME,INSTANCE_NAME可以不一致
2.数据库版本号要一直。
3.RMAN-04006: error from auxiliary database: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
猜是因为你备库咩有startup nomount,检查lsnrctl status 检查监听配置。
4.ORA-01103: database name ‘ORCL’ in control file is not ‘ORCLDG’
猜是你pfile中的dbname和控制文件中的不一致
5.配置主库备库参数时,路径转换的设置存在问题
alter system set db_file_name_convert= ‘/home/u01/app/oracle/oradata/orcldg’,’/home/u01/app/oracle/oradata/orcl’ scope=spfile;
6.备库密码文件名应该和备库实例名对应
scp orapworcl1 oracle@192.168.88.30:/home/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl1
7.tnsnames.ora 配置错误,存在两条orcl同名

多看看文档,有问题再更新
https://www.modb.pro/doc/665

暂无图片 评论
暂无图片 有用 0
NIU

解决了 谢谢,就是db_file_name_convert,log_file_name_convert,参数问题,还有就是主库copy到备库时,修改参数时有些参数要注释掉,比如主库rac,备库单机,类似设计到集群参数,还有scan-ip,备库的控制文件路径,数据文件路径都要做相应的修改。

暂无图片 评论
暂无图片 有用 0
NIU
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏