Oracle 19c 配置并启用PDB数据库

本文介绍了在Oracle19c的多租户环境中,如何在启动数据库实例后将PDB从MOUNT状态转换为OPEN状态,包括查看数据库类型、切换容器、开启和关闭PDB的操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题发现

        在Oracle 19c多租户环境中,默认情况下,使用startup命令启动数据库实例后,你会发现PDB数据库的状态为MOUNT状态,PDB不会随着CDB启动而启动。

二、查看当前使用的数据库类型

使用sqlplus以管理员身份登录数据库

sqlplus / as sysdba

如果数据库在oracle账号下,则切换到oracle账号

su - oracle

使用如下命令查看数据库类型

select sys_context('USERENV','CON_NAME') from dual;

 若是CDB,则需要切换,先查看当前PDB数据库名称

show pdbs;

如果PDB数据库的状态时MOUNTED,是不能进行读写操作的,需要置为OPEN;

三、开启PDB数据库

注意名称大小写,复制,使用语句进行启动,开启PDB数据库,ORCLPDB 是我自己的PDB数据库名,自行替换哈

alter pluggable database ORCLPDB open;

再切换到PDB数据库

alter session set container=ORCLPDB;

再查看当前使用容器

select sys_context('USERENV','CON_NAME') from dual;

四、扩展

# 启动数据库
startup;

# 关闭数据库
shutdown immediate;

# 开启全部pdb
alter pluggable database all open;

# 关闭所有dpb
alter pluggable database all close; 

<think>好的,我现在需要回答用户关于在Oracle 19c RAC环境中搭建PDB的ADG的问题。首先,我得回顾一下用户提供的引用内容,看看是否有相关的步骤或注意事项。 用户提到了三个引用,其中引用[1]和[3]涉及Oracle 19c ADG的搭建,尤其是引用[3]提到了使用RMAN Duplicate在RAC环境中创建备库。不过,用户的问题特别针对RAC环境中的PDB级别ADG配置,可能需要更具体的步骤。 首先,我需要确认Oracle 19c是否支持在RAC环境下为PDB配置ADG。根据Oracle的文档,从12c开始,多租户架构支持ADG,但具体到RAC环境中的PDB可能需要特定的配置,比如确保每个节点的ORACLE_HOME一致,以及存储的管理,比如使用ASM。 接下来,搭建ADG的一般步骤包括主库和备库的配置、传输日志、应用日志等。对于RAC环境,可能需要处理多个实例,而备库可能是单机或另一个RAC。用户提供的引用[3]中提到了使用RMAN Duplicate来创建备库,这同样适用于PDB的情况,但需要注意是否在PDB级别操作。 然后,考虑PDB的特殊性。在配置ADB时,主库的PDB需要处于归档模式,且备库的PDB需要保持只读状态。此外,可能需要使用数据泵导出导入PDB的元数据,或者在主备之间同步PDB配置。 用户的问题还提到最佳实践,这可能包括网络配置、存储规划、日志传输的优化,以及切换测试等。需要确保主备库的兼容性参数设置正确,例如db_unique_name、log_archive_config等。 另外,引用[2]提到关闭备库时的错误,这可能是在配置过程中需要注意的步骤,比如确保数据库正确打开到mount状态,避免操作错误导致的问题。 总结步骤可能包括: 1. 主库RAC环境准备,确保所有节点配置正确。 2. 创建备库的单机或RAC实例,配置ASM存储。 3. 使用RMAN Duplicate从主库复制数据到备库,注意使用active duplicate避免停机。 4. 配置监听和tnsnames,确保主备通信。 5. 验证日志传输和应用状态。 6. 测试切换流程,确保高可用性。 同时,需要处理可能遇到的问题,例如网络延迟、存储空间不足、参数配置错误等。还要引用用户提供的资料中的步骤,比如引用[3]中的RMAN命令,可能需要调整以适用于PDB的情况。 最后,生成相关问题时要围绕ADG配置的扩展,比如性能优化、故障处理、多租户下的其他配置等。</think>### Oracle 19c RAC环境中PDB的ADG配置步骤 在Oracle 19c RAC环境中为PDB配置Active Data Guard(ADG),需结合RAC多节点特性与多租户架构。以下是关键步骤和最佳实践: --- #### **1. 环境准备** - **主库要求**: - RAC集群所有节点需使用相同版本的Oracle软件(`ORACLE_HOME`一致)[^1]。 - PDB需处于归档模式:`ALTER DATABASE ARCHIVELOG;`。 - 启用强制日志记录:`ALTER DATABASE FORCE LOGGING;`。 - **备库部署**: - 备库可以是单机或RAC环境,建议使用ASM管理数据文件[^3]。 - 确保主备库`db_unique_name`不同,且`log_archive_config`参数包含主备库的DB_UNIQUE_NAME。 --- #### **2. 使用RMAN Duplicate创建备库** 在备库执行以下操作(以单机备库为例): ```bash # 创建必要目录 mkdir -p /u01/oradata/orcl/onlinelog/ # 使用Active Duplicate(无需主库停机) rman target 'sys/"Oracle123"'@orcl_primary auxiliary 'sys/"Oracle123"'@orcl_standby nocatalog DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE NOFILENAMECHECK; ``` 此命令会通过网络直接复制主库数据,生成备库控制文件[^3]。 --- #### **3. 配置日志传输与应用** - **主库参数调整**: ```sql ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=orcl_standby ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_standby' SCOPE=BOTH; ``` - **启动备库MRP进程**: ```sql ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT; ``` --- #### **4. PDB级同步与验证** - **主库PDB操作**: - 确保PDB处于读写模式,数据文件路径与备库ASM磁盘组匹配。 - **备库PDB状态**: ```sql ALTER PLUGGABLE DATABASE <pdb_name> OPEN READ ONLY; ``` - **验证同步状态**: ```sql SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY; ``` --- #### **5. 主备切换测试** - **主库切换为备库**: ```sql ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY; ``` - **备库切换为主库**: ```sql ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY; ``` 完成后需重启实例[^2]。 --- #### **最佳实践** 1. **网络与存储规划**: - 使用低延迟网络,确保日志传输效率。 - ASM磁盘组命名与路径需在主备库一致。 2. **监控与告警**: - 定期检查`V$DATAGUARD_STATS`视图中的延迟指标。 3. **备份策略**: - 在备库执行只读查询和备份,减少主库负载。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值