オラクル12cを
mingjie.mj
[email protected]
Oracle Databaseソフトウェアのインストール、データベースをインストールした後にDBCAは、データベースへのリスナーの接続を設定する必要があります。ここでは理解するのがより困難いくつかの概念、この記事のこの部分の詳細な解釈があります。
接続端から開始します。
実施例1は、データベースに接続されました
Oracleの接続文字列は、いくつかの部分があり、ここで例をSQLPLUSに基づいて、接続完了文字列フォーマットフォロー
sqlplus 用户名/密码@主机:端口号/SID 可选as sysdba
ここでのみなしTNSリスナーケースについて話をします
2リスナー
使用あなたが完全な接続情報を設定する必要があり、リスナーの接続は、接続の2種類があり、我々は、リスナーの例を参照してください。
(datavaseサービスリスナーの設定を増やすnetmgr SIDを使用してリスナーがSIDを発生することがあります)
LISTENER2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = iZbp1d4tisi44j6vxze02fZ)(PORT = 1522))
)
SID_LIST_LISTENER2 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = gdn1400)
(ORACLE_HOME = /fdisk1/oracle1400/base/dbhome_1)
(SID_NAME = orcl1400)
)
)
ADR_BASE_LISTENER2 = /fdisk1/oracle1400/base
LISTENER1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = iZbp1d4tisi44j6vxze02fZ)(PORT = 1521))
)
ADR_BASE_LISTENER1 = /fdisk1/oracle1400/base
2つのリスナーは、静的リスナーは、動的なリスナーと呼ばれる何のSIDをSIDないと呼ばれているがあります。あなたはステータスを表示する違いがあります:
lsnrctl status listener1
...
Services Summary...
Service "orcl1400" has 1 instance(s).
Instance "orcl1400", status READY, has 1 handler(s) for this service...
Service "orcl1400XDB" has 1 instance(s).
Instance "orcl1400", status READY, has 1 handler(s) for this service...
The command completed successfully
lsnrctl status listener2
...
Services Summary...
Service "gdn1400" has 1 instance(s).
Instance "orcl1400", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
私たちは、接続文字列を参照してください。
sqlplus sys/password@iZbp1d4tisi44j6vxze02fZ:1521/orcl1400 as sysdba
この接続文字列の最大の関心事は、ここでは、サービス名ですorcl1400
。
注意!:このサービス名は、サービスがlistener2名を提供したもので、リスナー、によって提供されなければならないgdn1400
が、LISTENER1サービス名を提供していませんでした。それでは、どのようにそれを接続するには?その答えは、(とてもダイナミックリンクと呼ばれる)は、動的クエリサービス名のデータベースLISTENER1への接続を取ることです
SQL> show parameter service
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string orcl1400
orcl1400の使用は、データベースに接続できる理由です。ここでは、試してみ静的接続を使用するだけでなく、接続することができるデータベース(ポート番号と異なるのダイナミクスに注意してください)
sqlplus sys/password@iZbp1d4tisi44j6vxze02fZ:1522/gdn1400 as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Thu May 30 20:51:00 2019
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>
3つのTNS
TNSだから、それは何ですか?私たちは、接続文字列を見てください。
sqlplus sys/password@iZbp1d4tisi44j6vxze02fZ:1521/orcl1400 as sysdba
これを省略することかどうか、情報バックの多く@?そのようなものとして
sqlplus sys/password@tns1400 as sysdba
この機能を達成するための、あまりにも多く、TNSを管理するためにシンプルで簡単なこのルックスは、私たちは、tnsnames.oraの設定を見てみましょう。
NSN1522 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = iZbp1d4tisi44j6vxze02fZ)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = gdn1400)
)
)
NSN1521 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = iZbp1d4tisi44j6vxze02fZ)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl1400)
)
)
ここでは、NSN1522左端の私たちができるとNSN1521 @サービス名を見ることができます。内部マッピング情報は、ここでは、リスナーを指しています
NSN1522, iZbp1d4tisi44j6vxze02fZ, 1522, gdn1400 -----> listener2
NSN1521, iZbp1d4tisi44j6vxze02fZ, 1521, orcl1400 -----> listener1
二つのエイリアスは、二つの異なるリスナーに接続テストを指します。
# sqlplus sys/password@nsn1521 as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Thu May 30 20:58:51 2019
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>
# sqlplus sys/password@nsn1522 as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Thu May 30 20:58:55 2019
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>
TNSリスナーの必須SERVICE_NAMEとの接続に関連する他の情報に注意してください!