oracle12c,各种问题解决方案

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

oracle12c 安装 使用可以看看这篇文章。 Oracle 12c Windows安装、介绍及简单使用(图文)

oracle12c,感觉变化了好多,首先记得打开一下oracle服务,在计算机,管理,服务中。SQL server如果不开启服务,也进不去,oracle也应该差不多。

服务.jpg

主要二个问题:

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

问题如图:

sql plus.jpg

oracle-error.jpg

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

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


解决主要参考了这二篇文章 异常: The Network Adapter could not establish the connection解决方案

Oracle the network adapter could not establish the connection


先仔细看看这二篇文章,如果问题解决了,就可以离开了

遗憾的是,我按照二篇文章做了,还是不行,毕竟oracle12界面变了好多,只能一个个尝试了,最终ok了**

首先我进行了lsnrctl命令

结果如下:

C:\Users\dflx>lsnrctl

LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 - Production on 18-10月-2017 16:19:38

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

欢迎来到LSNRCTL, 请键入"help"以获得信息。

LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
TNS-12541: TNS: 无监听程序
 TNS-12560: TNS: 协议适配器错误
  TNS-00511: 无监听程序
   64-bit Windows Error: 61: Unknown error
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=58.195.5.164)(PORT=1521)))
TNS-12543: TNS: 无法连接目标主机
 TNS-12560: TNS: 协议适配器错误
  TNS-00513: 不能连接的终点主机
   64-bit Windows Error: 51: Unknown error
LSNRCTL>

发现和文章所说一样,感觉看到了希望,可是找oracle12安装目录,。。。。。。,windows10文件存放不一样了,oracle12也是最新的,找了半天,什么everything搜索也没有找到\bin目录,修改注册表也就算了。


首先应该登陆 SQL plus. 网上可以找到三种默认登陆 说一种:id:system 。passward:manager。 如果不行,就按照下面的默认登陆。 id:sqlplus / as sysdba passward:manager.

接着查看用户

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)中使用。

参考文章: 12c 创建公用用户和本地用户

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

create user c##master identified by zxk123456789;

结果

User C##MASTER 已创建。

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

grant connect,resource,dba to c##master;

结果

Grant 成功。

更多东西可以参考 Oracle-04-用SQL*PLUS创建用户&新用户授权等


修改用户名和密码:

格式为:

 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

在说一下最重要的 SQL developer链接,

如果按照上面那篇文章:Oracle the network adapter could not establish the connection 进行操作了,还是解决不了问题,那就在看看下面的东西,或许会有用。

oracle-succeed.jpg

链接名,应该随意,我默认和用户相同。用户名和口令,你可以安装上面的讲解,通过SQL plus自己创建一个。---重点:把选择类型改成本地/继承。##################我就是这样成功了,如果还不行,在试一试,oracle12c界面其它的选择,我感觉它们很有用。

成功图.jpg

近来又出现协议适配器错误 监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。

image.png

看文章 Oracle协议适配器错误解决办法 解决了


同是天涯沦落人,相逢何必曾相识。

文章如果解决了你的问题,喜欢一下,嘻嘻。

今天没有跑步,没有。。。。。,电脑终于基本按照好了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏haifeiWu与他朋友们的专栏

线上 Elasticsearch 集群健康值 red 状态问题排查与解决

之前一直运行正常的数据分析平台,最近一段时间没有注意发现日志索引数据一直未生成,大概持续了n多天,当前状态: 单台机器, Elasticsearch(下面称ES...

2.1K20
来自专栏bboysoul

信息收集工具(Th3inspector Tool)安装使用体验

https://github.com/Moham3dRiahi/Th3inspector

14130
来自专栏H2Cloud

支持插件的消息中间件【msg broker with plugin】

支持插件的消息中间件 msg broker with plugin Msg Broker概念: msg broker是实现application 之间互通讯的组...

57360
来自专栏小白鼠

分布式事务数据库事务CAP定理BASE理论分布式事务案例

断电了,该怎么处理?通过日志的方式!在执行事务的时候数据库首先会记录下这个事务的redo操作日志,然后才开始真正操作数据库,在操作之前首先会把日志文件写入磁盘,...

14020
来自专栏信安之路

网络安全渗透测试

针对网络的渗透测试项目一般包括:信息收集、端口扫描、指纹识别、漏洞扫描、绘制网络拓扑、识别代理、记录结果等。下面就一一介绍。

26900
来自专栏散尽浮华

centos7.4下Jira6环境部署及破解操作记录(完整版)

废话不多说,以下记录了Centos7针对Jira6的安装,汉化,破解的操作过程,作为运维笔记留存.

75740
来自专栏琯琯博客

awesome-php

收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需… 这个列表中的内容有来自 awesome-php 的翻译, 有来自开发者周刊以及个人...

1.2K90
来自专栏FreeBuf

在你的内网中获得域管理员权限的五种方法

早在2013年9月,蜘蛛实验室( Spider Labs)就发表过一篇题为“SpiderLabs在你内网中获取域管的五大方式”的文章。这篇文章是我继该文的,应该...

27150
来自专栏杨建荣的学习笔记

曲折的10g,11g中EM的安装配置过程(r4笔记第98天)

今天在本地搭了一套oracle环境,首先安装数据库的时候顺带了EM,结果安装好之后想修改监听器的端口,把原本15521的端口换成别的,结果在目录中修改了几个参数...

29230
来自专栏信安之路

轻松理解 Kerbreos 的认证过程

前几天在给人解释 Windows 是如何通过 Kerberos 进行 Authentication 的时候,讲了半天也别把那位老兄讲明白,还差点把自己给绕进去。

20700

扫码关注云+社区

领取腾讯云代金券