« PL/SQL で Python Challenge | トップページ | Panther De Oracle10g その9 »

2005年6月 5日 (日) / Author : Hiroshi Sekiguchi.

Panther De Oracle10g その8

前回までで、一通りの作業は終わりましたが、まだ、確認していないことがありました。それと自動起動の設定も残っています。今回は、まだ確認していなかった Net Service の動作を簡単に確認しておきます。



1.リスナーを起動


2.データベースインスタンスの起動


3.Net Service経由でデータベースに接続


4.データベースインスタンスの停止


5.リスナーの停止



という流れで確認してみます。

まず、最初にインストール後のNet Service関連構成ファイル(listener.ora、sqlnet.ora、tnsnames.ora)は以下のようにしてあります。(ただし、netcaで作成された内容をベースに多少変更してあります。尚、うまく接続できない場合などには、構成ファイルを確認することをおすすめします。)

listener.oraの内容
cube: oracle$ cat $ORACLE_HOME/network/admin/listener.ora
# listener.ora Network Configuration File:
# /Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/panther/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
# (SID_DESC =
# (SID_NAME = PLSExtProc)
# (ORACLE_HOME = /Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/panther)
# (PROGRAM = extproc)
# )
(SID_DESC =
(SID_NAME = panther)
(ORACLE_HOME = /Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/panther)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
# (ADDRESS_LIST =
# (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
# )
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = cube.discus.jp)(PORT = 1521))
)
)
)

sqlnet.oraの内容
cube: oracle$ cat $ORACLE_HOME/network/admin/sqlnet.ora
# sqlnet.ora Network Configuration File:
# /Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/panther/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

tnsnames.oraの内容
cube: oracle$ cat $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File:
/Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/panther/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

PANTHER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = cube.discus.jp)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = panther)
)
)

#EXTPROC_CONNECTION_DATA =
# (DESCRIPTION =
# (ADDRESS_LIST =
# (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
# )
# (CONNECT_DATA =
# (SID = PLSExtProc)
# (PRESENTATION = RO)
# )
# )

1.リスナーの起動

特に問題なく起動しているようです。
cube: oracle$ 
cube: oracle$
cube: oracle$ lsnrctl start

LSNRCTL for MacOS X Server: Version 10.1.0.3.0 - Production on 04-6月 -2005 22:10:08

Copyright (c) 1991, 2004, Oracle. All rights reserved.

/Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/panther/bin/
tnslsnrを起動しています。お待ちください...

TNSLSNR for MacOS X Server: Version 10.1.0.3.0 - Production
システム・パラメータ・ファイルは/Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/
panther/network/admin/listener.oraです。
ログ・メッセージを/Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/
panther/network/log/listener.logに書き込みました。
リスニングしています:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)
(HOST=cube.discus.jp)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
(HOST=cube.discus.jp)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for MacOS X Server: Version 10.1.0.3.0 - Production
開始日 04-6月 -2005 22:10:49
稼働時間 0 日 0 時間 0 分 0 秒
トレース・レベル OFF
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル /Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/
panther/network/admin/listener.ora
ログ・ファイル /Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/
panther/network/log/listener.log
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=
(PROTOCOL=tcp)(HOST=cube.discus.jp)(PORT=1521)))
サービスのサマリー...
サービス"panther"には、1件のインスタンスがあります。
インスタンス"panther"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。

2.データベースインスタンスの起動

これも問題無いようですね。
cube: oracle$ 
cube: oracle$
cube: oracle$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 土 6月 4 22:30:22 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

SQL>
SQL> conn / as sysdba
アイドル・インスタンスに接続しました。
SQL>
SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area 230686720 bytes
Fixed Size 778584 bytes
Variable Size 82845352 bytes
Database Buffers 146800640 bytes
Redo Buffers 262144 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL>
SQL> disconnect
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
SQL>
SQL> exit

念のためリスナーの状態を確認しておきます。

cube: oracle$ 
cube: oracle$
cube: oracle$ lsnrctl status

LSNRCTL for MacOS X Server: Version 10.1.0.3.0 - Production on 04-6月 -2005 22:39:31

Copyright (c) 1991, 2004, Oracle. All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cube.discus.jp)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for MacOS X Server: Version 10.1.0.3.0 - Production
開始日 04-6月 -2005 22:10:49
稼働時間 0 日 0 時間 1 分 22 秒
トレース・レベル OFF
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル /Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/
panther/network/admin/listener.ora
ログ・ファイル /Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/
panther/network/log/listener.log
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cube.discus.jp)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cube.discus.jp)(PORT=8080))
(Presentation=HTTP)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cube.discus.jp)(PORT=2100))
(Presentation=FTP)(Session=RAW))
サービスのサマリー...
サービス"panther"には、2件のインスタンスがあります。
インスタンス"panther"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
インスタンス"panther"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"pantherXDB"には、1件のインスタンスがあります。
インスタンス"panther"、状態READYには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。

3. Net Service経由で接続

これもすんなり接続できました。
cube: oracle$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 日 6月 4 22:58:37 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

SQL> conn scott/tiger@panther
接続されました。

SQL> exit

4.データベースインスタンスの停止

特に問題はないようです。
cube: oracle$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 日 6月 4 23:01:00 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

SQL> conn / as sysdba
接続されました。
SQL> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> exit
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
cube: oracle$

5.リスナーの停止


順調過ぎましたね。ハングしているようです。10分以上経過しましたが制御が戻ってきません。キャンセルしてリスナーのステータスを確認してみると、リスナーは停止しているように見えます。しかし、psで確認してみると。。。tnslsnrは、まだ、居るんですよ。で、よくよく、リリースノートを読み返してみると、あるじゃないですか。このリリースでは、なんと、Oracle Namesを起動しておかないと、リスナー停止時にリスナーがハングします! と。
ということで、次回以降の Panther De Oracle10g では、そのあたりを確認していこうと思います。
cube: oracle$
cube: oracle$
cube: oracle$ lsnrctl stop

LSNRCTL for MacOS X Server: Version 10.1.0.3.0 - Production on 04-6月 -2005 23:02:02

Copyright (c) 1991, 2004, Oracle. All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cube.discus.jp)(PORT=1521)))に接続中
^C
cube: oracle$
cube: oracle$
cube: oracle$ lsnrctl status

LSNRCTL for MacOS X Server: Version 10.1.0.3.0 - Production on 04-6月 -2005 23:20:08

Copyright (c) 1991, 2004, Oracle. All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cube.discus.jp)(PORT=1521)))に接続中
TNS-12541: TNS: リスナーがありません。
TNS-12560: TNS: プロトコル・アダプタ・エラー
TNS-00511: リスナーがありません。
MacOS X Server Error: 61: Connection refused
cube: oracle$
cube: oracle$
cube: oracle$ ps -auxc | grep tnslsnr
oracle 737 0.0 0.5 45736 4052 ?? Ss 10:10PM 0:00.27 tnslsnr
cube: oracle$
cube: oracle$ kill -TERM 737
cube: oracle$
cube: oracle$ ps -auxc | grep tnslsnr
cube: oracle$

| |

トラックバック


この記事へのトラックバック一覧です: Panther De Oracle10g その8:

コメント

コメントを書く