ワイヤレス Bluetooth マウス 【極薄型モデル Bluetooth 5.3&2.4GHz】 マウス 静音 3段階DPI調整(800/1200/1600) 超軽量 Type-C充電 スリープモード 高精度 小型まうす 左右対称 節電 7色LED 人間工学設計 コンパクト オフィス ゲーム Mac/Windows/Surface/PC/Macbookに対応 (ブラック)
¥1,599 (2025年5月2日 13:06 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)
ADBはBaseDBと異なり、運用管理が自動化される反面、OSへの接続ができません。
LinuxOS上からSQL*Plus等でDB接続を行いたい場合、別途Computeインスタンスを構築し、
そこにClientを導入して接続するなどの方法でADBへの接続が可能です。
Oracle接続のClientには「Oracle Database Client」と「Oracle Instant Client」の2種類のClientがあります。
単純にSQL*Plus等で接続できればよい場合、Instant Clientの利用がシンプルで簡単です。
以下記事にInstant ClientでのADB接続方法について記載していますのでご参照ください。
[OCI]ComputeインスタンスからADBへの接続設定(OL8)
今回、ADBのAWR情報のダンプ取得やロードをする要件があり、$ORACLE_HOME/rdbms/admin/awrextr.sqlやawrload.sqlの利用を行いたいため、
Instant ClientではなくDatabase Clientを導入してADB接続を行う手順を記載します。
OCI上のVCN、Compute、ADB作成までは前回の記事と同様なので、必要であれば上記リンクの記事を参考に構築します。
5.Computeインスタンスの設定部分からは設定内容が異なりますので本記事を参考にしていただければと思います。
警告
Oracle Linux 8環境上で、23aiのDatabase Clientで構築を進めたところ、以下のエラーが発生し解消できなかったため、ここでは21cのDatabase Clientを利用します。
ORA-28884: invalid cipher suite
参考リンク
2-1.Oracleユーザーの作成
[opc@ ~]$ sudo su -
[root@ ~]# /usr/sbin/groupadd -g 54321 oinstall
[root@ ~]# /usr/sbin/useradd -u 54321 -g oinstall oracle
[root@ ~]# exit
[opc@ ~]$ sudo su - oracle
[oracle@ ~]$ pwd
/home/oracle
[oracle@ ~]$ vi .bashrc
/home/oracleの.bashrcに以下を記載しておきます。
ORACLE_HOME=/u01/app/oracle/product/21.0.0/client_1; export ORACLE_HOME
PATH=$PATH:/u01/app/oracle/product/21.0.0/client_1/bin; export PATH
LD_LIBRARY_PATH=/u01/app/oracle/product/21.0.0/client_1/lib; export LD_LIBRARY_PATH
TNS_ADMIN=/home/oracle/wallet; export TNS_ADMIN
その後、もう一度suを実行するか、.bashrcを読み込みなおしておきます。
2-2.Database Client ソフトウェアのダウンロード
以下のOracle Database 21c ソフトウェアダウンロードページより、Oracle Database 21c Clientをダウンロードします。
本記事では ~client_home.zip の方を利用した手順を記載します。
上記のダウンロードページからzipをローカルにダウンロードし、Compute環境にアップロードする方法でもいいのですが、
ここではComputeインスタンス上からダウンロードする方法を紹介します。
- まず、ダウンロードページからライセンスに同意し、ダウンロードを開始します。
- ダウンロードが開始されたらダウンロードを一時停止します。
- ダウンロードリンクのURLを確認します。
Chromeの場合は「すべてのダウンロード履歴」「ダウンロードリンクをコピー」でURLをコピーできます。 - Computeインスタンス上でダウンロードディレクトリに移動し、curlコマンドにコピーしたURLを指定することでCompute上に直接ダウンロードが可能です。
[oracle@ ~]$ cd /tmp
[oracle@ tmp]$ curl -0 curl -0 https://download.oracle.com/otn/linux/oracle21c/LINUX.X64_213000_client_home.zip?AuthParam=xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx > LINUX.X64_213000_client_home.zip
2-3.Database Client ソフトウェアの展開
[oracle@ ~]$ mkdir -p /u01/app/oracle/product/21.0.0/client_1
[oracle@ ~]$ cd $ORACLE_HOME
[oracle@ client_1]$ unzip /tmp/LINUX.X64_213000_client_home.zip
2-4.X転送設定
今回はGUIでDatabase Clientをインストールしようと思うので、Xクライアントをインストールします。
サイレントインストールをする場合は、この手順は不要です。
[root@ ~]# yum install xauth libXtst libXrender -y
また、動作確認用のアプリケーションもインストールします。
OL7とOL8でコマンドが異なるため読み分けてください。
- OL7の場合
[root@ ~]# yum install xorg-x11-apps -y
- OL8の場合
[root@ ~]# yum --enablerepo=ol8_codeready_builder install xorg-x11-apps -y
sshd設定を行います。
ここでは X11Forwarding が yes であることと、 AddressFamily が inet であることを確認します。
パラメータ | 設定値 |
---|---|
X11Forwarding | yes |
AddressFamily | inet |
[root@ ~]# grep -e X11UseLocalhost -e X11Forwarding -e AddressFamily /etc/ssh/sshd_config
#AddressFamily any
X11Forwarding yes
#X11UseLocalhost yes
# X11Forwarding no
[root@ ~]# vi /etc/ssh/sshd_config
- AddressFamily inetとなるように修正する。
[root@ ~]# grep -e X11UseLocalhost -e X11Forwarding -e AddressFamily /etc/ssh/sshd_config
AddressFamily inet
X11Forwarding yes
#X11UseLocalhost yes
# X11Forwarding no
[root@ ~]# systemctl restart sshd
puttyでComputeに接続する際、以下の設定が有効になっていることを確認します。
Connection – SSH – X11 – Enable X11 forwarding
X11 forwarding を有効にした putty でサーバーに接続すると、そのログインユーザーにXウィンドウの設定が設定されます。
ですが、OCIにはopcユーザーで接続し、Database Clientのインストールはoracleユーザーで実施するため、
Xウィンドウの各設定をopcユーザーからoracleユーザーに引き継ぎます。
パラメータ | 設定値 |
---|---|
DISPLAY | opcユーザーで確認した値 |
xauth | opcユーザーで確認した値 |
[opc@ ~]$ echo $DISPLAY
localhost:10.0
[opc@ ~]$ xauth list
/unix:10 MIT-MAGIC-COOKIE-1 753126dab3a536d91df303d1b7bb9fc7
[opc@ ~]$ sudo -i su - oracle
Last login: Thu Apr 24 00:25:14 GMT 2025 on pts/0
[oracle@ ~]$ export DISPLAY=localhost:10.0
[oracle@ ~]$ xauth add /unix:10 MIT-MAGIC-COOKIE-1 753126dab3a536d91df303d1b7bb9fc7
[oracle@ ~]$ xeyes &
最後に xeyes でGUI画面が確認できれば成功です。
2-5.インストーラ起動
[oracle@ ~]$ cd $ORACLE_HOME
[oracle@ client_1]$ ./runInstaller
2-6.インストールの事前チェック結果(推奨設定)の確認
2-7.warningの解消
チェック結果warningとなった個所を解消します。
まず、推奨されているライブラリをインストールします。
[root@ ~]# yum install compat-openssl10 -y
[root@ ~]# yum install ksh -y
kernelパラメータは現在の設定を確認して推奨された値を/etc/sysctl.confに反映します。
warningが出たパラメータの現在値を確認します。
[root@ ~]# sysctl -a | grep file-max
fs.file-max = 1597539
[root@ ~]# sysctl -a | grep rmem_default
net.core.rmem_default = 212992
[root@ ~]# sysctl -a | grep rmem_max
net.core.rmem_max = 212992
[root@ ~]# sysctl -a | grep wmem_default
net.core.wmem_default = 212992
[root@ ~]# sysctl -a | grep wmem_max
net.core.wmem_max = 212992
[root@ ~]# sysctl -a | grep aio-max-nr
fs.aio-max-nr = 65536
/etc/sysctl.confの編集
[root@ ~]# vi /etc/sysctl.conf
- 以下の内容を反映
fs.file-max = 6815744
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
設定のロード
[root@ ~]# sysctl -a | grep file-max
fs.file-max = 1597539
[root@ ~]# sysctl -p
kernel.unknown_nmi_panic = 1
fs.file-max = 6815744
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
[root@ ~]# sysctl -a | grep file-max
fs.file-max = 6815744
2-8.インストールの再開
再度チェックを実施し、warningが解消されたことを確認し、インストールを進めます。
(または解消しなくてもいいもののみになった場合はIgnore Allにチェックを入れて進めます)
途中でrootユーザーでscriptを流す指示が出てきたら指示通りにscriptを実行します。
3-1.walletのダウンロード
ADBのデータベース接続メニューからインスタンス・ウォレットをダウンロードし、Computeインスタンスに配置します。
ウォレットディレクトリは /home/oracle/wallet としています。
[oracle@ ~]$ mkdir wallet
[oracle@ ~]$ cd wallet
[oracle@ wallet]$ unzip /tmp/Wallet_.zip
[oracle@ wallet]$ ls
cwallet.sso ewallet.p12 ewallet.pem keystore.jks ojdbc.properties README sqlnet.ora tnsnames.ora truststore.jks
[oracle@ wallet]$ cat tnsnames.ora
- 接続文字列を確認
[oracle@ wallet]$ vi sqlnet.ora
- DIRECTORYの値を$TNS_ADMINに変更
DIRECTORY=$TNS_ADMIN
3-2.接続確認
[oracle@ ~]$ sqlplus admin/@
SQL*Plus: Release 21.0.0.0.0 - Production on Thu Apr 24 10:01:04 2025
Version 21.3.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
Last Successful login time: Thu Apr 24 2025 09:05:28 +00:00
Connected to:
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
Version 23.8.0.25.05
SQL>
4-1.AWRダンプ取得
dbidとsnapの範囲を確認します。
SQL> select dbid,min(snap_id),max(snap_id) from awr_pdb_snapshot group by dbid;
DATA_PUMP_DIR の設定を確認します。
SQL> select * from all_directories where directory_name="DATA_PUMP_DIR";
以下のシェルを準備します。
awrdump.sh
#!/bin/bash
##### var setting
v_dbuser='admin'
v_dbpw=''
v_constr=''
v_dmpfilename=''
v_directory_name='DATA_PUMP_DIR'
v_dbid=
v_begin_snap=
v_end_snap=
################################
######### main process #########
################################
echo "START AWREXPORT TIME : $(date '+%Y/%m/%d %H:%M:%S')"
sqlplus -s ${v_dbuser}/${v_dbpw}@${v_constr} SQLEND
DEFINE dbid=${v_dbid}
DEFINE num_days=1
DEFINE begin_snap=${v_begin_snap}
DEFINE end_snap=${v_end_snap}
DEFINE file_name=${v_dmpfilename}
DEFINE directory_name=${v_directory_name}
DEFINE include_sqlmon='no'
@?/rdbms/admin/awrextr.sql
--select sysdate from dual;
SQLEND
echo "END AWREXPORT TIME : $(date '+%Y/%m/%d %H:%M:%S')"
exit
実行します。
[oracle@ awrdump]$ ./awrdump.sh
ADB上のディレクトリオブジェクトにAWRダンプが取得されます。
ですが、ADBのローカル上に配置されているため、そのままではダンプをダウンロードすることができません。
SQL> select * from DBMS_CLOUD.LIST_FILES('DATA_PUMP_DIR');
そのため、ADB上のディレクトリからオブジェクトストレージに以下の手順でファイルをコピーする必要があります。
4-2.認証トークンの作成
上記を参考に、OCIのプロファイルから認証トークンを作成します。
認証トークンは後から確認できないため、作成後、トークンをコピーしておきます。
4-3.クレデンシャルの作成
ADB上で以下のコマンドを実行し、クレデンシャルを作成します。
クレデンシャル名は任意の名称にし、usernameとpasswordは認証トークンを作成したユーザーと作成した認証トークンを指定します。
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => ' ',
username => ' ',
password => ''
);
END;
/
4-4.ADB上からオブジェクトストレージの確認
上記でクレデンシャルが作成できたら、ADB上からオブジェクトストレージが見えるか確認します。
接続用にオブジェクトストレージの情報もOCIコンソール上で確認しておきます。
パラメータ | 設定値 |
---|---|
credential | 上記で作成したcredential名 |
region | ap-tokyo-1 など。 |
ObjectStorageNameSpace | バケットの詳細のネームスペース |
BucketName | バケット名 |
SQL> select * from dbms_cloud.list_objects('','https://objectstorage..oraclecloud.com/n//b//o/');
4-5.ダンプファイルをオブジェクトストレージに配置
再度ダンプファイルを確認します。
DATA_PUMP_DIRにはダンプファイルとログファイルが出力されていると思います。
SQL> select * from DBMS_CLOUD.LIST_FILES('DATA_PUMP_DIR');
DBMS_CLOUD.PUT_OBJECTを使用してダンプファイルをオブジェクトストレージに配置します。
BEGIN
DBMS_CLOUD.PUT_OBJECT(
credential_name => ' ',
object_uri => 'https://objectstorage..oraclecloud.com/n//b//o/ ',
directory_name => 'DATA_PUMP_DIR',
file_name => ' '
);
END;
/
オブジェクトストレージに配置できたことが確認できたら、ADBのDATA_PUBP_DIR上のファイルは不要となるので削除しておきます。
BEGIN
DBMS_CLOUD.DELETE_FILE(
directory_name => 'DATA_PUMP_DIR',
file_name => ' '
);
END;
/
5-1.ロードしたいAWRダンプの配置
別の環境で取得したAWRダンプをオブジェクトストレージにアップロードします。
オブジェクトストレージへのアップロードはGUIのドラッグ&ドロップで行います。
DBMS_CLOUD.GET_OBJECTを使用し、オブジェクトストレージにアップロードしたダンプファイルをDATA_PUMP_DIRに配置します。
その際、PUT_OBJECTと異なり、ファイル名はfile_nameパラメータではなく、object_uriに含めます。
BEGIN
DBMS_CLOUD.GET_OBJECT(
credential_name => ' ',
object_uri => 'https://objectstorage..oraclecloud.com/n//b//o/ ',
directory_name => 'DATA_PUMP_DIR'
);
END;
/
DATA_PUMP_DIRに配置できたことを確認します。
SQL> select * from DBMS_CLOUD.LIST_FILES('DATA_PUMP_DIR');
5-2.AWRダンプロード
以下のシェルを準備します。
awrload.sh
#!/bin/bash
##### var setting
v_dbuser='admin'
v_dbpw=''
v_constr=''
v_dmpfilename=''
v_directory_name='DATA_PUMP_DIR'
################################
######### main process #########
################################
echo "START AWRIMPORT TIME : $(date '+%Y/%m/%d %H:%M:%S')"
sqlplus -s ${v_dbuser}/${v_dbpw}@${v_constr} SQLEND
DEFINE file_name=${v_dmpfilename}
DEFINE directory_name=${v_directory_name}
@?/rdbms/admin/awrload.sql
--select sysdate from dual;
SQLEND
echo "END AWRIMPORT TIME : $(date '+%Y/%m/%d %H:%M:%S')"
exit
シェルに実行権限を付け、実行します。
[oracle@ awrload]$ ./awrload.sh
ロードできたことを確認します。
SQL> select dbid,min(snap_id),max(snap_id) from awr_pdb_snapshot group by dbid;
5-3.ダンプファイルの削除
ADBのDATA_PUMP_DIR上のファイルを削除します。
SQL> select * from DBMS_CLOUD.LIST_FILES('DATA_PUMP_DIR');
上記で見つかった不要なファイルをDBMS_CLOUD.DELETE_FILEで削除します。
dmpファイルとlogファイルがあるはずです。
BEGIN
DBMS_CLOUD.DELETE_FILE(
directory_name => 'DATA_PUMP_DIR',
file_name => ' '
);
END;
/
オブジェクトストレージのファイル削除はGUI上で削除できます。
以上で、ADB上のAWRダンプの取得、ADBへのAWRダンプのロードができました。
Views: 0