以SYSTEM用户切换PDBORCL容器报错ORA-65024技术咨询
嗨,这个问题很好解决,报错已经明明白白告诉你了——你的PDBORCL还没处于打开状态,咱们一步步来搞定它:
解决ORA-65024: Pluggable database PDBORCL is not open的问题
步骤1:先确认PDB的状态
你现在是以SYSTEM用户登录到CDB的根容器(CDB$ROOT)里,先执行这条SQL看看所有PDB的状态:
SELECT name, open_mode FROM v$pdbs;
执行后你会看到PDBORCL的open_mode是MOUNTED或者CLOSED,这就是导致切换失败的原因。
步骤2:打开PDBORCL容器
这里有两种打开方式,按需选择:
- 临时打开:数据库重启后PDB会回到关闭状态,适合临时测试:
ALTER PLUGGABLE DATABASE pdborcl OPEN; - 永久打开:让PDB每次CDB启动时自动打开,更适合长期使用:
第二条语句是用来保存当前的打开状态,确保下次数据库重启时PDBORCL会自动启动。ALTER PLUGGABLE DATABASE pdborcl OPEN READ WRITE; ALTER PLUGGABLE DATABASE pdborcl SAVE STATE;
步骤3:切换到PDBORCL容器
现在再执行你原来的切换语句就可以成功了:
ALTER SESSION SET CONTAINER = pdborcl;
额外小技巧:直接通过TNS连接PDB
你已经配置好tnsnames.ora里的PDBORCL条目了,其实也可以跳过切换步骤,直接用SYSTEM用户(或者PDB里创建的专属用户)通过这个TNS连接:
sqlplus system/你的密码@pdborcl
内容的提问来源于stack exchange,提问作者S_Madankar
相关产品推荐
相关产品推荐

