Oracle无法新建CDB(oracle不创建cdb)

Oracle无法新建CDB

在安装Oracle 12c时,有时我们可能需要在Oracle实例中创建新的CDB(容器数据库)。然而,在实践中,我们可能会遇到一些问题。这篇文章将介绍可能遇到的问题和相应的解决方案。

问题描述

当我们尝试在Oracle实例中创建新的CDB时,我们可能会遇到以下错误消息:

ORA-65040: operation not allowed from within a pluggable database

这意味着当前会话正在一个PDB(可插拔数据库)中运行,无法执行跨CDB的操作。因此,我们必须退出当前的PDB并重新登录到CDB才能继续操作。

解决方案

要解决这个问题,我们需要多个步骤:

1.关闭所有已连接的PDB

使用以下SQL语句关闭任何当前打开的PDB:

ALTER PLUGGABLE DATABASE CLOSE ALL;

2.退出所有会话

使用以下SQL语句退出所有会话:

ALTER SYSTEM DISCONNECT SESSION ‘session_id’ IMMEDIATE;

请注意,您需要重复此步骤,直到找到所有打开的PDB。

您还可以使用以下命令列出所有打开的PDB:

SELECT NAME, OPEN_MODE FROM V$PDBS WHERE OPEN_MODE!=’READ ONLY’;

3.登录到CDB

使用以下命令登录到CDB:

SQLPLUS / AS SYSDBA

4.创建新的CDB

现在,您可以在CDB中创建新的PDB。

CREATE PLUGGABLE DATABASE new_pdb ADMIN USER pdb_admin IDENTIFIED BY pdb_admin_password

STORAGE (MAXSIZE 10GB MAX_SHARED_TEMP_SIZE UNLIMITED)

DEFAULT TABLESPACE “USERS”

DATAFILE ‘new_pdb_datafile_01.dbf’ SIZE 500M AUTOEXTEND ON;

5.开启新创建的PDB

使用以下SQL语句启动新创建的PDB:

ALTER PLUGGABLE DATABASE new_pdb OPEN;

结论

在Oracle实例中创建新的CDB是一项常见的任务,但有时可能会遇到一些问题。在这篇文章中,我们介绍了一些可能的解决方案,以帮助您处理创建CDB时可能遇到的问题。希望这些信息对您有所帮助。


数据运维技术 » Oracle无法新建CDB(oracle不创建cdb)