Oracle9i数据库DataGuard实施及维护手册2

简介: 六.实施步骤 Physical Standby配置 修改控制文件,修改最大日志组为10 alter database backup controlfile to trace; ORACLE_HOME为/export/home/oracle/app/oracle/product/9.

六.实施步骤

Physical Standby配置

修改控制文件,修改最大日志组为10

alter database backup controlfile to trace;

ORACLE_HOME/export/home/oracle/app/oracle/product/9.2.0

190作为primary185作为Standby

创建StandbyOracle软件

打包Primary上的oracle软件

cd /export/home/oracle/app/oracle/product

tar cvf db.tar 9.2.0

ftpStandby服务器相应目录

创建Standby上的Oracle软件目录结构

mkdir -p /export/home/oracle/app/oracle/product

cd /export/home/oracle/app/oracle/product

tar xvf db.tar

cd /export/home/oracle/app/oracle

mkdir -p admin/ctsdb/bdump

mkdir -p admin/ctsdb/cdump

mkdir -p admin/ctsdb/udump

创建Standby上的dba组,oracle用户,修改oracle用户的环境变量,修改/etc/system文件

1。设置Primary强制Logging

ALTER DATABASE FORCE LOGGING;

2。设置Primary为归档模式,启动自动归档

3。检查Primary中所有数据文件

4。关闭Primary,关闭应用服务器,停止监听

5cp所有数据文件到本地备份路径

6。启动Primary,保持监听和应用服务器处于停止状态


7。生成Standby控制文件

ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/control01.ctl';

8。生成初始化参数文件

CREATE PFILE='/tmp/initctsdb.ora' FROM SPFILE;

9。将5,7,8中生成的所有文件以及密码文件cpStandby服务器

10。修改Standby的初始化参数文件

添加下面行:

*.standby_archive_dest='/export/spare/oradata/ctsdb/archive'

*.fal_server='ctsdb.primary'

*.fal_client='ctsdb.standby'

*.standby_file_management=auto

*.remote_archive_enable=TRUE

11。修改PrimaryStandbylisener.oratnsnames.ora文件

# LISTENER.ORA Network Configuration File: /export/home/oracle/app/oracle/product/9.2.0/

network/admin/listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER_DG =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = ctsdb)

(ORACLE_HOME = /export/home/oracle/app/oracle/product/9.2.0)

(SID_NAME = ctsdb)

)

)

LISTENER_DG =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.5.210)(PORT = 1522))

)

# TNSNAMES.ORA Network Configuration File: /export/home/oracle/app/oracle/product/9.2.0/

network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

CTSDB.STANDBY =


 (DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.5.211)(PORT = 1522))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SID = ctsdb)

)

)

CTSDB.PRIMARY =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.5.210)(PORT = 1522))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SID = ctsdb)

)

)

12。设置StandbySQLNET.ORA文件

添加SQLNET.EXPIRE_TIME=2,该配置表示在Standby由于故障不可用时,Primary将持续检测2分钟,如果仍然不可用,则返回网络连接错误。

13。创建Standbyspfile

CREATE SPFILE FROM PFILE='/tmp/initctsdb.ora';

14。启动Standby

STARTUP NOMOUNT;

ALTER DATABASE MOUNTSTANDBY DATABASE;

如果要使用LGWR进程传递redo数据,那么需要添加standby redolog,如果使用ARCH进程传递redo数据,那么这步可以省略

alter database add standby logfile group 4

('/global/oradata/ctsdb/stdby_redo04.log') size 1024K;

alter database add standby logfile group 5

('/global/oradata/ctsdb/stdby_redo05.log') size 1024K;

alter database add standby logfile group 6

('/global/oradata/ctsdb/stdby_redo06.log') size 1024K;

alter database add standby logfile group 7

('/global/oradata/ctsdb/stdby_redo07.log') size 1024K;

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE PARALLEL


<CPU*2> DISCONNECT FROM SESSION;

为了防止以后primarystandby切换,可以在primary上也建立相应的standby redolog

15。设置Primary的归档地址

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=CTSDB.STANDBY LGWR' SCOPE=BOTH;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH;

16。测试Primary的归档能否应用到Standby

ALTER SYSTEM ARCHIVE LOG CURRENT;

17。停止Standby

alter database recover managed standby database cancel;

shutdown immediate;

18。切换到只读模式

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

ALTER DATABASE OPEN READ ONLY;

19。切换回管理恢复模式

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE PARALLEL 8 DISCONNECT FROM SESSION;

