メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

Oracle データベースエンジンを実行している DB インスタンスへの接続

Amazon RDS によって Oracle DB インスタンスがプロビジョニングされると、標準の SQL クライアントアプリケーションを使用して DB インスタンスに接続できます。このトピックでは、Oracle SQL Developer または SQL*Plus を使用して Oracle データベースエンジンを実行している DB インスタンスに接続します。

サンプルの DB インスタンスの作成と接続のプロセスを示す手順の例は、「Oracle DB インスタンスを作成して Oracle DB インスタンス上のデータベースに接続する」を参照してください。

DB インスタンスのエンドポイントの検索

各 Amazon RDS DB インスタンスにはエンドポイントがあり、各エンドポイントに DB インスタンスの DNS 名とポート番号があります。SQL クライアントアプリケーションを使用して DB インスタンスに接続するには、DB インスタンスの DNS 名とポート番号が必要です。

Amazon RDS コンソールまたは AWS CLI を使用して DB インスタンスのエンドポイントを見つけることができます。

AWS マネジメントコンソール

コンソールを使用してエンドポイントを見つけるには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. コンソールの右上隅にある DB インスタンスの AWS リージョンを選択します。

  3. DB インスタンスの DNS 名とポート番号を見つけます。

    1. [Instances] を選択して DB インスタンスのリストを表示します。

    2. Oracle DB インスタンスの行で、DB インスタンスの概要情報を表示します。

       DB インスタンスのエンドポイントとポートを確認する
    3. エンドポイントをコピーします。[Endpoint] フィールドには、コロン (:) で 2 つの部分に区切られています。コロンの前の部分は DB インスタンスの DNS 名で、コロンの後の部分はポート番号です。必ず両方の部分をコピーします。

CLI

AWS CLI を使用して Oracle DB インスタンスのエンドポイントを確認するには、describe-db-instances コマンドを呼び出します。

例 AWS CLI を使用してエンドポイントを見つけるには

Copy
aws rds describe-db-instances

出力で Endpoint を検索して、DB インスタンスの DNS 名とポート番号を検索します。出力の Address 行には DNS 名が含まれています。JSON エンドポイント出力の例を以下に示します。


"Endpoint": {
    "HostedZoneId": "Z1PVIF0B656C1W",
    "Port": 3306,
    "Address": "myinstance.123456789012.us-west-2.rds.amazonaws.com"
},    
                

注記

出力には、複数の DB インスタンスに関する情報が含まれている場合があります。

Oracle SQL Developer を使用した DB インスタンスへの接続

この手順では、Oracle SQL Developer を使用して DB インスタンスに接続します。このユーティリティのスタンドアロンバージョンをダウンロードするには、Oracle SQL Developer ダウンロードページを参照してください。

DB インスタンスに接続するには、DNS 名とポート番号が必要です。DB インスタンスの DNS 名とポート番号を見つける方法については、DB インスタンスのエンドポイントの検索 を参照してください。

SQL Developer を使用して DB インスタンスに接続するには

  1. Oracle SQL Developer を開始します。

  2. [Connections] タブで、[add (+)] アイコンを選択します。

     追加 (+) アイコンを強調表示した Oracle SQL Developer
  3. [New/Select Database Connection] ダイアログボックスで、DB インスタンスの情報を提供します。

    • [Connection Name] で、接続を説明する名前を Oracle-RDS のように入力します。

    • [Username] で、DB インスタンスのデータベース管理者の名前を入力します。

    • [Password] で、データベース管理者のパスワードを入力します。

    • [Hostname] で、DB インスタンスの DNS 名を入力するか貼り付けます。

    • [Port] にポート番号を入力します。

    • [SID] で、Oracle データベース SID を入力します。

    完了したダイアログボックスは次のように表示されます。

     Oracle SQL Developer での新しい接続の作成
  4. [Connect] をクリックします。

  5. 独自のデータベースを作成し、通常のデータベースに加え、DB インスタンスに対しクエリを実行できるようになりました。DB インスタンスに対してテストクエリを実行するには、次を実行します。

    1. 接続の [Worksheet] タブで、次の SQL クエリを入力します。

      Copy
      SELECT NAME FROM V$DATABASE;
    2. 実行アイコンをクリックして、クエリを実行します。

       実行アイコンを使用した Oracle SQL Developer のクエリの実行

      SQL Developer はデータベース名を返します。

       Oracle SQL Developer のクエリの結果

SQL *Plus を使用した DB インスタンスへの接続

SQL*Plus などのユーティリティを使用して、Oracle を実行している Amazon RDS DB インスタンスに接続できます。SQL*Plus のスタンドアロンバージョンをダウンロードするには、SQL*Plus ユーザーガイドおよびリファレンスを参照してください。

DB インスタンスに接続するには、DNS 名とポート番号が必要です。DB インスタンスの DNS 名とポート番号を見つける方法については、DB インスタンスのエンドポイントの検索 を参照してください。

例 SQL*Plus を使用して Oracle DB インスタンスに接続するには

次の例では、DB インスタンスの DNS 名を置き換え、ポート番号と Oracle SID を含めます。SID 値は、DB インスタンスを作成したときに指定した DB インスタンスのデータベースの名前であり、DB インスタンスの名前ではありません。

Linux、OS X、Unix の場合:

Copy
sqlplus 'mydbusr@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))'

Windows の場合:

Copy
sqlplus mydbusr@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))

