PowerShellにパスワード文字列を直接書かない手法


PowerShellで用意されているGet-Credential 関連を駆使して、PowerShellスクリプト内に直接パスワードを書かないで済む手法でスクリプトを作成した。

スクリプトを配置したディレクトリにscript.cred というファイルを作り、そこに暗号化されたパスワード文字列を配置する、という仕組み。

$authfile=$PSScriptRoot+".\script.cred"
$username="admin" #ユーザ名
$passwdstr="" # この変数にパスワード文字列が入る。
if((Test-Path $authfile) -eq $false){
    $creds = Get-Credential -UserName $username -Message $($username+"ユーザのパスワードを入力してください")
    $creds.Password | ConvertFrom-SecureString | Set-Content -Path $authfile | Out-Null
    $passwdstr=[Runtime.InteropServices.Marshal]::PtrToStringBSTR([Runtime.InteropServices.Marshal]::SecureStringToBSTR($creds.Password))
}else{
    $passwdstr=[Runtime.InteropServices.Marshal]::PtrToStringBSTR([Runtime.InteropServices.Marshal]::SecureStringToBSTR($(Get-Content $authfile | ConvertTo-SecureString)))
}

# この段階の $passwdstr には暗号化されていないパスワード文字列が入っている

なお、メモリ上の$passwdstr には暗号化されていない文字列が保存されているため、そこは注意が必要。

CommvaultのREST APIをPowerShellで使って見る


Commvaultバックアップの操作にREST APIを使うことができる。

・Commvault V11SP24の「REST API Overview
Commvault Rest APIの出力サンプル群

ログインして、指定したクライアントのサブクライアント情報を取得するPowerShellで作成してみた。

# CommCellユーザ情報
$restapiuser="admin"
$restapipasswd="パスワード"

# REST APIで使用するURL
# どちらを使うかについて https://documentation.commvault.com/11.24/expert/45592_available_web_services_for_rest_api.html
#$restapiurlbase="http://~:81/SearchSvc/CVWebService.svc/"
$restapiurlbase="http://~/webconsole/api/"

# 検索用文字列
$clientname="クライアント名"

# CommCell環境にログイン
$restapipasswdbase64=[Convert]::ToBase64String(([System.Text.Encoding]::Default).GetBytes($restapipasswd))
$headers=@{
    "Accept"="application/json"
    "Content-Type"="application/json"
}
$loginReq = @{
    username=$restapiuser
    password=$restapipasswdbase64
}
$loginresponse=Invoke-RestMethod -Method post -Uri $($restapiurlbase+"Login") -Body $($loginReq|ConvertTo-Json) -ContentType 'application/json' -Headers $headers

# 指定クライアントのサブクライアント情報取得
$headers=@{
    "Accept"="application/json"
    "Authtoken"=$loginresponse.token
}
$response=Invoke-RestMethod -Method Get -Uri $($restapiurlbase+"Subclient?clientName="+$clientname) -Headers $headers

# $response.subClientProperties.subClientEntity にサブクライアントの情報が入っているが
# 複数のサブクライアントがあると $response.subClientProperties.subClientEntity.subclientName が複数行になるので注意

# 表示
$response.subClientProperties.subClientEntity | ForEach-Object {
    $subcliententory=$_
    Write-host $subcliententory
 }

# CommCellログアウト
$headers=@{
    "Accept"="application/json"
    "Authtoken"=$loginresponse.token
}
$logoutresponse=Invoke-RestMethod -Method post -Uri $($restapiurlbase+"Logout") -Headers $headers

ただ、このスクリプトを使うとCommvault Event viewerに表示されるログイン情報が「Machine:unknown Locale:unknown」となる。

これを設定できるか調べて見たが、無いように思える。

ClonezillaをLACP+タグVLAN環境で使う


システムディスクのバックアップ/リストアを行えるDebian/Ubuntuベースで構成されているClonezilla を使ってシステム障害に備えたバックアップディスクを取得しようと思ったのだが、ネットワークがLACP (802.3ad) +タグVLANで作成されていることに気がついた。

複数NICが搭載されている環境でClonzillaを起動すると、ネットワーク設定の際に「bond0 Use_channel_bonding」という選択肢が表示される。