以上为MAX PERFORMANCE模式的DataGuard

如果要改为MAX AVAILABILITY,进行如下操作:

检查当前Primary库的保护模式

select protection_mode from v$database;

转换数据库模式为MAX AVAILABILITY

shutdown immediate;

startup mount;

alter database set standby database to maximize availability;

alter database open;

如果要强制Primary一分种归档一次,那么设置Primary的初始化参数ARCHIVE_LAG_TARGET

alter system set ARCHIVE_LAG_TARGET=60 scope=both;

如果想要自动在Standby上应用Primary中创建数据文件等操作,需要在Standby上设置:

alter system set STANDBY_FILE_MANAGEMENT=AUTO scope=both;


使用RMAN进行DataGuard环境的快速配置总结:

              1. 预先设置好Standby上所需的参数文件和路径, 修改standbyfal_serverfal_client参数

              2. 作Primay的联机RMAN备份

              3. 启动Primay,随时都可以生成standby control file

              4. 在Standby端,用生成的standby control filemount database

              5. 在Standby端,RMAN中作restore databse

              6. 设置standbyRECOVER MANAGED状态

 

PirmayStandby之间作switchover,此时PrimaryStandby均为正常状态,并且网络正常。

Primary

SELECT SWITCHOVER_STATUS FROM V$DATABASE;

ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;

SHUTDOWN IMMEDIATE;

STARTUP NOMOUNT;

ALTER DATABASE MOUNTSTANDBY DATABASE;

Standby

SELECT SWITCHOVER_STATUS FROM V$DATABASE;

ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

SHUTDOWN;

STARTUP;

Primay

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Standby FailoverPrimary,此时由于故障Primary宕机或者网络不通

 

目录
相关文章
|
10天前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
28 0
|
1天前
|
存储 Oracle 关系型数据库
oracle 数据库 迁移 mysql数据库
将 Oracle 数据库迁移到 MySQL 是一项复杂的任务,因为这两种数据库管理系统具有不同的架构、语法和功能。
11 0
|
17天前
|
存储 Oracle 网络协议
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
|
21天前
|
Oracle 网络协议 关系型数据库
异地使用PLSQL远程连接访问Oracle数据库【内网穿透】
异地使用PLSQL远程连接访问Oracle数据库【内网穿透】
|
21天前
|
SQL Oracle 安全
Oracle数据库中的事务和锁
【4月更文挑战第19天】Oracle数据库的事务和锁是确保数据完整性和并发控制的核心机制。事务遵循ACID原则,保证操作的原子性、一致性、隔离性和持久性。通过COMMIT或ROLLBACK来管理事务更改。锁包括共享锁(读)、排他锁(写)、行级锁和表级锁,用于控制并发访问。自动锁机制在DML操作时生效,防止数据冲突。事务和锁共同维护数据库的稳定和安全。
|
21天前
|
存储 Oracle 关系型数据库
Oracle RAC:数据库集群的舞动乐章
【4月更文挑战第19天】Oracle RAC是Oracle提供的高可用性数据库解决方案,允许多个实例共享同一数据库,确保业务连续性和数据完整性。通过集群件和全局缓存服务实现服务器间的协调和通信。RAC提供高可用性,通过故障转移应对故障,同时提升性能,多个实例并行处理请求。作为数据管理员,理解RAC的架构和管理至关重要,以发挥其在数据管理中的最大价值。
|
21天前
|
监控 Oracle 安全
Oracle用户事件触发器:数据库世界的“福尔摩斯”
【4月更文挑战第19天】Oracle用户事件触发器是数据库中的监控机制,类似于“福尔摩斯”,在用户执行特定操作时自动触发。它们关注用户行为而非数据变化,可用于权限检查、安全监控、性能优化等。通过DDL语句创建,需注意逻辑清晰、条件合适及定期更新,以适应数据库变化和业务发展。掌握其使用能有效保障数据安全与稳定。
|
9天前
|
关系型数据库 MySQL Linux
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
|
9天前
|
SQL 关系型数据库 MySQL
【MySQL-5】DDL的数据库操作:查询&创建&删除&使用(可cv代码+演示图)
【MySQL-5】DDL的数据库操作:查询&创建&删除&使用(可cv代码+演示图)
|
9天前
|
SQL 关系型数据库 MySQL
【MySQL-1】理解关系型数据库&数据的数据模型
【MySQL-1】理解关系型数据库&数据的数据模型