以下のような出力結果が表示されるはずです。


SQL*Plus: Release 12.1.0.2.0 Production on Mon Aug 21 09:42:20 2017                
            

ユーザーのパスワードを入力すると、SQL プロンプトが表示されます。


 SQL>               
            

注記

sqlplus USER/PASSWORD@LONGER-THAN-63-CHARS-RDS-ENDPOINT-HERE:1521/DATABASE_IDENTIFIER のような短い形式の接続文字列 (Easy connect または EZCONNECT) は、最大文字数制限に達する可能性があるため、接続には使用しないでください。

セキュリティグループの考慮事項

DB インスタンスに接続するためには、DB インスタンスを、その DB インスタンスにアクセスするために使用する IP アドレスとネットワーク設定を含むセキュリティグループに関連付ける必要があります。DB インスタンスを作成する際、DB インスタンスを適切なセキュリティグループと関連付けている可能性があります。DB インスタンスの作成時に、デフォルトの構成されていないセキュリティグループを割り当てた場合は、DB インスタンスファイアウォールによって接続が禁止されます。

新しいセキュリティグループを作成してアクセスを有効にする必要がある場合、作成するセキュリティグループのタイプは、DB インスタンスが動作する Amazon EC2 プラットフォームによって決まります。プラットフォームを決定するには、「EC2-VPC または EC2-Classic のどちらのプラットフォームを使用するか判断する」を参照してください。一般的に、DB インスタンスが EC2-Classic プラットフォームにある場合は、DB セキュリティグループを作成します。DB インスタンスが VPC プラットフォームにある場合は、VPC セキュリティグループを作成します。新しいセキュリティグループの作成方法については、Amazon RDS セキュリティグループ を参照してください。

新しいセキュリティグループを作成したら、そのセキュリティグループと関連付けるように DB インスタンスを変更します。詳細については、「Oracle データベースエンジンを実行する DB インスタンスの変更」を参照してください。

SSL を使用して DB インスタンスへの接続を暗号化することで、セキュリティを高めることができます。詳細については、「Oracle SSL」を参照してください。

専用サーバーと共有サーバーのプロセス

サーバープロセスは、ユーザーの Oracle DB インスタンスへの接続を処理します。デフォルトでは、Oracle DB インスタンスは専用サーバープロセスを使用します。専用サーバープロセスでは、各サーバープロセスは 1 人のユーザープロセスにのみ設定できます。任意で共有サーバープロセスを設定できます。共有サーバープロセスでは、各サーバープロセスは複数のユーザープロセスを設定できます。

多数のユーザーセッションがサーバー上でメモリを過度に使用している場合は、共有サーバープロセスの使用を検討することもできます。また、セッションが頻繁に接続されたり切断されてパフォーマンス上の問題を引き起こす場合も、共有サーバープロセスを検討できます。共有サーバープロセスの使用には欠点もあります。たとえば、CPU リソースに負荷をかけることがあり、設定や管理がより複雑になります。

専用インスタンスと共有サーバープロセスの詳細については、Oracle ドキュメントの「ドキュメントの専用インスタンスと共有サーバー プロセスについて」を参照してください。Amazon RDS Oracle DB インスタンス共有のプロセス サーバー設定の詳細については、「Amazon RDS for Oracle Database を設定して共有サーバーで動作させる方法」を参照してください。ナリッジセンターでご覧いただけます。

Oracle DB インスタンスへの接続のトラブルシューティング

以下は、Oracle DB インスタンスの接続時に発生する可能性がある問題です。

問題 トラブルシューティングの提案

DB インスタンスに接続できません。

新しく作成された DB インスタンスでは、使用できるようになるまで、DB インスタンスのステータスは [creating] となります。ステータスが [available] に変わると、DB インスタンスに接続できます。DB インスタンスクラスとストレージの合計によっては、新しい DB インスタンスを使用できるようになるまで最長 20 分かかることがあります。

DB インスタンスに接続できません。

DB インスタンスを作成したときに指定したポートを経由して通信を送信または受信できない場合は、DB インスタンスに接続できません。DB インスタンスに指定したポートでインバウンドおよびアウトバウンド通信できることを検証するよう、ネットワーク管理者に確認してください。

DB インスタンスに接続できません。

ローカルファイアウォールによって実施されるアクセスルールと、DB インスタンスのセキュリティグループで DB インスタンスへのアクセスを許可した IP アドレスが一致しない可能性があります。ほとんどの問題は、ファイアウォールに関する送信または受信ルールが原因です。セキュリティグループの詳細については、Amazon RDS セキュリティグループ を参照してください。

セキュリティグループにルールを設定する手順については、チュートリアル: Amazon RDS DB インスタンスで使用する Amazon VPC の作成 を参照してください。

ターゲットホストまたはオブジェクトが存在しないため接続できませんでした – Oracle、エラー: ORA-12545

サーバー名とポート番号を正しく指定していることを確認します。[Server name] で、コンソールからの DNS 名を入力するか貼り付けます。

DB インスタンスの DNS 名とポート番号を見つける方法については、DB インスタンスのエンドポイントの検索 を参照してください。

無効なユーザー名/パスワード、ログインが拒否されました – Oracle、エラー: ORA-01017

DB インスタンスには到達できましたが、接続が拒否されました。通常、これは誤ったユーザー名やパスワードが指定されたときに発生します。ユーザー名とパスワードを確認し、再試行します。

関連トピック