しかし、次のNetwork Configで「static Use static IP address」を選択してみてもIPアドレスに関する設定のみでLACPで使うNICの選択やVLANに関する入力する場面はない。

というわけで、「enter_shell Enter_command_line_prompt._Do_it_manually」を選択してみるしかない。

選択してみると、設定したあと「exit」すれば続きから始まるよ、といわれる。

では、どのように設定を行うのか?下記でヒントを発見

Clonezillaの機能追加希望「#61 no lacp / etherchannel / Bonding support」(2015年07月15日~2016年10月13日)
Clonezillaのフォーラム「VLANs / bonding configuration」(2020年12月09日~2020年12月14日)

手動で設定する場合のやりかたと、ocs-live-nicbonding というスクリプトを追加して今後のバージョンで使える様にする、というものになる。

Clonezilla 2.8.0で確認してみると ocs-live-nicbonding は存在していた。

しかし、ドキュメントが見当たらないので、スクリプトを読んでみると下記仕様のようだった。

・bond0 を mode=802.3ad(LACP) 、miimon=100 で作成する
・ocs-live-nicbonding のオプションとして指定したNICがスレーブデバイスとして登録される
・xmit_hash_policy は指定しないのでデフォルトのlayer2設定

というわけで、eth3,eth4を使用してbond0を作成する場合は「ocs-live-nicbonding eth3 eth4」と実行する

「ip a s bond0」を実行してbond0が作成されていることを確認

bond0へのタグVLAN追加はvconfigコマンドで実行。

「vconfig add bond0 <VLANID>」を実行する

そうすると「bond0.<VLAN ID>」というデバイスが作成される(「ip a s bond0.<VLANID>」で確認)

IPアドレスを「ifconfig bond0.<VLANID> <IPアドレス> netmask <ネットマスク> up」を実行して設定。

で「exit」を実行すると、下記の様にClonezillaの操作に戻ります。

Oracle RMANメモ


OracleデータベースのバックアップをRMAN使ってとる、という話が久しぶりに回ってきたけど、すっかり忘却していたのでメモ書き

とりあえずWindows Server 2019にOracle 18c XEをインストールして確認

各種コマンド例

LISTNERの状態確認

「lsnrctl status」でLISTNERの状態を確認

C:\Users\administrator.VM2>lsnrctl status

LSNRCTL for 64-bit Windows: Version 18.0.0.0.0 - Production on 25-6月 -2021 10:32:12

Copyright (c) 1991, 2018, Oracle.  All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracledb.adosakana.local(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名                      LISTENER
バージョン                TNSLSNR for 64-bit Windows: Version 18.0.0.0.0 - Production
開始日                    22-6月 -2021 16:42:40
稼働時間                  2 日 17 時間 49 分 32 秒
トレース・レベル          off
セキュリティ              ON: Local OS Authentication
SNMP                      OFF
デフォルト・サービス           XE
パラメータ・ファイル      D:\app\administrator\product\18.0.0\dbhomeXE\network\admin\listener.ora
ログ・ファイル            D:\app\administrator\product\18.0.0\diag\tnslsnr\oracledb\listener\alert\log.xml
リスニング・エンドポイントのサマリー...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracledb.adosakana.local)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=127.0.0.1)(PORT=5500))(Security=(my_wallet_directory=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\admin\XE\xdb_wallet))(Presentation=HTTP)(Session=RAW))
サービスのサマリー...
サービス"3bba54f9890046b4b3f6a6c7a4e4e597"には、1件のインスタンスがあります。
  インスタンス"xe"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"CLRExtProc"には、1件のインスタンスがあります。
  インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
サービス"XE"には、1件のインスタンスがあります。
  インスタンス"xe"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"XEXDB"には、1件のインスタンスがあります。
  インスタンス"xe"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"xepdb1"には、1件のインスタンスがあります。
  インスタンス"xe"、状態READYには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。

C:\Users\administrator.VM2>

アーカイブログの設定確認

Oracleデータベースのバックアップを行う場合、ARCHIVELOGモードが有効になっていないと、オンラインバックアップが行えないので、sqlplusコマンドを使ってデータベースに接続し、log_mode の値を確認する。

