ORACLE 21C RAC TO RAC Dataguard 安装部署

基于RAC的Gataguard架构

主备数据库环境准备

主备数据库及其实例配置如图表1-1所示。

GRID_HOME

/grid/grid_home

+ASM1,+ASM2

Diskgrooracle删除表up for GIoracle存储过程

+OCR

racdb

racdg

21crac1,21crac2

ASM

+DGARCH

/oracle/db11g

CentOS7.6

配置项目

Primary端

Standby端

Clusterware

Grid Infrastructure 21oracle安装步骤详细CR2(21.5.0.0.0)

Grid Infrastructure 21CR2(oracle安装21.5.0.0.0)

Cluster Nodes

21crac1,21crac2

21crac1,21crac2

/grid/grid_home

SCoracle是什么软件AN

rac21c-scan,Por数据库系统工程师t 1521

rac21c-scoracle安装an,Port 1521

SCAN Listeneoracle怎么读r

21crac1-vip,21crac2-vip数据库技术

21crac1-vip,21crac2-vip

ASM Instance

+ASM1,+ASoracle是什么软件M2

+OCR

DB_NAME

racdb

DB_UNIQUE_NAME

racdb

INSTANCE_NAME

21crac1,21crac2

DB Loracle认证考试istener

21oracle删除表crac1-voracle安装步骤详细ip,21crac2-vip(port 1521)

21crac1-vip,21crac2-vip(port 1521)

DB Storage

ASM

File ManaOraclegement

AUTO,+ASM

AUTO,+ASM

Diskgroup for DB

+DATA

+DATA

Diskgroup for ARCH

+DGARCH

ORACLE_HOME

/oracle/db11g

DBMS version

21C(oracle安装21.5.0.0.0.0)

21C(21.5.0.0.0.0)

OperatioDATAGUARDn System

Ceoracle删除表ntOS7.6数据库设计

Dataguard搭建前的基本条件

主从数据库都是ORACLE 21CRAC环境,数据和ORACLE程序都在ASM 共享磁盘上。为简化叙述,假设如下基Oracle础条件已经具备

Primary

※ 两节点GridInfrastructure集群环境已经安装配置完成。

※ 共享存储:ASM数据库系统实例及其磁盘组DATADGARCH。

※ 两节点的DBMS集群环境已数据库查询语句经安装完成。

RAoracle怎么读C数据库RACDB已经创建,两个实例21crac121crac2已经运行oracle数据库在两个节点。

※ 节点的LocalListener和集群ScanListener已经配置。

※ 主数据库地址如下:

192.168.6.31 21crac1
192.168.6.32 21crac1-vip
192.168.31.31 21crac1-priv

192.168.6.33 21crac2
192.168.6.34 21crac2-vip
192.168.31.33 21crac2-priv

192.168.6.35 rac21c-scan

运行crsctl stat res -t检查各资源状态。

Standby端

※ 两节点GridInfrastructure集群环境已经安装配置完成。

※ 共享存储:ASoracle删除表M实例及其磁盘组DATA、DGSoracle删除表YS、DGARCH。

※ 两节点的DBMS集群环境已经安装完成。

※ 节点的LocalListener数据库是什么和集群ScanListener已经配数据库系统oracle是什么软件

※ 备用端的主机地址信息如下:

192.168.6.36 21crac1
192.168.6.37 21crac1-vip
192.168.32.31 21crac1-priv

192.168.6.38 21crac2
192.168.6.39 21crac2-vip
192.168.32.33 21crac2-priv192.168.6.40 rac21c-scan

运行crsctl stat res -t检查各资源状态。

Primary端RAC数据库准备

为构造基于RAC的DATAGUARD环境,在RAC数据库中需要做必要的工作准备,主要包括如下几个方面:

※数据库启动FORCE LOGGING。

※启动归档模式。

※创建数据库查询语句STANDBY REDO LOG。

※对数据库进行一次备份。

※创建备用数据库的控制文数据库件。

※针对备用数据库配置网络服务。

※为DATAGUARD设置主数据库初始化参数。

※ 为备用数据库准备初始化参数。

调整主库日志模式

DATAGUARD环境oracle是系统软件吗下的主数据库需要启动强制日志记录和归档模式。首先检查主oracle是什么软件数据库的日志归档模式与归档模式;然后,登录数据库RA数据库管理系统C的其中一个节点执行如下操作:

