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时可能遇到的问题。希望这些信息对您有所帮助。