您當前位置:
首頁 >
數據庫 >
數據庫應用 > Oracle中su切換進去sqlplus登錄失敗的問題處理
Oracle中su切換進去sqlplus登錄失敗的問題處理
來源:程序員人生 發布時間:2015-01-20 08:13:29 閱讀次數:7683次
問題描寫:
生產環境的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*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登錄1下,試試看
[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,做1下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 2015Copyright (c) 1982, 2009, Oracle. All rights reserved.ERROR:ORA⑴2162: TNS:net service name is incorrectly specifiedEnter user-name: ERROR:ORA⑴2162: TNS:net service name is incorrectly specifiedEnter user-name: ERROR:ORA⑴2162: TNS:net service name is incorrectly specifiedSP2-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_SID6,設置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 2015Copyright (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 functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:$HOME/binexport 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/adminexport 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 2015Copyright (c) 1982, 2009, 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 optionsSQL> 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 2015Copyright (c) 1982, 2009, Oracle. All rights reserved.ERROR:ORA⑴2154: TNS:could not resolve the connect identifier specifiedEnter user-name: ERROR:ORA-01017: invalid username/password; logon deniedEnter user-name: [oracle@localhost ~]$ 11,去check下,tnsping pxxerxxs 能否成功
[oracle@localhost ~]$ tnsping pxxerxxsTNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 16-JAN⑵015 16:53:27Copyright (c) 1997, 2009, Oracle. All rights reserved.Used parameter files:/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.oraTNS-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.16
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
------分隔線----------------------------
------分隔線----------------------------