4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SQL*PlusからOracle Cloudを試す

Last updated at Posted at 2020-03-03

以前、SQL DeveloperからOracle Cloudを試すを書いたので、SQL*PlusからOracle Autonomous Transaction Processing (ATP)データベースへの接続方法を検証します。
#ウォレットの利用

##ウォレットのダウンロードと展開
SQL*PlusからATPへ接続するにはSQL Developerの時と同様にWalletをダウンロードします。該当データベースのコンソールから「DB接続」ボタンをクリックします。

WalletDownload

「ウォレット・タイプ」には「インスタンス・ウォレット」を選択し、「ウォレットのダウンロード」ボタンをクリックします。次にダウンロードされたzipファイルをSQL*Plusを実行するホストで任意の場所にダウンロードし、展開します。

$ mkdir wallet
$ unzip Wallet_DB202003021003.zip -d wallet
Archive:  Wallet_DB202003021003.zip
  inflating: wallet/cwallet.sso
  inflating: wallet/tnsnames.ora
  inflating: wallet/truststore.jks
  inflating: wallet/ojdbc.properties
  inflating: wallet/sqlnet.ora
  inflating: wallet/ewallet.p12
  inflating: wallet/keystore.jks
$ cd wallet
$ ls
cwallet.sso  keystore.jks      sqlnet.ora    truststore.jks
ewallet.p12  ojdbc.properties  tnsnames.ora
$

##ファイルの修正
展開されたファイルからsqlnet.oraファイルを修正します。WALLET_LOCATION属性に指定されたDIRECTORY項目を変更します。デフォルトでは"?/network/admin"になっている部分をウォレットをダウンロードしたディレクトリに変更します。

$ cat sqlnet.ora
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))
SSL_SERVER_DN_MATCH=yes
$
$ vi sqlnet.ora
  <<ファイルの修正>>
  
$ cat sqlnet.ora
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/oracle/wallet")))
SSL_SERVER_DN_MATCH=yes

##環境変数の設定
環境変数TNS_ADMINを、ウォレットを展開したディレクトリに指定します。これによりSQL*Plusがsqlnet.oraファイルやtnsnames.oraファイルを見つけることができ、sqlnet.oraファイルに指定されたウォレットが有効になります。

$ export TNS_ADMIN=/home/oracle/wallet

#SQL*Plusからの接続
##tnsnames.oraファイルの内容
ウォレットを展開したディレクトリにはtnsnames.oraファイルも作成されています。このファイルにはATPに接続する複数のデータベース・サービス名が含まれています。優先度が高いサービスは同時実行数が制限され、優先度が低いサービスは並列度が制限される傾向があります。

データベース・サービス名 説明 並列度 同時実行数
{データベース名}_tpurgent 最も優先度が高いサービス。 手動変更可 100 x OCPUs
{データベース名}_tp OLTPの一般的なアプリケーション接続用サービス シリアル 100 x OCPUs
{データベース名}_high レポートまたはバッチ処理で優先度が高いサービス すべて並列処理 3
{データベース名}_medium レポートとバッチ処理用のサービス シリアル 1.25 x OCPUs
{データベース名}_low レポートまたはバッチ処理で優先度が低いサービス 4に制限 100 x OCPUs

詳しくはマニュアルを参照してください。

下記の例ではURL部分を一部変更しています。

$ cat tnsnames.ora
db202003021003_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name={*******}_db202003021003_high.atp.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-tokyo-1.oraclecloud.com,OU=Oracle ADB TOKYO,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))

db202003021003_low = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name={*******}_db202003021003_low.atp.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-tokyo-1.oraclecloud.com,OU=Oracle ADB TOKYO,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))

db202003021003_medium = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name={*******}_db202003021003_medium.atp.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-tokyo-1.oraclecloud.com,OU=Oracle ADB TOKYO,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))

db202003021003_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name={*******}_db202003021003_tp.atp.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-tokyo-1.oraclecloud.com,OU=Oracle ADB TOKYO,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))

db202003021003_tpurgent = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name={*******}_db202003021003_tpurgent.atp.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-tokyo-1.oraclecloud.com,OU=Oracle ADB TOKYO,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))

SQL*Plusによる接続

SQL*PlusからADMINユーザー、パスワード、データベース・サービス名を指定して接続します。オンプレミスの接続と同じです。ADMINユーザーではAS SYSDBAを指定した接続は実行できません。

$ sqlplus ADMIN/{password}@db202003021003_high AS SYSDBA

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Mar 3 10:30:09 2020
Version 19.3.0.0.0

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

ERROR:
ORA-01017: invalid username/password; logon denied


Enter user-name: ^C

$
$ sqlplus ADMIN/{password}@db202003021003_high

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Mar 2 10:37:21 2020
Version 19.3.0.0.0

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

Last Successful login time: Mon Mar 02 2020 10:30:49 +09:00

Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

SQL>
SQL> SELECT * FROM V$VERSION;

BANNER
--------------------------------------------------------------------------------
BANNER_FULL
----------------------------------------------------------------------------------------------------------------------------------------------------------------
BANNER_LEGACY                                                                        CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production                    0

SQL*PlusからOracle Clound Autonomous Transaction Databaseに接続することができました。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?