1. 首页 > 软件安装教程 > 正文

Oracle容灾-Oracle26ai RAC ADG集群安装配置 FOR WINDOWS2022详细过程

1. 硬件环境要求

在配置Oracle26ai RAC ADG之前,必须确保主库和备库的硬件环境满足以下要求。更多学习教程www.fgedu.net.cn

生产环境建议:主库和备库的硬件配置应保持一致,确保性能匹配,避免备库成为性能瓶颈。
硬件组件 最低要求 生产环境建议
CPU 4核 8核以上
内存 16GB 32GB以上
磁盘空间 500GB 1TB以上(根据数据量调整)
网络 千兆网卡 万兆网卡

2. 操作系统准备

本文以Windows Server 2022 Standard为例,主库和备库均使用相同操作系统版本。

# 检查Windows版本
C:\> systeminfo | findstr /B /C:”OS Name” /C:”OS Version”
OS Name: Microsoft Windows Server 2022 Standard
OS Version: 10.0.20348 N/A Build 20348

# 检查系统内存
C:\> wmic memorychip get capacity
Capacity
17179869184
17179869184

# 检查磁盘空间
C:\> wmic logicaldisk get size,freespace,caption
Caption FreeSpace Size
C: 120000000000 200000000000
D: 500000000000 1000000000000

# 关闭防火墙(或开放必要端口)
C:\> netsh advfirewall set allprofiles state off

# 关闭Windows Defender
C:\> Set-MpPreference -DisableRealtimeMonitoring $true

3. 主库RAC集群安装配置

首先在主库服务器上安装Oracle26ai RAC集群。

3.1 安装Grid Infrastructure

# 1. 挂载Grid Infrastructure安装介质
# 2. 运行setup.exe启动安装向导
# 3. 选择”安装和配置Grid Infrastructure for a Cluster”
# 4. 选择”高级安装”
# 5. 选择”企业版”
# 6. 输入集群名称:fgedudb-cluster
# 7. 输入SCAN名称:fgedudb-scan,端口:1521
# 8. 添加节点:fgedudb01, fgedudb02
# 9. 配置网络:
– 公共网络:192.168.1.0/24
– 私有网络:172.16.1.0/24
# 10. 存储选项:选择”ASM”
# 11. 创建ASM磁盘组:
– 磁盘组名:dgfgsystem
– 冗余级别:外部冗余
– 选择磁盘:\Device\Harddisk1\Partition1
# 12. 设置ASM密码
# 13. 检查先决条件,点击”下一步”
# 14. 点击”完成”开始安装

3.2 安装Oracle数据库软件

# 1. 挂载Oracle数据库安装介质
# 2. 运行setup.exe启动安装向导
# 3. 选择”安装数据库软件”
# 4. 选择”企业版”
# 5. 设置Oracle基目录:D:\oracle\app\oracle
# 6. 选择集群节点:fgedudb01, fgedudb02
# 7. 检查先决条件,点击”下一步”
# 8. 点击”完成”开始安装

3.3 创建RAC数据库

# 1. 运行Database Configuration Assistant
# 2. 选择”创建数据库”
# 3. 选择”高级配置”
# 4. 选择”Oracle RAC数据库”
# 5. 输入全局数据库名:fgedudb
# 6. 选择存储选项:”使用ASM”
# 7. 选择ASM磁盘组:dgfgsystem
# 8. 设置数据库文件位置:+dgfgsystem
# 9. 选择”使用相同的密码对所有账户”
# 10. 检查先决条件,点击”下一步”
# 11. 点击”完成”开始创建数据库

3.4 主库参数配置

安装完成后,需要配置主库的参数以支持ADG。

— 以SYSDBA身份登录主库
C:\> sqlplus / as sysdba

— 启用归档模式
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;

— 配置强制日志记录
SQL> ALTER DATABASE FORCE LOGGING;

— 设置归档路径
SQL> ALTER SYSTEM SET log_archive_dest_1=’LOCATION=+dgfgsystem VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=fgedudb’ SCOPE=SPFILE;

— 设置主库唯一名称
SQL> ALTER SYSTEM SET db_unique_name=’fgedudb’ SCOPE=SPFILE;

