2012-08-07

ある日listenerが応答しなくなった

Oracleで無理やりなことしてたら、ある日Listenerが応答しなくなっちゃいました。

$ lsnrctl stop
$ lsnrctl start

Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

$ lsnrctl status

TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
って出ちゃう。

netcaでリスナー作り直してもダメ。 Listenerを再構成
$ sqlplus / as sysdba 
SQL> alter system register;

System altered.

SQL> exit
確認
$ lsnrctl status

Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "hoge" has 1 instance(s).
  Instance "hoge", status READY, has 1 handler(s) for this service...
Service "hogeXDB" has 1 instance(s).
  Instance "hoge", status READY, has 1 handler(s) for this service...
Service "hoge_XPT" has 1 instance(s).
  Instance "hoge", status READY, has 1 handler(s) for this service...
netcaでリスナーの「再構成」でもいいのかな?

2012-08-03

Oracle ASM ディスクグループを削除したい場合

Oracle ASM のDISK Groupを削除したい!と思ったけどコマンドでやり方がわからなかったので調べてみました。
SIDを +ASM にするのかー。
# su - oracle

$cat /etc/oratab
hoge:/usr/oracle/product/10.2.0/server:N
+ASM:/usr/oracle/product/10.2.0/server:N  <-- これ
fuga:/usr/oracle/product/10.2.0/server:N

$ ORACLE_SID=+ASM
$ export ORACLE_SID
$ sqlplus / as sysdba

SQL> SELECT group_number, disk_number, mount_status, header_status, state, path
  2  FROM   v$asm_disk;

GROUP_NUMBER DISK_NUMBER MOUNT_STATUS HEADER_STATUS STATE  PATH
------------ ----------- ------------ ------------- ------ -------------------
          1           0   CACHED       MEMBER       NORMAL  /dev/raw/raw1

SQL> drop diskgroup DG1;
Diskgroup dropped.

SQL> exit

参考: http://docs.oracle.com/cd/E16338_01/server.112/b56299/statements_8013.htm ORACLE - DBA Tips Corner http://www.idevelopment.info/data/Oracle/DBA_tips/Automatic_Storage_Management/ASM_10.shtml