C:\Users\administrator.VM2>sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on 金 6月 25 10:35:11 2021
Version 18.4.0.0.0

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



Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
に接続されました。
SQL> select log_mode from v$database;

LOG_MODE
------------------------
ARCHIVELOG

SQL> exit
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0との接続が切断されました。

C:\Users\administrator.VM2>

上記は「ARCHIVELOG」で有効になっている、ということ。

ここが「NOARCHIVELOG」だと有効になっていない、ということになる。

アーカイブログがどこに出力されるかを「archive log list」を実行して確認する。

SQL> archive log list
データベース・ログ・モード     アーカイブ・モード
自動アーカイブ                 有効
アーカイブ先                    D:\app\administrator\product\18.0.0\dbhomeXE\RDBMS
最も古いオンライン・ログ順序   47
アーカイブする次のログ順序    49
現行のログ順序               49
SQL> 

また、実際に出力される時にどういうファイル名となるかは「select * from v$logfile;」を実行して確認出来る。(こちらは最後に”;”を忘れない)

SQL> select * from v$logfile;

    GROUP# STATUS         TYPE
---------- -------------- --------------
MEMBER
--------------------------------------------------------------------------------
IS_REC     CON_ID
------ ----------
         3                ONLINE
D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\REDO03.LOG
NO              0

         2                ONLINE
D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\REDO02.LOG
NO              0

    GROUP# STATUS         TYPE
---------- -------------- --------------
MEMBER
--------------------------------------------------------------------------------
IS_REC     CON_ID
------ ----------

         1                ONLINE
D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\REDO01.LOG
NO              0


SQL>

RMANの既存設定確認

RMANに設定されている内容を確認するには「show all;」を実行して確認します。

C:\Users\administrator.VM2>rman target /

Recovery Manager: Release 18.0.0.0.0 - Production on 金 6月 25 15:40:36 2021
Version 18.4.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

ターゲット・データベース: XE (DBID=2957026582)に接続されました

RMAN> show all;

db_unique_name XEのデータベースにおけるRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\SNCFXE.ORA'; # default

RMAN>

コントロール/SPFILEの取り扱い

コントロールファイル/SPFILEの自動バックアップが設定されているかは、rmanコマンドで「show controlfile autobackup;」を実行することで確認出来る。

C:\Users\administrator.VM2>rman target /

Recovery Manager: Release 18.0.0.0.0 - Production on 金 6月 25 15:40:36 2021
Version 18.4.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

ターゲット・データベース: XE (DBID=2957026582)に接続されました

RMAN> SHOW CONTROLFILE AUTOBACKUP ;

db_unique_name XEのデータベースにおけるRMAN構成パラメータ:
CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT;

リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています
db_unique_name XEのデータベースにおけるRMAN構成パラメータ:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default

RMAN> 

バックアップ一覧の確認

現在までにRMAN経由でバックアップした一覧は「list backup;」で確認できる。

RMAN> list backup;


バックアップ・セットのリスト
===================


BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
1       Incr 0  1.07G      SBT_TAPE    00:02:00     21-06-22
        BPキー: 1   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165535
        ハンドル: 1163_XE_01022907_1_1   メディア: V_342_2322
  バックアップ・セット1のデータファイルのリスト
  File LV Type Ckp SCN    Ckp時間  Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- -------- ----------- ------ ----
  1    0  Incr 1563429    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\SYSTEM01.DBF
  3    0  Incr 1563429    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\SYSAUX01.DBF
  4    0  Incr 1563429    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\UNDOTBS01.DBF
  7    0  Incr 1563429    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\USERS01.DBF

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
2       Incr 0  522.00M    SBT_TAPE    00:00:04     21-06-22
        BPキー: 2   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165535
        ハンドル: 1163_XE_02022944_1_1   メディア: V_342_2323
  バックアップ・セット2のデータファイルのリスト
  コンテナID: 3、PDB名: XEPDB1
  File LV Type Ckp SCN    Ckp時間  Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- -------- ----------- ------ ----
  9    0  Incr 1563669    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\SYSTEM01.DBF
  10   0  Incr 1563669    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\SYSAUX01.DBF
  11   0  Incr 1563669    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\UNDOTBS01.DBF
  12   0  Incr 1563669    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\USERS01.DBF

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
3       Incr 0  511.00M    SBT_TAPE    00:00:04     21-06-22
        BPキー: 3   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165535
        ハンドル: 1163_XE_0302294c_1_1   メディア: V_342_2324
  バックアップ・セット3のデータファイルのリスト
  コンテナID: 2、PDB名: PDB$SEED
  File LV Type Ckp SCN    Ckp時間  Abs Fuz SCN Sparse Name
  ---- -- ---- ---------- -------- ----------- ------ ----
  5    0  Incr 1452518    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\SYSTEM01.DBF
  6    0  Incr 1452518    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\SYSAUX01.DBF
  8    0  Incr 1452518    21-06-22              NO    D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\UNDOTBS01.DBF

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
4       Incr 0  18.00M     SBT_TAPE    00:00:01     21-06-22
        BPキー: 4   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165535
        ハンドル: 1163_XE_0402294j_1_1   メディア: V_342_2325
  含まれている制御ファイル: Ckp SCN: 1563678      Ckp時間: 21-06-22

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
5       Full    18.00M     SBT_TAPE    00:00:00     21-06-22
        BPキー: 5   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165757
        ハンドル: c-2957026582-20210622-00   メディア: V_342_2326
  SPFILEも含まれます: 修正時間: 21-06-22
  SPFILE db_unique_name: XE
  含まれている制御ファイル: Ckp SCN: 1563687      Ckp時間: 21-06-22

BSキー  サイズ       デバイス・タイプ経過時間終了時間
------- ---------- ----------- ------------ --------
6       88.00M     SBT_TAPE    00:01:06     21-06-22
        BPキー: 6   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T165921
        ハンドル: 1163_XE_06022979_1_1   メディア: V_342_2327

  バックアップ・セット6のアーカイブ・ログのリスト
  Thrd Seq     Low SCN    Low時間  Next SCN   Next Time
  ---- ------- ---------- -------- ---------- ---------
  1    2       1440543    21-06-22 1460361    21-06-22
  1    3       1460361    21-06-22 1562252    21-06-22
  1    4       1562252    21-06-22 1563792    21-06-22
  1    5       1563792    21-06-22 1563800    21-06-22

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
7       Full    18.00M     SBT_TAPE    00:00:01     21-06-22
        BPキー: 7   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210622T170037
        ハンドル: c-2957026582-20210622-01   メディア: V_342_2328
  SPFILEも含まれます: 修正時間: 21-06-22
  SPFILE db_unique_name: XE
  含まれている制御ファイル: Ckp SCN: 1563859      Ckp時間: 21-06-22

<略>
BSキー  サイズ       デバイス・タイプ経過時間終了時間
------- ---------- ----------- ------------ --------
111     11.00M     SBT_TAPE    00:01:05     21-06-25
        BPキー: 111   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210625T135700
        ハンドル: 1420_XE_3j029rlc_1_1   メディア: V_342_2765

  バックアップ・セット111のアーカイブ・ログのリスト
  Thrd Seq     Low SCN    Low時間  Next SCN   Next Time
  ---- ------- ---------- -------- ---------- ---------
  1    52      1831218    21-06-25 1839292    21-06-25

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
112     Full    19.00M     SBT_TAPE    00:00:01     21-06-25
        BPキー: 112   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210625T135805
        ハンドル: c-2957026582-20210625-0d   メディア: V_342_2766
  SPFILEも含まれます: 修正時間: 21-06-22
  SPFILE db_unique_name: XE
  含まれている制御ファイル: Ckp SCN: 1839334      Ckp時間: 21-06-25

BSキー  サイズ       デバイス・タイプ経過時間終了時間
------- ---------- ----------- ------------ --------
113     20.00M     SBT_TAPE    00:01:05     21-06-25
        BPキー: 113   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210625T145912
        ハンドル: 1426_XE_3l029va0_1_1   メディア: V_342_2772

  バックアップ・セット113のアーカイブ・ログのリスト
  Thrd Seq     Low SCN    Low時間  Next SCN   Next Time
  ---- ------- ---------- -------- ---------- ---------
  1    53      1839292    21-06-25 1845342    21-06-25

BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
114     Full    19.00M     SBT_TAPE    00:00:00     21-06-25
        BPキー: 114   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20210625T150028
        ハンドル: c-2957026582-20210625-0e   メディア: V_342_2773
  SPFILEも含まれます: 修正時間: 21-06-22
  SPFILE db_unique_name: XE
  含まれている制御ファイル: Ckp SCN: 1845469      Ckp時間: 21-06-25

RMAN>

バックアップ手法について

Oracleデータベースをバックアップする時に気にするもの
・データベース本体
・アーカイブログ
・コントロールファイル/SPFILE


Oracle 19 [Backup and Recovery User’s Guide]
 [4 RMANクライアントの起動および操作]
 [5 RMAN環境の構成]
Oracle 19 [Real Application Clusters管理およびデプロイメント・ガイド]
 [7.4 制御ファイルおよびSPFILEを自動的にバックアップするようなRMANの構成]

手動で実行

[2.4.2 ARCHIVELOGモードでのデータベースのバックアップ]に記載されている「BACKUP DATABASE PLUS ARCHIVELOG;」を実行した例

デフォルトのRMAN設定では”CONFIGURE DEFAULT DEVICE TYPE TO DISK; “と設定さてており、何も指定がない場合はディスク上に保存されることになっている。

RMAN> backup database plus archivelog;


backupを21-06-25で開始しています
現在のログがアーカイブされました。
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=287 デバイス・タイプ=DISK
チャネルORA_DISK_1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=56 レコードID=55 スタンプ=1076174677
チャネルORA_DISK_1: ピース1 (21-06-25)を起動します
チャネルORA_DISK_1: ピース1 (21-06-25)が完了しました
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\3R02A7QN_1_1 タグ=TAG20210625T172439 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:01
backupを21-06-25で終了しました

backupを21-06-25で開始しています
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00001 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\SYSTEM01.DBF
入力データファイル ファイル番号=00003 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\SYSAUX01.DBF
入力データファイル ファイル番号=00004 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\UNDOTBS01.DBF
入力データファイル ファイル番号=00007 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\USERS01.DBF
チャネルORA_DISK_1: ピース1 (21-06-25)を起動します
チャネルORA_DISK_1: ピース1 (21-06-25)が完了しました
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\3S02A7QO_1_1 タグ=TAG20210625T172440 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:15
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00010 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\SYSAUX01.DBF
入力データファイル ファイル番号=00009 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\SYSTEM01.DBF
入力データファイル ファイル番号=00011 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\UNDOTBS01.DBF
入力データファイル ファイル番号=00012 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\XEPDB1\USERS01.DBF
チャネルORA_DISK_1: ピース1 (21-06-25)を起動します
チャネルORA_DISK_1: ピース1 (21-06-25)が完了しました
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\3T02A7R7_1_1 タグ=TAG20210625T172440 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:07
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00006 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\SYSAUX01.DBF
入力データファイル ファイル番号=00005 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\SYSTEM01.DBF
入力データファイル ファイル番号=00008 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\PDBSEED\UNDOTBS01.DBF
チャネルORA_DISK_1: ピース1 (21-06-25)を起動します
チャネルORA_DISK_1: ピース1 (21-06-25)が完了しました
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\3U02A7RF_1_1 タグ=TAG20210625T172440 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:07
backupを21-06-25で終了しました

backupを21-06-25で開始しています
現在のログがアーカイブされました。
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=57 レコードID=56 スタンプ=1076174710
チャネルORA_DISK_1: ピース1 (21-06-25)を起動します
チャネルORA_DISK_1: ピース1 (21-06-25)が完了しました
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\3V02A7RM_1_1 タグ=TAG20210625T172510 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:01
backupを21-06-25で終了しました

Control File and SPFILE Autobackupを21-06-25で開始しています
ピース・ハンドル=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\DBHOMEXE\DATABASE\C-2957026582-20210625-11 コメント=NONE
Control File and SPFILE Autobackupを21-06-25で終了しました

RMAN>

sbt_tapeに変える場合、以前だとallocate cahnnelしていたが[B 非推奨になったRMAN構文]に含まれている。

