oracle 12c ora 01017自己建的用户访问自己建的库,sqlplus正常,其他地方登录出现ORA-01017错误!

Oracle中su切换进去sqlplus登录失败的问题处理_数据库技术_Linux公社-Linux系统门户网站
你好,游客
Oracle中su切换进去sqlplus登录失败的问题处理
来源:Linux社区&
作者:黄杉
问题描述:生产环境的数据库突然登录不上去了,rlwrap生产环境的oracle数据库突然登录不上去了,rlwrap sqlplus "/ as sysdba"报错如下:rlwrap[oracle@localhost root]$ rlwrap sqlplus "/ as sysdba"rlwrap: warning: your $TERM is 'xterm' but rlwrap couldn't find it in the terminfo database. Expect some problems.rlwrap: Cannot execute sqlplus: Permission denied[oracle@localhost root]$ sqlplus "/ as sysdba"bash: sqlplus: command not found[oracle@localhost root]$
1,oracle登录报错[oracle@localhost root]$& rlwrap sqlplus "/ as sysdba"Error 6 initializing SQL*PlusSP2-0667: Message file sp1&lang&.msb not foundSP2-0750: You may need to set ORACLE_HOME to your Oracle software directory[oracle@localhost root]$ [oracle@localhost root]$
2,查看ORACLE_HOME变量,为空值[oracle@localhost root]$ echo $ORACLE_HOME
[oracle@localhost root]$
3,在/etc/profile设置ORACLE_HOME变量[root@localhost ~]# vim /etc/profileexport ORACLE_HOME=/opt/oracle/app/oracle/product/11.2.0/dbhome_1
[root@localhost ~]# source /etc/profile[root@localhost ~]# su oracle[oracle@localhost root]$[oracle@localhost root]$ echo $ORACLE_HOME/oracle/app/oracle/product/11.2.0/dbhome_1/[oracle@localhost root]$
4,ORACLE_HOME环境变量有值了,再去用sqlplus登录一下,试试看[oracle@localhost root]$ rlwrap sqlplus "/ as sysdba"rlwrap: warning: your $TERM is 'xterm' but rlwrap couldn't find it in the terminfo database. Expect some problems.rlwrap: Cannot execute sqlplus: Permission denied[oracle@localhost root]$
5,做一下sqlplus的软连接[oracle@localhost root]$ exitexit[root@localhost ~]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin[root@localhost ~]# su oracle[oracle@localhost root]$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jan 16 10:19:39 2015
Copyright (c) , Oracle.& All rights reserved.
ERROR:ORA-12162: TNS:net service name is incorrectly specified
Enter user-name: ERROR:ORA-12162: TNS:net service name is incorrectly specified
Enter user-name: ERROR:ORA-12162: TNS:net service name is incorrectly specified
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus[oracle@localhost root]$ [oracle@localhost root]$ echo $ORACLE_SID
[oracle@localhost root]$ 系统环境变量里面没有ORACLE_SID
6,设置ORACLE_SID[oracle@localhost root]$ exitexit[root@localhost ~]# vim /etc/profileexport ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1/export ORACLE_SID=pxxerxxs[root@localhost ~]#& source /etc/profile
[oracle@localhost root]$ exitexit[root@localhost ~]# vim /etc/profile[root@localhost ~]# source /etc/profile[root@localhost ~]# su oracle[oracle@localhost root]$ rlwrap sqlplus "/ as sysdba"rlwrap: warning: your $TERM is 'xterm' but rlwrap couldn't find it in the terminfo database. Expect some problems.& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jan 16 10:25:33 2015
Copyright (c) , Oracle.& All rights reserved.
Connected to an idle instance.& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
SQL&& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
SQL&& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
7,去oracle用户下查看系统变量[oracle@localhost root]$ cat ~/.bash_profile# .bash_profile
# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
#added for oracleexport ORACLE_BASE=/oracle/app/oracleexport ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1export ORACLE_SID=pxxerxxsexport TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$PATH:$ORACLE_HOME/bin[oracle@localhost root]$ 配置里面有值,问题在哪里?
8,su的时候有差异不加-的话的话只是切换用户 不去更换用户的配置,加上-后 再去sqlplus 试试[oracle@localhost ~]$ exitlogout[root@localhost ~]# su oracle[oracle@localhost root]$ echo $ORACLE_BASE
[oracle@localhost root]$ exitexit[root@localhost ~]# su - oracle[oracle@localhost ~]$ echo $ORACLE_BASE/oracle/app/oracle[oracle@localhost ~]$
9,验证下su - oracle[oracle@localhost ~]$ rlwrap sqlplus "/ as sysdba"rlwrap: warning: your $TERM is 'xterm' but rlwrap couldn't find it in the terminfo database. Expect some problems.& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jan 16 10:36:51 2015
Copyright (c) , Oracle.& All rights reserved.
Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, Oracle Label Security, OLAP, Data Mining,Oracle Database Vault and Real Application Testing options
10,OK,尝试使用非sys账号登录报错[oracle@localhost ~]$ rlwrap sqlplus "plas_prd/plrd_1628@pxxerxxs as sysdba"rlwrap: warning: your $TERM is 'xterm' but rlwrap couldn't find it in the terminfo database. Expect some problems.
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jan 16 16:53:11 2015
Copyright (c) , Oracle.& All rights reserved.
ERROR:ORA-12154: TNS:could not resolve the connect identifier specified
Enter user-name:& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
ERROR:ORA-01017: invalid username/ logon denied
Enter user-name:& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
[oracle@localhost ~]$
11,去check下,tnsping pxxerxxs 能否成功[oracle@localhost ~]$ tnsping& pxxerxxs
TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 16-JAN-:27
Copyright (c) , Oracle.& All rights reserved.
Used parameter files:/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora
TNS-03505: Failed to resolve name[oracle@localhost ~]$ tnsping失败,得知pxxerxxs这个失效
12,去找tnsnames.ora[oracle@localhost admin]$& more /oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora也可以more $ORACLE_HOME/network/admin/tnsnames.ora找到MPMD2 =& (DESCRIPTION =& & (ADDRESS_LIST =& & & (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.110.107)(PORT = 1521))& & )& & (CONNECT_DATA =& & & (SERVICE_NAME= pxxerxxs)& & )& )
然后用非sys用户登录[oracle@localhost ~]$ rlwrap sqlplus "pxxerxxsk/pa141215@MPMD2"rlwrap: warning: your $TERM is 'xterm' but rlwrap couldn't find it in the terminfo database. Expect some problems.
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jan 16 20:30:30 2015
Copyright (c) , Oracle.& All rights reserved.
Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, Oracle Label Security, OLAP, Data Mining,Oracle Database Vault and Real Application Testing options
OK登录显示成功。
总结,(1)linux系统里面,su切换到oracle用户的时候,加上-就会更换oracle用户单独配置生效,如果不加-就不会使用oracle用户单独的配置。(2)在使用sqlplus登录的时候,用非sys用户登录,@后面的是$ORACLE_HOME/network/admin/tnsnames.ora定义的那个前缀符号MPMD2,而不是SERVICE_NAME所指的oracle_sid,tnsnames.ora中MPMD2前缀定义如下所示MPMD2 =& (DESCRIPTION =& & (ADDRESS_LIST =& & & (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.110.101)(PORT = 1521))& & )& & (CONNECT_DATA =& & & (SERVICE_NAME= pxxerxxs)& & )& )
Oracle学习笔记:sqlplus用户登录
sqlplus登录Oracle时ORA-01017: invalid username/ logon denied的错误&
在 6.4下安装Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虚拟机中安装步骤
Debian 下 安装 Oracle 11g XE R2
更多Oracle相关信息见 专题页面
本文永久更新链接地址:
相关资讯 & & &
& (09/17/:56)
& (07/26/:30)
& (12/31/:31)
& (09/17/:23)
& (05/13/:32)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款精选国内外互联网行业最新文章及报告,让网友获得最新的海内外互联网动态
当前位置: >
ORACLE用SYS和SYSTEM默认密码登录提示ORA-01017:invalid usernam
编辑:admin
ORACLE用SYS和SYSTEM默认密码登录提示ORA-01017:invalid username/logond denied解决
&环境:Oracle 11g R2 +SQLPlus
& & & & 问题:ORACLE用SYS和SYSTEM默认密码登录提示 ORA-01017:invalidusername/logond denied
& & & & 我们都知道,sys的默认密码是manager,system的默认密码是change_on_install,为什么使用默认密码都无法正常登录呢?刚安装好后可以正常运行,久了没用反而用不了了。就这奇怪了。不过可以使用下面的解决办法。
& & & & 解决:
& & & & Win +Run-------&Cmd-------&输入以下命令:
sqlplus / assysdba &
alter usersystem i &
alter user sysidentified by change_on_ &
当然,你也可以改成自己容易记住的密码。
& &总结:可见sys和system并不是Oracle数据库权限最大的管理员,&/&才是。当使用这个用户登录就可以避免输入密码直接连接到Oracle。我们安装好Oracle后,即使你把所有的用户密码都忘记了,仍然可以通过这种方法连接,然后修改密码。也就是说谁合法地安装了这个软件,谁就拥有这个软件的永久使用权。不知道这样的理解是否正确?欢迎拍砖。
参考资料:/question/.html
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
本类排行榜使用”sqlplus / as sysdba” 登录Oracle 10.2 数据库实例时,登录失败,显示ORA-01031:
权限不足 | Oracle |
_数据库_运维_开发_IT学习_无忧IT学习网
一起学习!一起进步!
使用”sqlplus / as sysdba” 登录Oracle 10.2 数据库实例时,登录失败,显示ORA-01031:
浏览: 118 views
在linux&操作系统的数据库服务器上,使用&sqlplus / as sysdba&&登录Oracle 10.2&数据库实例时,登录失败,显示ORA-01031:&&权限不足。
在&操作系统的上,使用&sqlplus / as sysdba&&登录 10.2&实例时,登录失败,显示ORA-01031:&&权限不足。
在所在上登录的操作,使用的是操作系统认证方式登录实例。在出现&ORA-01031 &&的错误错误时,首先去检查sqlnet.ora&文件中SQLNET.AUTHENTICATION_SERVICES&项的配置信息。这种分析是被很多人推荐,在互联网上也有很多帖子都提及到。
大致得到的结论是:
1&、在windows&下,SQLNET.AUTHENTICATION_SERVICES&必须设置为NTS&或者ALL&才能使用OS&认证;不设置或者设置为其他任何值都不能使用OS&认证。
2&、在&下,在SQLNET.AUTHENTICATION_SERVICES&的值设置为ALL&,或者不设置的情况下,OS&验证才能成功;设置为其他任何值都不能使用OS&认证。
首先肯定一点,这种分析方法是没有错的。我在碰到这种问题时,首先去分析的也是这个文件的配置。
但在本案例中,sqlnet.ora&文件的内容如下:
[ ~]$ more /u01/app/oracle/product/10.0.2/db_1/network/admin/sqlnet.ora
# sqlnet.ora Network Configuration File: /u01/app/oracle/product/10.0.2/db_1/network/admin/sqlnet.ora
# Generated by
configuration tools.
NAMES.DIRECTORY_PATH= (TNSNAMES)
你会不会认为,还要坚持实例的初始化参数remote_login_passwordfile&,还有密码文件。而这两点是在异地上使用sysdba&身份登录实例时才会用到,现在情况是在本地上登录实例。
再分析一下操作系统用户登录操作系统后再访问实例的行为。
使用sysdba&身份连接实例,使用的认证方式是操作系统认证,而这一认证操作过程是操作系统根据它管理的信息去校验该用户是否可以连接的过程。
因此,需要进一步分析的是,操作系统如果判断oracle&用户符合认证条件。很显然,我们这里的oracle&用户的权限被操作系统或者oracle&系统拒绝了。
&认为,需要满足下列条件的用户才能使用系统认证方式连接实例。
1&、系统用户oracle&必须属于一个特定的组
该用户必须属于OSDBA&组才能以sysdba&身份登录。这里的OSDBA&组在不同类型的操作系统上,名称会不一样。在unix&系统上名称为&dba &&,而在windows&系统上名称则为&ORA_DBA &&。
2&、&sqlnet.authentication_services&的参数必须设置正确
在unix&系统上,该参数值必须设置为ALL&,或者不设置;在windows&上,它必须设置为NTS&。 &
我们回到环境中去检查系统用户oracle&的所属组的情况。
[ ~]$ id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall)
发现该用户只属于oinstall&,而没有dba&。
因此,我们在root&环境下使用usermod&对该用户进行调整。如下所示:
[ ~]# usermod -G oinstall,dba -g oinstall oracle
[ ~]# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),503(dba)
&&再次验证sysdba&身份登录操作,如下所示:
[ ~]# su – oracle
[ ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 – Production on Wed Jul 11 09:47:50 2012
Copyrigmiki (c) , .&& All Rigmikis Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
结果显示已经是登录成功,问题就在oracle&用户没有在dba&组中。
总而言之,在本地以sysdba&身份登录实例时,碰到ORA-01031&权限不足的错误,需要系统用户所在的组是否有dba&和sqlnet.ora&文件中sqlnet.authentication_services&是否配置正确。
如果还有问题,还有一种方法可以继续分析。使用操作系统分析工具对sqlplus&应用进行分析。
strace -o /tmp/strace_sysdba.output -cfT sqlplus / as sysdba
AIX, Solaris:&
truss -fea -o /tmp/truss_sysdba.output sqlplus / as sysdba
tusc -afpo /tmp/tusc_sysdba.output -aef sqlplus / as sysdba
根据分析内容,可以进一步判断问题所在。
本文主要参考资料为Oracle&的&Troubleshooting ORA-1031: Insufficient Privileges While Connecting As SYSDBA [ID ] &&一文。
& | & & | & & | & & | & & | & & | & & | & & | & & | & & | & & | & & | & & | &
最热门文章
35837 views
9875 views
8295 views
4771 views
4153 views
3755 views
3668 views
3114 views
友情链接 |
本站进行138次查询oracle 10g 中的SQLPLUS 登陆问题.
oracle 10g 中的SQLPLUS 登陆问题.
[摘要:列位大虾,请帮帮小弟,我拆了ORACLE 后,上岸没有了SQLPLUS提醒毛病是:ora-01017:invalid username/logon denied .我设立建设的数据库的用户名战暗码皆是slzyy,希奇的是我用CMD敕令上岸sqlplus是能够的]
各位大虾,请帮帮小弟,我装了ORACLE 后,登陆不了SQLPLUS提示错误是:ora-01017:invalid username/logon denied .我建立的数据库的用户名和密码都是slzyy,奇怪的是我用CMD命令登陆sqlplus是可以的,PLSQL 工具也能正常登陆,请问要怎么解决.谢谢.
问题补充:
我在Net Manager 中测试这个数据库也不能够,提示如下:
正在尝试使用以下用户 ID 连接:slzyy
测试没有成功。
ORA-01017: invalid username/ logon denied
在输入的字段中可能有错误,
或者服务器连接未就绪
建完用户要赋权限的,完整的建用户的步骤:
1、sys用户登入
create user slzyy
grant resource,
说明:经过如上步骤后就能登入了。
*****************
1、打开cmd输入netca。
2、选择【本地net服务名配置】&下一步。
3、选择【添加】&下一步。
4、在【服务名】中输入你想要连接的服务器上的oracle服务的名字&下一步。
5、选择【tcp】&下一步。
6、在【主机名】中输入你想要连接的服务器ip,端口号不变&下一步。
7、选择【进行测试】&下一步。(当然你也可以选择不测试)
※1测试如果不通过,点击【更改登录】输入一个肯定能登入的【用户名】和【口令】&确定,出现【正在连接...测试成功。】表明测试成功。
※2测试不通过的话,点【上一步】确认你写的【服务名】和【主机名】,确认无误的情况下,确认你要连接的服务器oracle监听服务已经打开。
8、在【net服务名中】输入你想要使用的本地的服务名&下一步。
※就是【sqlplus user/passwd @本地服务名】。
9、选择【否】&下一步。
10、出现【net服务配置完毕】字样&下一步。
11、点击【完成】完成服务配置。
12、在上面服务配置完成以后,在cmd中输入如下命令即可远程登录oracle服务器:
sqlplus user_name/password@本地服务名
一定记住,上面的本地服务名是你第8步写的服务名。
以上,希望对你有所帮助。
感谢关注 Ithao123精品文库频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊

我要回帖

更多关于 oracle ora 01017 的文章

 

随机推荐