— 配置ADG相关参数
SQL> ALTER SYSTEM SET log_archive_config=’DG_CONFIG=(fgedudb,fgedudb_stby)’ SCOPE=SPFILE;
SQL> ALTER SYSTEM SET log_archive_dest_2=’SERVICE=fgedudb_stby ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=fgedudb_stby’ SCOPE=SPFILE;
SQL> ALTER SYSTEM SET log_archive_dest_state_2=ENABLE SCOPE=SPFILE;
SQL> ALTER SYSTEM SET remote_login_passwordfile=EXCLUSIVE SCOPE=SPFILE;
SQL> ALTER SYSTEM SET standby_file_management=AUTO SCOPE=SPFILE;
SQL> ALTER SYSTEM SET fal_server=fgedudb_stby SCOPE=SPFILE;
SQL> ALTER SYSTEM SET fal_client=fgedudb SCOPE=SPFILE;

— 重启数据库使参数生效
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;

风哥提示:主库的参数配置是ADG成功的关键,需要确保所有参数正确设置。

3.5 创建密码文件

# 在主库创建密码文件
C:\> orapwd file=D:\oracle\app\oracle\product\26ai\db_1\database\PWDfgedudb.ora password=Oracle123 entries=10

3.6 配置监听器

# 编辑listener.ora文件(位于D:\oracle\app\oracle\product\26ai\db_1\network\admin)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = fgedudb01)(PORT = 1521))
)
)

# 启动监听器
C:\> lsnrctl start

# 检查监听器状态
C:\> lsnrctl status

4. 备库RAC集群安装配置

在备库服务器上安装Oracle26ai RAC集群。

4.1 安装Grid Infrastructure

# 1. 挂载Grid Infrastructure安装介质
# 2. 运行setup.exe启动安装向导
# 3. 选择”安装和配置Grid Infrastructure for a Cluster”
# 4. 选择”高级安装”
# 5. 选择”企业版”
# 6. 输入集群名称:fgedudb-stby-cluster
# 7. 输入SCAN名称:fgedudb-stby-scan,端口:1521
# 8. 添加节点:fgedudb03, fgedudb04
# 9. 配置网络:
– 公共网络:192.168.1.0/24
– 私有网络:172.16.1.0/24
# 10. 存储选项:选择”ASM”
# 11. 创建ASM磁盘组:
– 磁盘组名:dgfgsystem
– 冗余级别:外部冗余
– 选择磁盘:\Device\Harddisk1\Partition1
# 12. 设置ASM密码
# 13. 检查先决条件,点击”下一步”
# 14. 点击”完成”开始安装

4.2 安装Oracle数据库软件

# 1. 挂载Oracle数据库安装介质
# 2. 运行setup.exe启动安装向导
# 3. 选择”安装数据库软件”
# 4. 选择”企业版”
# 5. 设置Oracle基目录:D:\oracle\app\oracle
# 6. 选择集群节点:fgedudb03, fgedudb04
# 7. 检查先决条件,点击”下一步”
# 8. 点击”完成”开始安装

4.3 复制密码文件

# 从主库复制密码文件到备库
# 使用Windows资源管理器或命令行复制
C:\> copy \\fgedudb01\d$\oracle\app\oracle\product\26ai\db_1\database\PWDfgedudb.ora D:\oracle\app\oracle\product\26ai\db_1\database\PWDfgedudb_stby.ora

4.4 配置监听器和tnsnames.ora

# 编辑listener.ora文件
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = fgedudb03)(PORT = 1521))
)
)

# 编辑tnsnames.ora文件
FGEDUDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = fgedudb-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = fgedudb)
)
)

FGEDUDB_STBY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = fgedudb-stby-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = fgedudb_stby)
)
)

# 启动监听器
C:\> lsnrctl start

5. ADG配置

现在开始配置ADG,包括备库初始化和主备库同步。

5.1 主库生成备库初始化参数文件

— 以SYSDBA身份登录主库
C:\> sqlplus / as sysdba

— 生成备库初始化参数文件
SQL> CREATE PFILE=’D:\initfgedudb_stby.ora’ FROM SPFILE;

5.2 修改备库初始化参数文件

# 编辑D:\initfgedudb_stby.ora文件,修改以下参数
*.db_unique_name=’fgedudb_stby’
*.fal_server=’fgedudb’
*.fal_client=’fgedudb_stby’
*.log_archive_dest_1=’LOCATION=+dgfgsystem VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=fgedudb_stby’
*.log_archive_dest_2=’SERVICE=fgedudb ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=fgedudb’

# 将修改后的参数文件复制到备库
C:\> copy D:\initfgedudb_stby.ora \\fgedudb03\d$\oracle\app\oracle\product\26ai\db_1\database\

5.3 主库执行备份

— 以SYSDBA身份登录主库
C:\> sqlplus / as sysdba

— 执行全库备份
SQL> ALTER DATABASE BEGIN BACKUP;

