一、配置主机

1. 设置主机名

hostnamectl set-hostname  DG

2. 配置网络

vim /etc/sysconfig/network-scripts/ifcfg-enp0s3

da8b902ce925c36c8081ea209ce82aa7.png

重启网卡

systemctl restart network

测试:

nslookup

5b15174f11d6210c7ea28bb1c563e046.png

重启生效

3. 主机环境

(1)执行env.sh. 配置环境,脚本如下:

(2)执行rpm.sh . 安装依赖包,脚本如下:

二、配置共享存储

单节点执行即可,对应主库共享磁盘组: DATA, GRIDG.  这里只是为了一致,没有强制要求一样。

三、配置远程桌面

分配配置 oracle grid  两个用户的远程桌面。

四、安装grid

(1)解压安装包:

unzip linuxamd64_12102_grid_1of2.zip

unzip linuxamd64_12102_grid_2of2.zip

(2) 将解压后的安装包拷贝到 /home/grid 目录下

mv grid  /home/grid/

(3) 进入grid的远程桌面,进入安装....

688c4d0eacb8bec71ab95681e8d1308e.png

2e50a3b709ffa0e273359a53962124c6.png

f7adff29bcbda7fbf1abe4563e36a63d.png

40ad02b089bbe1eeeb9dc66c3e46a5cb.png

75f12b83d6428d6db5c3d3a3af1e4a98.png

8493f73fcae4b1c775460574eec2fe65.png

cf8882ea7e2737e09b29412ce75258c4.png

3af3f67aebd830ed7c97499a51139e11.png

b0c13c4b423aba6c6d822cde4c9f517d.png

287ac344c64ca364f8880bb226e26e7c.png

cf82d025368dd490d11523a0b3be0e28.png

865362fc94affac9a5d97bf2f96e3cbf.png

(4) 相关问题

swap size 问题:

db058411657b1568de8cf1f32858f537.png

注释: 上面少写了一个0,空间还是不够,后面有加了一个。

修改/etc/fstab文件,在文件最后添加:

/opt/image/swap swap swap defaults 0 0

安装遗漏包

yum install libaio-devel*

忽略pdksh

b6285890007752901399729105ebedae.png

2d5217ab4f4f5daab0240fc699052249.png

f11a053d0b442e66ed86c000f189f3ce.png

图形界面执行脚本报错,通过命令执行,依然报错后,再直接提示的命令。

4178032f2c02a108e80b9ad407fda059.png

72319c940bd75948e710a55ac871d486.png

e8c9949c1c521f3cd416be00ddea3236.png

080b869e825112eb1f0275ed4d62eddd.png

五、安装数据库软件

(1)解压安装包:

unzip linuxamd64_12102_database_1of2.zip

unzip linuxamd64_12102_database_2of2.zip

(2) 将解压后的安装包拷贝到 /home/oralce 目录下

mv database /home/oracle/

(3) 进入oracle 的远程桌面,进入安装....

54950227fe1281fcfda8b8772a97953f.png

8aae733d8f4714bd6cad1b36dabdb92a.png

794df95042c99f8bf54a7b2eb84f55d3.png

0b67c11a9e9a5ed7e4f67615212c53e8.png

18eb5aa8770e25a381b0e75b540296aa.png

f4baaa0f445cfc3cca5c6564056c0d6f.png

353d3462f13fe689a88f8cae6f01a036.png

a4adb371749d7519596fb3b1ae48571e.png

44f29800d1e7810f24005edcd6f0b80c.png

cb59ae7e52f40e58b88b4543b1f1e568.png

cb076a2d4bc26d9919e6eb9e7bb06738.png

563bf2a1d6e558e949454102571956ba.png

b643a0f92bb82d193d3bd04aeb41d37a.png

f4b686b5dea9908395c05df0836449c0.png

6ef904cabf7298f4832de97d9c2e7452.png

fda07831fdfc0dd05ebffe51420cecdc.png