しかし、[5.1.2 バックアップ用のデフォルト・デバイスの構成: ディスクまたはSBT]から記述を見ていくと[5.1.4.1 チャネルの構成について]と[5.1.4.4 構成済チャネルの手動での変更]を見ると、一時的に変更する場合は「ALLOCATE CHANNEL」のままで良いようだ。

CommvaultのOralce Agentがセットアップされている環境で試すと、Commvaultに引き渡す場合のパラメータが適合していないようで、失敗する。

RMAN> run {
2> allocate channel ch1 device type 'SBT_TAPE';
3> backup database plus archivelog;
4> }

チャネル: ORA_DISK_1がリリースされました
チャネル: ch1が割り当てられました
チャネルch1: SID=287 デバイス・タイプ=SBT_TAPE
チャネルch1: CommVault Systems for Oracle: Version 11.0.0(BUILD80)


backupを21-06-25で開始しています
現在のログがアーカイブされました。
チャネルch1: アーカイブ・ログ・バックアップ・セットを開始しています
チャネルch1: バックアップ・セットにアーカイブ・ログを指定しています
入力アーカイブ・ログ・スレッド=1 順序=56 レコードID=55 スタンプ=1076174677
入力アーカイブ・ログ・スレッド=1 順序=57 レコードID=56 スタンプ=1076174710
入力アーカイブ・ログ・スレッド=1 順序=58 レコードID=57 スタンプ=1076175527
チャネルch1: ピース1 (21-06-25)を起動します
チャネル: ch1がリリースされました
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup plus archivelogコマンドが06/25/2021 17:39:23で失敗しました
ORA-19506: シーケンシャル・ファイルの作成に失敗しました。ファイル名="4102a8l8_1_1"、パラメータ=""
ORA-27028: skgfqcre: sbtbackupからエラーが戻されました。
ORA-19511: RMAN以外の、メディア・マネージャまたはベンダー固有の障害。エラー・テキスト:
   CreateOraObject20:

RMAN>

Commvaultマニュアルにある[RMAN Example: Performing Oracle Full Backups]のサンプル通りに実行してみる。

RMAN> run {
2> allocate channel ch1 type 'sbt_tape';
3> allocate channel ch2 type 'sbt_tape';
4> allocate channel ch3 type 'sbt_tape';
5> allocate channel ch4 type 'sbt_tape';
6>
7> setlimit channel ch1 maxopenfiles 8;
8> setlimit channel ch2 maxopenfiles 8;
9> setlimit channel ch3 maxopenfiles 8;
10> setlimit channel ch4 maxopenfiles 8;
11>
12> backup incremental level = 0
13> filesperset = 4 format '%d_%U_%t'
14> database include current controlfile;
15> }

チャネル: ch1が割り当てられました
チャネルch1: SID=287 デバイス・タイプ=SBT_TAPE
チャネルch1: CommVault Systems for Oracle: Version 11.0.0(BUILD80)

RMAN-06908: 警告: 操作は割り当てられたチャネルでパラレルに実行しません
RMAN-06909: 警告: パラレル化にはEnterprise Editionが必要です
チャネル: ch2が割り当てられました
チャネルch2: SID=41 デバイス・タイプ=SBT_TAPE
チャネルch2: CommVault Systems for Oracle: Version 11.0.0(BUILD80)

チャネル: ch3が割り当てられました
チャネルch3: SID=266 デバイス・タイプ=SBT_TAPE
チャネルch3: CommVault Systems for Oracle: Version 11.0.0(BUILD80)

チャネル: ch4が割り当てられました
チャネルch4: SID=40 デバイス・タイプ=SBT_TAPE
チャネルch4: CommVault Systems for Oracle: Version 11.0.0(BUILD80)





backupを21-06-25で開始しています
チャネルch1: 増分レベル0のデータファイル・バックアップ・セットを開始しています
チャネルch1: バックアップ・セットにデータファイルを指定しています
入力データファイル ファイル番号=00001 名前=D:\APP\ADMINISTRATOR\PRODUCT\18.0.0\ORADATA\XE\SYSTEM01.DBF
チャネルch1: ピース1 (21-06-25)を起動します
チャネル: ch1がリリースされました
チャネル: ch2がリリースされました
チャネル: ch3がリリースされました
チャネル: ch4がリリースされました
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: backupコマンド(ch1チャネル上)が06/25/2021 18:00:56で失敗しました
ORA-19506: シーケンシャル・ファイルの作成に失敗しました。ファイル名="XE_4502a9tl_1_1_1076176821"、パラメータ=""
ORA-27028: skgfqcre: sbtbackupからエラーが戻されました。
ORA-19511: RMAN以外の、メディア・マネージャまたはベンダー固有の障害。エラー・テキスト:
   CreateOraObject20:

