博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle12c,各种问题解决方案
阅读量:7021 次
发布时间:2019-06-28

本文共 2825 字,大约阅读时间需要 9 分钟。

近来重装了计算机(双系统windows10+ubuntu16),顺带着也把software升级一下,结果安装最新的oracle12c,出现了一系列问题,我不喜欢折腾,曾经L说过我,喜欢啥折腾,浪费时间,金钱可以解决的,就让自己轻松一下,这次安装oracle12c后,登录名和口令怎么也不对,有折腾了一上午。

oracle12c 安装 使用可以看看这篇文章。  

###主要二个问题: 1.0 SQL plus登陆,出现用户名/口令无效; 登录被拒绝问题。 2.0 SQL developmer登陆出现 Oracle the network adapter could not establish the connection 的问题。

问题如图:

如果你也出现这样的问题,那就来对地方了。嘻嘻,我可是花了一上午的时间解决的。

网上看了10多篇教程,在自己的随机应变下终于搞定了。特此写一篇博客,方便遇到同样问题的小伙伴。


``` select username from dba_users; ``` 结果: ``` SYS SYSTEM XS$NULL OJVMSYS LBACSYS OUTLN SYS$UMF DBSNMP APPQOSSYS DBSFWUSER GGSYS ANONYMOUS CTXSYS SI_INFORMTN_SCHEMA DVSYS DVF GSMADMIN_INTERNAL ORDPLUGINS MDSYS OLAPSYS ORDDATA XDB WMSYS ORDSYS GSMCATUSER MDDATA SYSBACKUP REMOTE_SCHEDULER_AGENT GSMUSER SYSRAC AUDSYS DIP C##DFLX SYSKM ORACLE_OCM SYSDG SPATIAL_CSW_ADMIN_USR ```

>####创建用户 **格式为: create user user_name identified by passward;** ``` create user master identified by zxk123456789; ``` **出现下面错误:** ``` 在行: 3 上开始执行命令时出错 - create user master identified by zxk123456789 错误报告 - SQL 错误: ORA-65096: 公用用户名或角色名无效 65096. 00000 - "invalid common user or role name" *Cause: An attempt was made to create a common user or role with a name that was not valid for common users or roles. In addition to the usual rules for user and role names, common user and role names must start with C## or c## and consist only of ASCII characters. *Action: Specify a valid common user or role name. ``` **原因大概说一下:** >oracle 12c推出了可插拔库,管理用户也分为两种:本地用户和公用用户。本地用户是指在插拔数据库(PDB)中的用户,和12c之前的版本没有什么区别。公用用户只存在于可插拔环境中,在传统的数据库环境中不存在这种应用。怎么理解公用用户呢?可以简单的把它当做容器(CDB)用户,可以在各个通用与所有可插拔数据库(PDB)中使用。

参考文章: 

所以解决方法如下:用户名前面加上c##

create user c##master identified by zxk123456789;复制代码

结果

User C##MASTER 已创建。复制代码

重要的授权,oracle权限很重要,我喜欢上帝权限

grant connect,resource,dba to c##master;复制代码

结果

Grant 成功。复制代码

更多东西可以参考


>####修改用户名和密码:

格式为:

update user$ set name='MY_USER2' where name='MY_USER1';复制代码

我好像失败了:

在sqlplus中操作如下:

SQL> update user$ set name='master' where name='c##master';已更新 0 行。在客户端进行,错误是这样的。SQL 错误: ORA-00942: 表或视图不存在00942. 00000 -  "table or view does not exist"*Cause:    *Action:复制代码

准备尝试一下如下语句:

update dba_users set username='master' where username='c##master';复制代码

结果:

SQL 错误: ORA-01031: 权限不足01031. 00000 -  "insufficient privileges"*Cause:    An attempt was made to perform a database operation without           the necessary privileges.*Action:   Ask your database administrator or designated security           administrator to grant you the necessary privileges复制代码

有想着sql plus 登陆,使用dba执行上面语句,结果

第 1 行出现错误:ORA-01031: 权限不足复制代码

好像还是权限的问题。

修改密码:

格式如下:alter user 用户名 identified by 新密码;复制代码

我的操作如下:

alter user c##master identified by mm123456;复制代码

结果:

User C##MASTER已变更。复制代码

sql plus链接成功。

请输入用户名:  c##master输入口令:连接到:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production复制代码

转载于:https://juejin.im/post/5a336e196fb9a0451969a368

你可能感兴趣的文章
hadoop04---shell
查看>>
HDU 4419 Colourful Rectangle(线段树)
查看>>
webservice接口的开发和调用
查看>>
【uTenux实验】内存池管理(固定内存池和可变内存池)
查看>>
Android——Android Studio的一些小技巧(转)
查看>>
Spring学习【Spring概述】
查看>>
【Java数据结构学习笔记之一】线性表的存储结构及其代码实现
查看>>
Facebook内部人才建设潜规则
查看>>
巧用test判断来写shell脚本
查看>>
类装载器
查看>>
考勤处理脚本
查看>>
原生的社交分享
查看>>
[leetcode]Valid Sudoku
查看>>
静态成员和实例成员
查看>>
IIS的负载均衡的解决方案
查看>>
有效加快Windows 7运行速度
查看>>
磁盘清理无法删除DUMP文件手工删
查看>>
Java线程:创建与启动
查看>>
.Net开发笔记(八) 动态编译
查看>>
ES配置文件中文版
查看>>