— 复制数据文件到备库(使用Windows资源管理器或robocopy)
C:\> robocopy +dgfgsystem \\fgedudb03\d$\oracle\app\oracle\oradata\fgedudb /E

SQL> ALTER DATABASE END BACKUP;

— 生成当前控制文件用于备库
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS ‘D:\control01.ctl’;

— 复制控制文件到备库
C:\> copy D:\control01.ctl \\fgedudb03\d$\oracle\app\oracle\oradata\fgedudb\

— 复制当前归档日志到备库
C:\> robocopy D:\oracle\app\oracle\archive \\fgedudb03\d$\oracle\app\oracle\archive /E

5.4 备库启动到Mount状态

— 以SYSDBA身份登录备库
C:\> sqlplus / as sysdba

— 使用备库初始化参数文件启动到nomount状态
SQL> STARTUP NOMOUNT PFILE=’D:\oracle\app\oracle\product\26ai\db_1\database\initfgedudb_stby.ora’;

— 加载备库控制文件
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

5.5 配置备库自动应用日志

— 以SYSDBA身份登录备库
C:\> sqlplus / as sysdba

— 启动MRP进程
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

6. ADG状态验证

现在验证ADG配置是否成功,检查主备库状态。学习交流加群风哥微信: itpux-com

6.1 主库状态检查

— 以SYSDBA身份登录主库
C:\> sqlplus / as sysdba

— 检查主库角色
SQL> SELECT database_role FROM v$database;

DATABASE_ROLE
—————-
PRIMARY

— 检查归档日志状态
SQL> SELECT group#, status, archived FROM v$log;

GROUP# STATUS ARCHIVED
———- —————- ——–
1 CURRENT NO
2 INACTIVE YES
3 INACTIVE YES

— 检查归档目标状态
SQL> SELECT dest_id, status, error FROM v$archive_dest_status WHERE dest_id IN (1,2);

DEST_ID STATUS ERROR
———- ——— ——————–
1 VALID
2 VALID

6.2 备库状态检查

— 以SYSDBA身份登录备库
C:\> sqlplus / as sysdba

— 检查备库角色
SQL> SELECT database_role FROM v$database;

DATABASE_ROLE
—————-
PHYSICAL STANDBY

— 检查MRP进程状态
SQL> SELECT process, status FROM v$managed_standby;

PROCESS STATUS
——— ————
ARCH CONNECTED
ARCH CONNECTED
ARCH CONNECTED
ARCH CONNECTED
RFS IDLE
RFS IDLE
RFS IDLE
MRP0 APPLYING_LOG

— 检查备库同步状态
SQL> SELECT sequence#, applied FROM v$archived_log ORDER BY sequence# DESC;

SEQUENCE# APPLIED
———- ———
10 YES
9 YES
8 YES
7 YES
6 YES

生产环境建议:定期检查ADG同步状态,确保备库与主库保持一致。可以通过脚本监控MRP进程状态和日志应用情况。

7. 故障切换测试

进行故障切换测试,验证ADG在主库故障时的可用性。

7.1 主库故障模拟

— 以SYSDBA身份登录主库
C:\> sqlplus / as sysdba

— 模拟主库故障(强制关闭)
SQL> SHUTDOWN ABORT;

7.2 备库切换为主库

— 以SYSDBA身份登录备库
C:\> sqlplus / as sysdba

— 停止日志应用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

— 执行故障切换
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

— 打开数据库
SQL> ALTER DATABASE OPEN;

— 验证新主库状态
SQL> SELECT database_role FROM v$database;

DATABASE_ROLE
—————-
PRIMARY

7.3 原主库转换为备库

— 重新启动原主库到mount状态
C:\> sqlplus / as sysdba
SQL> STARTUP MOUNT;

— 转换为备库
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;

— 启动日志应用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

8. 生产环境建议

生产环境建议:

  • 定期备份主库和备库,确保数据安全
  • 监控ADG同步状态,设置告警机制
  • 定期进行故障切换测试,确保ADG在紧急情况下能够正常工作
  • 配置网络带宽足够的网络连接,确保日志传输顺畅
  • 使用Oracle Data Guard Broker管理ADG,简化管理操作
  • 定期更新Oracle补丁,确保安全性和稳定性
风哥提示:ADG配置完成后,需要定期进行维护和监控,确保在主库故障时能够快速切换到备库,保证业务连续性。

学习交流加群风哥QQ113257174

更多学习教程公众号风哥教程itpux_com

from:www.itpux.com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息