六、配置共享磁盘组

0695f79f60892d17b28ae3c51f7477ca.png

b4cec07f7b3a5ea47c63e0692313e258.png

6a5ee3270f0688de7aaf9a4b08102418.png

c88ae33ce8f516fc56913fa78abee591.png

d85c472e6bf88477e5af5cfd68c1e33d.png

七、配置静态监听和TNS

1、从库上配置静态监听

6f1cb49b3ded01b482a23b7161b52eff.png

此处是grid_home下的监听,注意将文件内容中的grid_home 修改成 oracle_home路径

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

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

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

)

)

SID_LIST_LISTENER =

( SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = yun)  #CDB

#(ORACLE_HOME = /u01/app/11.2/grid)

(ORACLE_HOME = /u01/app/oracle/product/11.2/db_1)

(SID_NAME = YUNDG)

)

(SID_DESC =

(GLOBAL_DBNAME = xiaochong)   #PDB

#(ORACLE_HOME = /u01/app/11.2/grid)

(ORACLE_HOME = /u01/app/oracle/product/11.2/db_1)

(SID_NAME = YUNDG)

)

)

2、主从上配置TNS

分别在主库的rac四个节点和从库的一个节点上对 tnsnames.ora 进行配置

文件路径:

/u01/app/oracle/product/11.2/db_1/network/admin/tnsnames.ora

##主库

YUN =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = yun)

)

)

##从库

YUNDG =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = yun)

八、配置密码文件

在rac中一个节点创建密码文件:

orapwd password='Oracle'  file=orapwyun1 entries=20;

然后,将其拷贝到其它三个节点和dg节点,将名称改成orapw+各节点的实例名。 如orapwyun2 orapwYUNDG

scp orapwyun1 oracle@rac02:/u01/app/oracle/product/11.2/db_1/dbs/

注意:不要分别在不同节点上创建密码文件,不然会报 密码文件不一致问题。

九、从库配置

1. 建立相关目录

(1)查看主库的数据文件,日志文件,控制文件路径

01e6bacf4282b20f558648e295fefb36.png

96c31935d6d3237129cbbb3e09f17a0e.png

68b728102de207f5d827b98339bf5bb1.png

3d2e3391a5d2640646d5debb59c576c4.png

(2)从库,用grid用户,进入asmcmd,建立相关目录

控制文件目录:

d80a686690b91337ff957ff835417647.png

同样,建立  +GRIDDG/YUM/CONTROLFILE 目录。

建立日志文件目录:

+DATA/YUN/ONLINELOG

+GRIDDG/YUN/ONLINELOG

建立数据文件目录:

+DATA/YUN/DATAFILE

+DATA/YUN/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE

+DATA/YUN/88E906E617243D8FE0536E38A8C04CBC/DATAFILE

+DATA/YUN/88E906E617243D8FE0536E38A8C04CBC/TEMPFILE

2、配置参数文件

从主库中创建pfile (create pfile from spfile),修改后,拷贝到从库

路径: /u01/app/oracle/product/11.2/db_1/dbs/initYUNDG.ora

内容如下:

*.audit_sys_operations=FALSE

*.audit_trail='NONE'

*.compatible='12.1.0.2.0'

*.control_files='/u01/app/oracle/oradate/controlfile/control01.ctl'

*.db_block_size=8192

*.db_create_file_dest='+DATA'

*.db_name='yun'

*.db_unique_name='yundg'

#*.db_recovery_file_dest='+DATA/'

#*.db_recovery_file_dest_size=5535m

*.diagnostic_dest='/u01/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=yunXDB)'

*.enable_pluggable_database=true

*.fal_client='YUNDG'

*.fal_server='YUN'

*.log_archive_config='dg_config=(YUNDG,YUN)'

*.log_archive_dest_1='location=+DATA/YUN/ARCHIVELOG valid_for=(all_logfiles,all_roles) db_unique_name=yundg'

