您的位置:首页 > 其它

找回原始的scott用户与sh用户

2017-01-28 11:48 155 查看
问题现象
Oracle12c中,默认将scott与sh放到了可插入数据库PDB中,而在一个CDB(CDB$ROOT)下,会包含多个PDB。下面讲解如何找回此用户;

原因分析
处理步骤
使用sys用户以管理员方式登录:
conn sys/change_on_install as sysdba;
此时为sys用户登录,可使用如下语句查看当前容器名称:
show con_name; --下图表示,sys在CDB容器中;



将CDB切换到PDB:
alter session se container = pdborcl;  --注意,orcl安装oracle的时候,设置的sid名称


切换完成后在执行show con_name; --返回的结果是pdbmldn,表示此时在PDB之中;


数据库可能并未打开,打开pdbmldn可插入数据库
alter database pdborcl open;


此类语法只能在PDB容器下运行,在CDB下运行,要在最前面加上pluggable命令;
alter pluggable database pdbmldn open;

在pdbmldn下查看scott与sh用户是否存在:
SELECT username FROM dba_users WHERE username='SCOTT' OR username='SH' ;
这时会返回两条数据,分别是scott用户与sh用户

查询scott用户:
SELECT * FROM scott.emp ;

每当用户重新登录数据库时,默认使用CDB容器,如果说现在用户已经在PDB容器下,切换回CDB容器,可用如下命令:
ALTER SESSION SET CONTAINER=CDB$ROOT ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: