今天連接數據庫發現提示
C:\Users\zehua.xing>sqlplus his/***@oramh11g
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 8月 20 09:07:39 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12516: TNS: 監聽程序找不到符合協議堆棧要求的可用處理程序
請輸入用戶名:
能夠tnsping通服務器,說明服務斷的監聽進程是開啓的
C:\Users\zehua.xing>tnsping oramh11g
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-8月 -2012 09:07:18
Copyright (c) 1997, 2005, Oracle. All rights reserved.
已使用的參數文件:
D:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
已使用 TNSNAMES 適配器來解析別名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.2.2.4)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = oramh)))
OK (0 毫秒)
用oracle用戶登錄到操作系統提示/home/oracle權限不夠,所有的oracle進程都是開啓的
Could not chdir to home directory /home/oracle: Permission denied
-bash: /home/oracle/.bash_profile: 權限不夠
-bash-4.1$ pwd
/
-bash-4.1$ ps -ef |grep ora
avahi 1952 1 0 Jun02 ? 00:00:00 avahi-daemon: running [ora.local]
oracle 2359 1 0 Jun02 ? 00:11:02 /home/u01/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -inherit
oracle 7362 1 0 Aug10 ? 00:01:06 oracleoramh (LOCAL=NO)
root 10081 17760 0 09:21 ? 00:00:00 sshd: oracle [priv]
oracle 10085 10081 0 09:21 ? 00:00:00 sshd: oracle@pts/1
oracle 10086 10085 0 09:21 pts/1 00:00:00 -bash
oracle 10142 10086 0 09:22 pts/1 00:00:00 ps -ef
oracle 10143 10086 0 09:22 pts/1 00:00:00 grep ora
oracle 10191 1 0 Aug14 ? 00:00:33 oracleoramh (LOCAL=NO)
oracle 10193 1 0 Aug14 ? 00:00:30 oracleoramh (LOCAL=NO)
oracle 10210 1 0 Aug14 ? 00:00:24 oracleoramh (LOCAL=NO)
oracle 17605 1 0 Jul17 ? 00:00:00 oracleoramh (LOCAL=NO)
oracle 23605 1 0 Jul31 ? 00:00:00 oracleoramh (LOCAL=NO)
oracle 23607 1 0 Jul31 ? 00:00:00 oracleoramh (LOCAL=NO)
oracle 23609 1 0 Jul31 ? 00:01:30 oracleoramh (LOCAL=NO)
oracle 23611 1 0 Jul31 ? 00:00:00 oracleoramh (LOCAL=NO)
oracle 23613 1 0 Jul31 ? 00:00:00 oracleoramh (LOCAL=NO)
oracle 23615 1 0 Jul31 ? 00:00:00 oracleoramh (LOCAL=NO)
oracle 23617 1 0 Jul31 ? 00:00:00 oracleoramh (LOCAL=NO)
oracle 23619 1 0 Jul31 ? 00:00:00 oracleoramh (LOCAL=NO)
oracle 23621 1 0 Jul31 ? 00:00:00 oracleoramh (LOCAL=NO)
oracle 23623 1 0 Jul31 ? 00:01:31 oracleoramh (LOCAL=NO)
oracle 24308 1 0 Jul18 ? 00:00:00 oracleoramh (LOCAL=NO)
oracle 24357 1 0 Aug08 ? 00:00:06 oracleoramh (LOCAL=NO)
oracle 24598 1 0 Aug09 ? 00:02:11 oracleoramh (LOCAL=NO)
oracle 29468 1 0 Jun18 ? 00:11:34 ora_pmon_oramh
oracle 29470 1 0 Jun18 ? 01:06:40 ora_vktm_oramh
oracle 29474 1 0 Jun18 ? 00:00:31 ora_gen0_oramh
oracle 29476 1 0 Jun18 ? 00:01:47 ora_diag_oramh
。。。。。
嘗試用系統管理員身份登錄數據庫,但是失敗
-bash-4.1$ sqlplus / as sysdba
-bash: sqlplus: command not found
-bash-4.1$ more ~/.bash_profile
/home/oracle/.bash_profile: 權限不夠
檢查/home/oracle權限,發現所有者是root
-bash-4.1$ ll /home
總用量 570340
drwxrwxr-x 3 root root 4096 7月 17 09:43 include
drwxrwxr-x 2 root root 4096 7月 17 09:42 lib
drwx------. 2 root root 16384 6月 1 18:00 lost+found
drwxr-xr-x 3 root root 4096 7月 31 17:56 njl
drwx------. 28 root root 4096 8月 16 14:14 oracle
drwxr-xr-x 2 root root 4096 7月 27 11:00 redis-server
drwxr-xr-x 4 root root 4096 6月 2 10:42 u01
drwxrwxrwx 10 root root 4096 7月 18 11:10 ZeromqServer
-rw-r--r-- 1 root root 583976960 7月 18 10:39 ZeromqServer.tar.gz
問題的原因基本確定,/home/oracle的所有者變成root,這問題也許是某個用戶的誤操作造成的。
將oracle的用戶根目錄和oracle的安裝目錄的所有者設置成oracle,用戶組爲oinstall之後問題解決。