Oracle19C问题解决一例
今天想在上次安装的Oracle 19c环境( https://bbs.huaweicloud.com/blogs/346025 )上安装OGG For Oracle。
想创建一个oracle用户ogg,create user ogg identified by xxx;
结果报了以下错误:
那就启动数据库:startup
告诉我已经启动了,要先停掉:shutdown immediate
然后再startup:
张小白想起来,一开始创建了这个dbf,后来不用了。文件已经被删了。但是数据库配置中还没删掉。
到网上查找解决方案:https://blog.csdn.net/u010682330/article/details/90747880
照此办理:
shutdown immediate;
startup mount;
select file#,name,status from v$datafile;
确实,这个dbf对于oracle来说还是online状态。
于是将其drop offline试试:
alter database datafile '/home/oracle/oradata/zhanghui/zhanghui_data.dbf' offline drop;
怎么会drop不掉呢?再去查找解决方案:https://blog.csdn.net/weixin_34553907/article/details/116421335
原来这个dbf不在当前的container里面:
show con_name
而这个dbf好像是在pdb里面:
show pdbs;
我们切换container到ORCLPDB:
alter session set container=ORCLPDB;
然后再删除这个dbf:
alter database datafile '/home/oracle/oradata/zhanghui/zhanghui_data.dbf' offline drop;
我们再shutdown后再startup:
这回Oracle正常启动了。
再试一下创建用户:
create user ogg identified by ogg;
你会发现,ogg这个用户名是非法的。
因为在目前的container里面:
用户名必须是c##开头。(怪异吧。。。)
所以,我们这样建一下用户:
create user C##ogg identified by ogg;
这样才建成功。
我们登录试试:
不行,原来c##ogg用户没有权限。
再回到超级用户赋权限:
grant dba , connect, create session to c##ogg;
再登录试试:
终于可以成功登录。
(全文完,谢谢阅读)
- 点赞
- 收藏
- 关注作者
评论(0)