SQL> select force_logging from v$database;

FOR
---
YES

SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination +DGARCH
Oldest online log sequence 59
Next log sequence to archive 60
Current log sequence 60

如果主数据库没有上述强制日数据库设计志记录状态和归档日志模式,就需要对其进行调整,集oracle是什么软件群数据库调整时需要关闭其他所有数据库技术实例。

oracle@21crac1[21crac1]/home/oracle$srvctl stop database -d racdb
oracle@21crac1[21crac1]/home/oracle$sqlplus / as sysdba
SQL> startup mount;
SQL> alter database force logging;
SQL> SELECT NAME,LOG_MODE,FORCE_LOGGING FROM GV$DATABASE;
SQL> alter database archivelog;
SQL> SELECT NAME,LOG_MODE,FORCE_LOGGING FROM GV$DATABASE;
SQL> shutdown immediate;
oracle@21crac1[21crac1]/home/oracle$srvctl start database -d racdb

备份主数据库

备份主数据库需要注意两方面内容,一是对主数据库进行一次物理备份,为在备用端数数据库设计据库做准备,二是在主数据库中创建备用数据库的控制文件。在主数据库端备份完成后,将形成的备份集传输到oracle怎么读备用端节点(执行数据库还原操作的节点的对数据库系统应位置)

mkdir /odc/dbbak
rman target /
RMAN> run
{
sql "alter system switch logfile";
allocate channel ch1 type disk;
allocate channel ch2 type disk;
allocate channel ch3 type disk;
backup as compressed backupset database format '/odc/dbbak/Primary_bakp_for_stdby_%U.bak';
backup as compressed backupset archivelog all format '/odc/dbbak/ARC_bakp_for_stdby_%U.arc';
backup format '/odc/dbbak/standby_bakp_for_stdby_%U.ctl' current controlfile for standby;
release channel ch1;
release channel ch2;
release channel ch3;
}

将备份的文数据库设计件传输到远端备库/odc/dbbak,包括主库oracle认证考试备份文oracle数据库件,备库控制文件,备库参数文件传输至备库服务器。

scp /odc/dbbak/Primary_bakp_for_stdby_%U.bak oracle@192.168.6.36:/odc/dbbak/
scp /odc/dbbak/ARC_bakp_for_stdby_%U.arc oracle@192.168.6.36:/odc/dbbak/
scp /odc/dbbak/standby_bakp_for_stdby_%U.ctl oracle@192.168.6.36:/odc/dbbak/

传输备份文件和pfile文件oracle数据库到备库

21C的密码文件在ASM磁盘数据库系统概论第五版课后答案组中

srvctl config dataoracle数据库base -d racdb可以查看密码文件

把密码文数据库原理及应用件从数据库查询语句ASM复制出来并scp到备库


                                            ORACLE 21C RAC TO RAC Dataguard 安装部署

scp /tmp/pwdracdb.256.1095630267 oracle@192.168.6.36:/odc/dbbak/pwdracdg

主备数据库端网络配置

对备用数据库将要进行的数据库及其实例配置网络服务器。配合给出的预置环境,更新ORACLE数据库系统 NET网络服务配置文件tnsnames.ora的内容。21oracle删除表C的tnsnoracle是系统软件吗ames.ora文件在$ORACLE_BASE/homes/OraDB21Home1/network/admin目录下。配置如下:

racdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.32)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.34)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = racdb)
)
)

racdg =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.37)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.39)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = racdg)
)
)

如果上述配置仅在RAC主数据库端一个节点配置,则需要将tnsnamoracle是什么软件e.ora文件复制到集群所有节点,包括备用端。

创建备库配置文件pfile.ora

#创建pfile
create pfile='/home/oracle/pfile.ora' from spfile;修改pfile
#添加以下参数
*.db_unique_name=racdg
#修改以下参数
*.control_files='+DATA/control_racdg.ctl'

传输备份文件和oracle是什么软件pfile文件到备库

scp /home/oracle/pfile.ora oracle@192.168.6.36:/odc/dbbak/

Standby端RAC数据库准备

物理备用数据库的数据库管理系统最初形态是由物理备份还原而成,物理备用数据库控制文件数据库系统的核心是是在主数据库中生成的。因此备用数据库端的主要工作如下:

