【1Z0-083】【RMAN】 oracle Gold チャネルとバックアップピースの関係

# 本記事の目的
Oracle Database Administration (oracle Gold)の学習がメインである。
個人的に理解するのにわかりにくかったところを記事としてまとめた。

# 目次

1. チャネルとは
1. チャネルとバックアップピースの関係
1. まとめ


# 1. チャネルとは

チャネルとは、簡単にいうと**プロセス**である

RMANは、バックアップの取得・リカバリ処理の実施など復旧作業を行うために様々なことを行うことができる。
それらを行う際、必ずディスクへの書き込み/読み込み、いわゆる
 **ディスクI/O** が発生する。

そのディスクI/O処理を行うプロセスのことを、チャネルと呼んでいる。

# 2. チャネルとバックアップピースの関係

### ■チャネルとデータファイル
基本的に、一つのデータファイルに対して、I/O処理を実施するチャネルは1つである。

```
データファイル：チャネル=1:1
```

※1つのチャネルが、複数のデータファイルに対してのI/O処理を行うことはある。


#### ▼例外
マルチセクションバックアップを行う場合のみ、1つのデータファイルに対して、複数のチャネルがI/O処理を行う。

### ■チャネルとバックアップピース

下図に示すように、一つのデータファイルに対して、一つのチャネルが起動したことを考えてほしい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3357323/47dc6760-cec8-0663-d78d-c7ad47287c6d.png)

一つのチャネルはが起動したら、、、
データファイルに対応するバックアップピースを1つ生成する。
つまり、以下の関係が成り立つ。

```
1つのチャネル:バックアップピース=1:1
```

これは、マルチセクションバックアップの場合も例外なく成り立つ。

#### ■チャネルとイメージコピー
イメージコピーの場合は、チャネルは、関係なく

```
データファイル:イメージコピー=1:1
```

が成り立つ。

上記を裏付けとして、以下のトグルを開いてほしい。
<details>
<summary>実際の出力結果</summary>

``` SQL:RMANでの出力確認結果
RMAN> show DEVICE TYPE ;

db_unique_name ORA19CのデータベースにおけるRMAN構成パラメータ:
CONFIGURE DEVICE TYPE DISK PARALLELISM 5 BACKUP TYPE TO COPY;

RMAN>  backup datafile 4 section size = 100M;


backupを24-02-04で開始しています
チャネルORA_DISK_1の使用
チャネルORA_DISK_2の使用
チャネルORA_DISK_3の使用
チャネルORA_DISK_4の使用
チャネルORA_DISK_5の使用
チャネルORA_DISK_1: データファイルのコピーを開始しています
入力データファイル ファイル番号=00004 名前=/home/oradata/ORA19C/user.dbf
1から12800のブロックをバックアップしています
チャネルORA_DISK_2: データファイルのコピーを開始しています
入力データファイル ファイル番号=00004 名前=/home/oradata/ORA19C/user.dbf
12801から25600のブロックをバックアップしています
チャネルORA_DISK_3: データファイルのコピーを開始しています
入力データファイル ファイル番号=00004 名前=/home/oradata/ORA19C/user.dbf
25601から38400のブロックをバックアップしています
チャネルORA_DISK_4: データファイルのコピーを開始しています
入力データファイル ファイル番号=00004 名前=/home/oradata/ORA19C/user.dbf
38401から51200のブロックをバックアップしています
チャネルORA_DISK_5: データファイルのコピーを開始しています
入力データファイル ファイル番号=00004 名前=/home/oradata/ORA19C/user.dbf
51201から64000のブロックをバックアップしています
出力ファイル名=/home/oracle/flash/ORA19C/datafile/o1_mf_users_lvyqmyq4_.dbf タグ=TAG20240204T185302
チャネルORA_DISK_1: データファイルのコピーが完了しました。経過時間: 00:00:04
出力ファイル名=/home/oracle/flash/ORA19C/datafile/o1_mf_users_lvyqmyq4_.dbf タグ=TAG20240204T185302
チャネルORA_DISK_2: データファイルのコピーが完了しました。経過時間: 00:00:03
出力ファイル名=/home/oracle/flash/ORA19C/datafile/o1_mf_users_lvyqmyq4_.dbf タグ=TAG20240204T185302
チャネルORA_DISK_3: データファイルのコピーが完了しました。経過時間: 00:00:03
出力ファイル名=/home/oracle/flash/ORA19C/datafile/o1_mf_users_lvyqmyq4_.dbf タグ=TAG20240204T185302
チャネルORA_DISK_4: データファイルのコピーが完了しました。経過時間: 00:00:03
出力ファイル名=/home/oracle/flash/ORA19C/datafile/o1_mf_users_lvyqmyq4_.dbf タグ=TAG20240204T185302
チャネルORA_DISK_5: データファイルのコピーが完了しました。経過時間: 00:00:04
backupを24-02-04で終了しました

Control File and SPFILE Autobackupを24-02-04で開始しています
ピース・ハンドル=/home/oracle/flash/ORA19C/autobackup/2024_02_04/o1_mf_s_1160074387_lvyqn3dy_.bkp コメント=NONE
Control File and SPFILE Autobackupを24-02-04で終了しました
```
<<details><summary>details</summary>

</details>

≪上記 設定について≫
- バックアップは、イメージコピーで取得する
- 5つのチャネルで、バックアップを取得する
- データファイルを一つだけバックアップ取得する

《結果》
- チャネルは、出力結果の通り5つすべて起動している
- イメージコピーファイルは、`o1_mf_users_lvyqmyq4_.dbf`のみ取得



# 3. まとめ

- チャネルとは、I/O処理を実施するプロセスのことである
- バックアップピースを取得する場合は、基本的に以下の関係が成り立つ
```
データファイル：チャネル=1:1
```
- 例外的に、マルチセクションバックアップを行うときは、1つのデータファイルに対して複数のチャネルが、バックアップを取得する
- バックアップピースを取得する場合は、以下の関係が成り立つ
```
1つのチャネル:バックアップピース=1:1
```
- イメージコピー形式の場合は、以下の関係が成り立つ
```
データファイル:イメージコピー=1:1