*.log_archive_dest_2='service=YUN LGWR ASYNC valid_for=(online_logfiles,primary_role) db_unique_name=yun'

*.open_cursors=1000

*.pga_aggregate_target=681m

*.processes=300

*.remote_login_passwordfile='exclusive'

*.sga_target=2043m

*.standby_file_management='AUTO'

##下面两个参数注释掉,因为我们在从库配置了跟主库一样的目录结构。

#*.log_file_name_convert='+DATA/YUN/onlinelog','+DATA/YUN/onlinelog'

#*.db_file_name_convert='+DATA/YUN/datafile','+DATA/YUN/datafile'

十、主库配置

这里主要是修改参数:

alter system set log_archive_dest_2='service=YUNDG LGWR ASYNC valid_for=(online_logfiles,primary_role) db_unique_name=yundg' scope=both sid='*';

alter system set log_archive_config='dg_config=(YUN,YUNDG)' scope=both sid='*';

alter system set standby_file_management=auto scope=both sid='*';

alter system set fal_client=YUN scope=both sid='*';

alter system set fal_server=YUNDG  scope=both sid='*';

设置force logging

ALTER DATABASE FORCE LOGGING;

十一、复制

1、 rman连接主从数据库

rman target sys/Oracle01@YUN auxiliary sys/Oracle01@YUNDG

ebb3b95c45242b8f6fdc7f75dd4415dc.png

2、执行复制命令

duplicate target database for standby from active database nofilenamecheck dorecover;

错误记录1:

channel ORA_DISK_1: SID=60 instance=yun1 device type=DISK

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of Duplicate Db command at 05/28/2019 13:47:31

RMAN-05501: aborting duplication of target database

RMAN-03015: error occurred in stored script Memory Script

RMAN-03009: failure of backup command on ORA_DISK_1 channel at 05/28/2019 13:47:29

ORA-17629: Cannot connect to the remote database server

ORA-17627: ORA-12543: TNS:destination host unreachable

ORA-17629: Cannot connect to the remote database server

_______________________________________________________________________________________

主要是主库不能通过tnsname,ora连接到从库,确保 sqlplus sys/Oracle01@YUNDG as sysdba 能够连接

错误记录2:

channel ORA_AUX_DISK_1: starting datafile backup set restore

channel ORA_AUX_DISK_1: using network backup set from service YUN

channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_AUX_DISK_1: restoring datafile 00001 to +DATA

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of Duplicate Db command at 05/28/2019 14:04:07

RMAN-05501: aborting duplication of target database

RMAN-03015: error occurred in stored script Memory Script

ORA-19845: error in backupDatafile while communicating with remote database server

ORA-17628: Oracle error 19602 returned by remote Oracle server

ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode

ORA-19660: some files in the backup set could not be verified

ORA-19661: datafile 1 could not be verified

ORA-19845: error in backupDatafile while communicating with remote database server

ORA-17628: Oracle error 19602 returned by remote Oracle server

ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode

_______________________________________________________________________________________

主要是主库没有归档,开启归档即可

SQL> archive log list;

Database log mode

No Archive Mode

Automatic archival

Disabled

Archive destination

USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     26

Current log sequence

27

十二、补充standby log

在从库上创建standby log

alter database add standby logfile thread 1 group 9  size 50m,group 10 size 50m,group 11 size 50m;

alter database add standby logfile thread 2 group 12 size 50m,group 13 size 50m,group 14 size 50m;

alter database add standby logfile thread 3 group 15 size 50m,group 16 size 50m,group 17 size 50m;

alter database add standby logfile thread 4 group 18 size 50m,group 19 size 50m,group 20 size 50m;

如果是要主从切换,在主库上也要建立standby red log。

十三、打开数据库,进入恢复状态

alter  database open;

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

7a9227e92590b65f6aebf04f4c01f982.png

十四、测试(略)

创建用户,创建表,插入数据,从库同步能查询到数据。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