はじめに
Database Cloud Service(以下 DBCS) では、Oracle Database のディスク領域に ASM (Automatic Storage Management) という技術が使われています。次の引用画像にある通り、RAID とは異なる実装の Oracle Database 専用のクラスタ・ボリューム・マネージャです。Oracle 独自に物理デバイスを管理し、Oracle Database にとって最適に物理デバイスが使えます。
引用元 : https://speakerdeck.com/oracle4engineer/oracleautomaticstoragemanagement?slide=4
DBCS では、Oracle Database の初期化パラメータファイル(spfile) が ASM 上に格納されています。今回の記事では、ASM 上の初期化パラメータファイルをローカルファイルシステムにコピーしてくる手順を確認します。ASM に慣れていないと、ASM 上のファイルシステムにどのようにアクセスすればいいか分からないと思うので、こちらの手順を参考にしてもらえると幸いです。
初期化パラメータファイルの場所
まず、DBCS の初期化パラメータファイルの格納先を確認するために、DBCS の opc ユーザーに SSH ログインします。その後、oracle ユーザーへスイッチします。
[opc@odb19hp ~]$ sudo su - oracle
Last login: Fri Dec 4 11:25:31 UTC 2020 on pts/0
[oracle@odb19hp ~]$
SQL*Plus で接続します。
[oracle@odb19hp ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Dec 4 11:29:40 2020
Version 19.8.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
Connected to:
Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production
Version 19.8.0.0.0
SQL>
SPFILE の場所を確認します。
+DATA/ODB19HP_NRT1C4/PARAMETERFILE/spfile.269.1049083243
に格納されています。頭の +DATA
という指定があり、ASM の領域を使っているとわかります。
SQL> select value from v$parameter where name = 'spfile';
VALUE
--------------------------------------------------------------------------------
+DATA/ODB19HP_NRT1C4/PARAMETERFILE/spfile.269.1049083243
SQL>
exit で opc ユーザーへ戻ります
SQL> exit
Disconnected from Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production
Version 19.8.0.0.0
[oracle@odb19hp ~]$
[oracle@odb19hp ~]$ exit
logout
[opc@odb19hp ~]$
ASMで確認
ASM の領域にアクセスするために、grid user に切り替えます。
[opc@odb19hp ~]$ sudo su - grid
Last login: Fri Dec 4 11:25:46 UTC 2020
[grid@odb19hp ~]$
ASMCMD ユーティリティを立ち上げます。-p を入れることで、ユーティリティ上でカレントディレクトリが表示されて便利です。
[grid@odb19hp ~]$ asmcmd -p
ASMCMD [+] >
pwd を押すと現在位置が分かります。 +
なので、ASM領域の一番トップの部分にいます。
ASMCMD [+] > pwd
+
ASMCMD [+] >
Posix のように ls を打てます。DATA と RECO 領域があります。
ASMCMD [+] > ls -l
State Type Rebal Name
MOUNTED EXTERN N DATA/
MOUNTED EXTERN N RECO/
ASMCMD [+] >
cd で 初期化パラメータファイルの場所へ移動します。
ASMCMD [+] > cd +DATA/ODB19HP_NRT1C4/PARAMETERFILE/
ASMCMD [+DATA/ODB19HP_NRT1C4/PARAMETERFILE] >
ls を打つと、初期化パラメータファイルがあります。
ASMCMD [+DATA/ODB19HP_NRT1C4/PARAMETERFILE] > ls -l
Type Redund Striped Time Sys Name
PARAMETERFILE UNPROT COARSE DEC 04 11:00:00 Y spfile.269.1049083243
ASMCMD [+DATA/ODB19HP_NRT1C4/PARAMETERFILE] >
初期化パラメータファイルをローカルファイルシステムにコピーします。
cp spfile.269.1049083243 /home/grid/workdir/spfile.269.1049083243
実行例
ASMCMD [+DATA/ODB19HP_NRT1C4/PARAMETERFILE] > cp spfile.269.1049083243 /home/grid/workdir/spfile.269.1049083243
copying +DATA/ODB19HP_NRT1C4/PARAMETERFILE/spfile.269.1049083243 -> /home/grid/workdir/spfile.269.1049083243
ASMCMD [+DATA/ODB19HP_NRT1C4/PARAMETERFILE] >
コピーできたので exit で抜けます
ASMCMD [+DATA/ODB19HP_NRT1C4/PARAMETERFILE] > exit
[grid@odb19hp ~]$
ローカルファイルシステムを確認すると、初期化パラメータファイルがあります。
[grid@odb19hp ~]$ ls -la /home/grid/workdir/
total 16
drwxr-xr-x 2 grid oinstall 4096 Dec 4 11:39 .
drwx------ 4 grid oinstall 4096 Dec 4 11:39 ..
-rw-r----- 1 grid oinstall 5632 Dec 4 11:39 spfile.269.1049083243
[grid@odb19hp ~]$
付録 : DISK GROUP
ASM上で Disk Group を確認できます。詳細は次の記事を参考にしてください。
lsdg
ASMCMD [+] > lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 4194304 262144 220788 0 220788 0 Y DATA/
MOUNTED EXTERN N 512 512 4096 4194304 262144 179764 0 179764 0 N RECO/
ASMCMD [+] >
lsdsk
ASMCMD [+] > lsdsk
Path
/dev/DATADISK1
/dev/DATADISK2
/dev/DATADISK3
/dev/DATADISK4
/dev/RECODISK1
/dev/RECODISK2
/dev/RECODISK3
/dev/RECODISK4
ASMCMD [+] >
disk 使用量
ASMCMD [+] > lsdsk -k
Total_MB Free_MB OS_MB Name Failgroup Site_Name Site_GUID Site_Status Failgroup_Type Library Label Failgroup_Label Site_Label UDID Product Redund Path
65536 55232 65536 DATA_0002 DATA_0002 00000000000000000000000000000000 REGULAR System UNKNOWN /dev/DATADISK1
65536 55188 65536 DATA_0001 DATA_0001 00000000000000000000000000000000 REGULAR System UNKNOWN /dev/DATADISK2
65536 55172 65536 DATA_0000 DATA_0000 00000000000000000000000000000000 REGULAR System UNKNOWN /dev/DATADISK3
65536 55196 65536 DATA_0003 DATA_0003 00000000000000000000000000000000 REGULAR System UNKNOWN /dev/DATADISK4
65536 44928 65536 RECODISK1 RECODISK1 00000000000000000000000000000000 REGULAR System UNKNOWN /dev/RECODISK1
65536 44980 65536 RECODISK2 RECODISK2 00000000000000000000000000000000 REGULAR System UNKNOWN /dev/RECODISK2
65536 44952 65536 RECODISK3 RECODISK3 00000000000000000000000000000000 REGULAR System UNKNOWN /dev/RECODISK3
65536 44904 65536 RECODISK4 RECODISK4 00000000000000000000000000000000 REGULAR System UNKNOWN /dev/RECODISK4
ASMCMD [+] >
disk 統計情報
ASMCMD [+] > lsdsk --statistics
Reads Write Read_Errs Write_Errs Read_time Write_Time Bytes_Read Bytes_Written Voting_File Path
697701 287520 0 0 1236.936075 3395.014642 27514228736 43560972288 N /dev/DATADISK1
1134266 262217 0 0 1373.387084 4307.932924 29378458624 43286927360 N /dev/DATADISK2
717484 256018 0 0 1772.320747 3875.400057 27906015232 43589595136 Y /dev/DATADISK3
693297 276085 0 0 1130.266629 4503.553209 27748327424 43877916672 N /dev/DATADISK4
51409 103210 0 0 191.960202 701.403054 8659575296 16087470080 N /dev/RECODISK1
1243892 426058 0 0 935.777521 997.805004 22569542656 21471966208 N /dev/RECODISK2
1349442 136308 0 0 1155.724625 940.626733 29913323520 16792078848 N /dev/RECODISK3
779994 109334 0 0 712.2695 802.024329 20586233344 16469213696 N /dev/RECODISK4
sd に紐づき
[root@odb19hp dev]# ls -l /dev/ | grep DISK
lrwxrwxrwx 1 root root 3 Dec 4 11:40 DATADISK1 -> sdd
lrwxrwxrwx 1 root root 3 Dec 4 11:40 DATADISK2 -> sde
lrwxrwxrwx 1 root root 3 Dec 4 11:50 DATADISK3 -> sdf
lrwxrwxrwx 1 root root 3 Dec 4 11:40 DATADISK4 -> sdc
lrwxrwxrwx 1 root root 3 Dec 4 11:40 RECODISK1 -> sdj
lrwxrwxrwx 1 root root 3 Dec 4 11:40 RECODISK2 -> sdg
lrwxrwxrwx 1 root root 3 Dec 4 11:40 RECODISK3 -> sdh
lrwxrwxrwx 1 root root 3 Dec 4 11:50 RECODISK4 -> sdi
参考URL
asmcmdとは
http://www.doppo1.net/oracle/function/asm/asmcmd.html
Oracle Cloud(OCI) DBaaSのデフォルト・ストレージ構成
https://qiita.com/feifo/items/6c965afd89c94f072fc7