Oracle无法切换容器一次挫折(oracle不能切换容器)

Oracle无法切换容器:一次挫折

在使用Oracle数据库时,我们常常会遇到各种各样的问题和挑战。有时候我们可以很顺利地处理这些问题,但有时候我们会碰到不可预见的错误,如无法切换容器。下面我们将分享一次遭遇该问题的挫折。

在一次项目中,我们需要使用Oracle 12c的多租户(Multitenant)功能。首先我们需要创建一个新的容器数据库(CDB):

CREATE DATABASE newcdb
CONTNERS = ALL
SEED = pluggable database;

然后我们需要创建一个新的可插入数据库(PDB):

CREATE PLUGGABLE DATABASE newpdb
ADMIN USER admin IDENTIFIED BY admin
ROLES=(DBA)
STORAGE(MAXSIZE UNLIMITED);

接下来我们需要切换到新的PDB:

ALTER SESSION SET contner=newpdb;

但是当我们执行这个命令时,却报错了:

ERROR:
ORA-65021: cannot switch to a PDB that has a higher version than CDB$

经过仔细排查,我们发现这是因为我们的CDB和PDB版本不同步造成的。我们的CDB版本是12.1.0.1,而我们在创建PDB时使用了12.2.0.1的Seed,导致了版本不同步。

接下来我们需要升级我们的CDB,使其能够兼容12.2.0.1版本的PDB。我们按照官方文档上的升级指南进行操作:

1. 下载并安装12.2的Oracle软件

2. 停止所有相关的服务:listener、oracle服务等

3. 进入到安装目录下的bin目录

4. 运行dbu脚本:./dbua

5. 按照向导提示进行操作,安装过程中需要选择CDB upgrade选项

6. 安装完成后,启动相关服务,然后重新连接数据库

7. 然后我们再次执行切换PDB的命令

ALTER SESSION SET contner=newpdb;

这次我们发现命令执行成功了。我们成功地切换到了新的PDB。我们很高兴地看到,我们的问题得到了妥善解决。但是在我们遭遇这个问题的时候,我们感到了无比的挫败。我们的项目进度被拖慢了,我们需要花费更多的时间来调试和处理这个问题。

我们的经验告诉我们,当我们遇到这样的问题时,我们需要耐心地分析问题的原因,仔细查阅官方文档,然后采取合适的措施来解决问题。我们需要时刻保持谨慎和实践,以免再次遭遇类似的挫折。


数据运维技术 » Oracle无法切换容器一次挫折(oracle不能切换容器)