RMAN>

駄目な模様。うーん???

NetBackup ver4.5/Oracle 8ぐらいの時のRMANスクリプト例

この時代はコントロールファイル/SPFILEの自動バックアップが無かった

Oracle 19の[バックアップおよびリカバリ・リファレンス]-[B 非推奨になったRMAN構文]を見ると、このスクリプトで使っている初期化は現状だと推奨されないようだ。

フルバックアップ

run{
  allocate channel ch00 type 'SBT_TAPE' maxopenfiles 100;
  allocate channel ch01 type 'SBT_TAPE' maxopenfiles 100;
  backup
    full
    skip inaccessible
     filesperset 64
    FORMAT 'bk_%s_%p_%t'
    database;
    sql 'alter system archive log current';
  release channel ch00;
  release channel ch01;

  allocate channel ch00 type 'SBT_TAPE' maxopenfiles 100;
  allocate channel ch01 type 'SBT_TAPE' maxopenfiles 100;
  sql 'alter system archive log current';
  backup
     filesperset 64
     FORMAT 'al_%s_%p_%t'
     archivelog all delete input;
  release channel ch00;
  release channel ch01;

  allocate channel ch00 type 'SBT_TAPE';
  copy current controlfile to '/出力フィル名';
  release channel ch00;
}

archivelogのみ

run{
  allocate channel ch00 type 'SBT_TAPE' maxopenfiles 100;
  allocate channel ch01 type 'SBT_TAPE' maxopenfiles 100;
  sql 'alter system archive log current';
  backup
     filesperset 64
     FORMAT 'al_%s_%p_%t'
     archivelog all delete input;
  release channel ch00;
  release channel ch01;

  allocate channel ch00 type 'SBT_TAPE';
  copy current controlfile to '/出力フィル名';
  release channel ch00;
}

Veeamのバックアップ

[Veeam plug-in for Oracle RMAN]-[Planning and Preparation]-[Oracle Environment Planning]

RHEL8/Oracle Linux8のmariadbでバイナリログを有効にする方法


RHEL8/Oracle Linux 8のmariadbをバックアップソフトでオンラインバックアップする場合、バイナリログを有効にする必要がある。

MySQL MySQL 5.7 Reference Manual「2.5.10 Managing MySQL Server with systemd
Oracle MySQL 8.0 リファレンスマニュアル「2.5.9 systemd を使用した MySQL Server の管理
RHEL8 さまざまな種類のサーバーのデプロイメント第9章 データベースサーバー「9.2. MariaDB の使用
MariaDB Administration「Starting and Stopping MariaDB » systemd

設定ファイルを書かずに、いまだけバイナリログで有効にして起動させる場合は以下となる。

# systemctl show-environment 
# systemctl set-environment MYSQLD_OPTS="--log-bin"
# systemctl restart mariadb
#

起動時から有効にする手法について確認すると /lib/systemd/system/mariadb@.service に /etc/systemd/system/mariadb@.service.d/MY_SPECIAL.conf に書くという記述があったので設定してみたものの読み込まれる気配がない。

いろいろ試した結果、/etc/systemd/system/mariadb.service.d/ファイル名.conf でファイルを置いた場合に動作するということが分かった。

# vi /etc/systemd/system/mariadb.service.d/override.conf
# cat /etc/systemd/system/mariadb.service.d/override.conf
[Service]
Environment="MYSQLD_OPTS=--log-bin"
# systemctl daemon-reload
# systemctl restart mariadb
#

ファイルを編集したあとは、daemon-reloadを実行する必要があった。

なお、 /etc/default/mysql, /etc/default/mysqld, /etc/sysconfig/mysql にて「MYSQLD_OPTS=”–log-bin”」を設定する、という手法も実験してみたが、これらは動作しなかった。