oracle用sql plus登录不上去,Oracle中su切换进去sqlplus登录失败的问题处理

生产环境的Oracle数据库突然登录不上去了,rlwrap生产环境的oracle数据库突然登录不上去了,rlwrap sqlplus / as sysdba报错如

问题描述:

生产环境的Oracle数据库突然登录不上去了,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*Plus

SP2-0667: Message file sp1.msb not found

SP2-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/profile

export 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]$ exit

exit

[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) 1982, 2009, 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]$ exit

exit

[root@localhost ~]# vim /etc/profile

export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1/

export ORACLE_SID=pxxerxxs

[root@localhost ~]# source /etc/profile

[oracle@localhost root]$ exit

exit

[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) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

SQL>

SQL>

SQL>

7,去oracle用户下查看系统变量

[oracle@localhost root]$ cat ~/.bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux上连接Oracle数据库,需要使用SQLPlus工具。首先,需要安装Oracle客户端软件,然后使用以下命令连接到数据库: 1. 打开终端窗口并输入以下命令: sqlplus username/password@database 其,username是您的Oracle用户名,password是您的密码,database是您要连接的数据库名称。 2. 如果连接成功,您将看到SQLPlus提示符。现在,您可以输入SQL查询并执行它们。 3. 要退出SQLPlus,请输入exit命令。 请注意,连接到Oracle数据库需要正确的用户名和密码,以及正确的数据库名称。如果您不确定这些信息,请联系您的数据库管理员。 ### 回答2: 要在Linux上连接Oracle数据库,可以使用sqlplus工具。 首先,在Linux系统上安装Oracle客户端软件。根据你的操作系统版本下载对应的Oracle客户端软件,然后解压并安装。 安装完成后,配置Oracle客户端环境变量。打开终端,编辑.bashrc文件,添加以下行: export ORACLE_HOME=/opt/oracle/client export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$PATH:$ORACLE_HOME/bin 保存并退出.bashrc文件后,执行以下命令使环境变量生效: source .bashrc 接下来,在终端输入sqlplus命令,打开sqlplus工具。 输入以下命令连接到Oracle数据库: sqlplus 用户名/密码@数据库地址:端口号/数据库SID 例子: sqlplus hr/oracle@localhost:1521/orcl 这将使用用户名hr和密码oracle连接到本地数据库实例orcl。 如果连接成功,你将看到SQL>提示符,表示连接已经建立。你现在可以输入SQL语句来操作Oracle数据库。 注意:在Linux上连接Oracle数据库,还需要确保Oracle数据库实例已经启动,而且你有正确的用户名和密码来连接数据库。 ### 回答3: 在Linux系统使用SQL*Plus连接Oracle数据库是一种常见的操作。下面是连接过程的简要说明。 首先,确保已经在Linux系统上安装了Oracle数据库软件。然后,打开终端窗口,并输入以下命令,以登录到Linux系统的控制台: ``` $ su - ``` 在接下来的提示符输入root用户的密码,以获取root用户权限。 接下来,输入以下命令来启动Oracle数据库实例(SID为你的Oracle实例名称,例如:ORCL): ``` $ /etc/init.d/oracle start ``` 登录Oracle用户的命令行界面,输入以下命令: ``` $ sqlplus ``` 此时,你将进入SQL*Plus命令行界面。 然后,输入以下命令来连接到Oracle数据库服务: ``` SQL> connect username/password@hostname:port/service_name ``` 其,"username"是你在Oracle数据库的用户名,"password"是你的密码,"hostname"是Oracle数据库所在的主机名或IP地址,"port"是数据库监听的端口号(默认为1521),"service_name"是你要连接的数据库服务名。 如果连接成功,你将看到以下提示信息: ``` Connected to: Oracle Database <版本号> <数据库名称> ``` 现在,你可以使用SQL*Plus来执行SQL语句或其他数据库操作。 在完成使用SQL*Plus连接Oracle数据库后,你可以输入以下命令来退出SQL*Plus命令行界面: ``` SQL> exit ``` 最后,你可以输入以下命令来关闭Oracle数据库实例: ``` $ /etc/init.d/oracle stop ``` 这是连接Linux系统上的SQL*Plus到Oracle数据库的基本过程。请注意,具体的命令和参数可能因Oracle数据库的版本和配置而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值