※将主数据库形成的备份集、备用控制文件,传输至备用端的相应位置。

※复制主数据库端的口令文件,参数文件至备用端,并进行必要的修改。

※准备备用数据库实例的运行环境。

※启动数据库实例,并利用备份还原数据库

※ 创建备用重做日志

创建相关目录

#根据主库传输过来的pfile.ora文件中配置的目录在备库中创建
mkdir -p /oracle/admin/racdb/adump

添加Standby数据库服务

srvctl add database -d racdg -o /oracle/db11g 
srvctl add instance -d racdg -i racdb1 -n racdb1
srvctl add instance -d racdg -i racdb2 -n racdb2

启动Standby数据库到NOMOUNT状态

sqlplus / as sysdba
startup nomount pfile='/home/oracle/pfile.ora'

Stanoracle和mysql区别dby数据库配置密码文件

把从主库传输过来的密码文件复制到ASM目录下

asmcmd
cd +data/racdg

修改备库配置关联密码文件

srvctl modify database -d racdg -pwfile '+data/racdg/pwdracdg'

oracle数据库建Standby数据库spfile并重启实例到NOMOUNT状态

create spfile from pfile='/home/oracle/pfile.ora';
startup nomount force;

恢复备库控制文件并启动到MOUNT状态

rman target /
restore controlfile from '/odc/dbbak/standby_bakp_for_stdby_0g0ld96r_16_1_1.ctl';
alter database mount;

恢复Standby数据库

rman target /
run{
allocate channel ch1 type disk;
allocate channel ch2 type disk;
allocate channel ch3 type disk;
restore database;
recover database;
release channel ch1;
release channel ch2;
release channel ch3;
}

Standby数据库创建Standby redolog

想要Standby数据库实时同步主库的变化,需要在备库创建standby logfile,每个thread都要创建,group组数量要比主库多一个,日志大小与主库大小一致

ALTER DATABASE ADD STANDBY LOGFILE thread 1 ('+DATA') SIZE 200M;
ALTER DATABASE ADD STANDBY LOGFILE thread 1 ('+DATA') SIZE 200M;
ALTER DATABASE ADD STANDBY LOGFILE thread 1 ('+DATA') SIZE 200M;
ALTER DATABASE ADD STANDBY LOGFILE thread 2 ('+DATA') SIZE 200M;
ALTER DATABASE ADD STANDBY LOGFILE thread 2 ('+DATA') SIZE 200M;
ALTER DATABASE ADD STANDBY LOGFILE thread 2 ('+DATA') SIZE 200M;

调整主备库参数并开启同步

执行以下步骤时可以tail -f 主备库的alert日志文件,检查是否有报错信息oracle是什么软件

调整备库参数

alter system set log_archive_config='dg_config=(racdb,racdg)' sid='*';
alter system set FAL_SERVER = racdb sid='*';
alter system set fal_client=racdg sid='*';
alter system set STANDBY_FILE_MANAGEMENT=AUTO sid='*';

调整主库参数

alter system set log_archive_dest_2='service=racdg lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=racdg' sid='*';
alter system set log_archive_config='dg_config=(racdb,racdg)' sid='*';
alter system set log_archive_dest_state_2=enable;

备库启动实时数据同步

alter database recover managed standby database using current logfile disconnect;

这里检查主备库alert日志是否有报错

启动两个实例

停止前面已经启动实例的恢复
alter database recover managed standby database cancel;
启动该实例到read only状态
alter database open read only;
启动另外一个实例
srvctl start instance -d racdg -i racdb1
启动备库实时数据同步
sqlplus / as sysdba
alter database recover managed standby database using current logfile disconnect;

验证数据同步

主库创建一张临时表
create table test_dg as select * from dba_tables;
备库检查是否存在
select * from test_dg;
在主库insert数据测试是否可以实施同步到备库

故障排查思路

数据库的alert日志输出的信息很重要,根据报错信息去找对应数据库系统的核心是的解决方法。

备库的密码文件要与主库的完全一致,而且主库的两个节数据库技术点的密码文件也要完全一致。否则很容易出现各种问题。不过21C的密码文件里放在ASM里,出问题的概率小了很多。

做完调整之后想测试调整是否有用,可以在主库执行alter system setlog_archi数据库系统的核心是ve_dest_state_2=enable;命令让主库尝试与备库同步归档。