

# Oracle DB インスタンスの一般的なログ関連タスクの実行
<a name="Appendix.Oracle.CommonDBATasks.Log"></a>

次に、Oracle を実行している Amazon RDS DB インスタンスへのログ記録に関連する一般的な DBA タスクの実行方法を示します。マネージド型サービスの操作性を実現するために、Amazon RDS では DB インスタンスへのシェルアクセスは提供していません。また、上位の権限を必要とする特定のシステムプロシージャやシステムテーブルへのアクセスが制限されます。

詳細については、「[Amazon RDS for Oracle データベースのログファイル](USER_LogAccess.Concepts.Oracle.md)」を参照してください。

**Topics**
+ [強制ログ作成の設定](#Appendix.Oracle.CommonDBATasks.SettingForceLogging)
+ [サプリメンタルロギングの設定](#Appendix.Oracle.CommonDBATasks.AddingSupplementalLogging)
+ [オンラインログファイルを切り替える](#Appendix.Oracle.CommonDBATasks.SwitchingLogfiles)
+ [オンライン REDO ログの追加](#Appendix.Oracle.CommonDBATasks.RedoLogs)
+ [オンライン REDO ログの削除](#Appendix.Oracle.CommonDBATasks.DroppingRedoLogs)
+ [オンライン REDO ログのサイズ変更](Appendix.Oracle.CommonDBATasks.ResizingRedoLogs.md)
+ [アーカイブ REDO ログの保持](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md)
+ [オンライン およびアーカイブ REDO ログへのアクセス](Appendix.Oracle.CommonDBATasks.Log.Download.md)
+ [Amazon S3 からのアーカイブ REDO ログのダウンロード](Appendix.Oracle.CommonDBATasks.download-redo-logs.md)

## 強制ログ作成の設定
<a name="Appendix.Oracle.CommonDBATasks.SettingForceLogging"></a>

強制ログ作成モードでは、Oracle はテンポラリテーブルスペースとテンポラリセグメントの変更を除き、すべての変更をデータベースに記録します (`NOLOGGING` 句は無視されます)。詳細については、Oracle ドキュメントの「[FORCE LOGGING モードの指定](https://docs.oracle.com/cd/E11882_01/server.112/e25494/create.htm#ADMIN11096)」を参照してください。

強制ログ作成を設定するには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_util.force_logging` を使用します。`force_logging` プロシージャには以下のパラメータがあります。


****  

| パラメータ名 | データ型 | デフォルト | はい | 説明 | 
| --- | --- | --- | --- | --- | 
| `p_enable` | boolean | true | いいえ | データベースを強制ログ作成モードに設定するには `true`、データベースを強制ログ作成モードから解除するには `false` に設定します。 | 

次の例では、データベースを強制ログ作成モードに設定します。

```
EXEC rdsadmin.rdsadmin_util.force_logging(p_enable => {{true}});
```

## サプリメンタルロギングの設定
<a name="Appendix.Oracle.CommonDBATasks.AddingSupplementalLogging"></a>

補足的なログ記録を有効にすると、LogMiner には、チェーンされた行とクラスター化されたテーブルをサポートするために必要な情報が表示されます。サプリメンタルロギングの詳細については、Oracle ドキュメントの「[サプリメンタルロギング](https://docs.oracle.com/cd/E11882_01/server.112/e22490/logminer.htm#SUTIL1582)」を参照してください。

Oracle データベースでは、デフォルトではサプリメンタルロギングが有効になっていません。サプリメンタルロギングを有効/無効にするには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_util.alter_supplemental_logging` を使用します。Amazon RDS が Oracle DB インスタンスのアーカイブ REDO ログの保持を管理する方法の詳細については、「[アーカイブ REDO ログの保持](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md)」を参照してください。

`alter_supplemental_logging` プロシージャには以下のパラメータがあります。


****  

| パラメータ名 | データ型 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | 
| `p_action` | varchar2 | — | はい | サプリメンタルロギングを追加するには `'ADD'`、サプリメンタルロギングを削除するには `'DROP'`。 | 
| `p_type` | varchar2 | null | いいえ | サプリメンタルロギングのタイプ。有効な値は、`'ALL'`、`'FOREIGN KEY'`、`'PRIMARY KEY'`、`'UNIQUE'`、`PROCEDURAL` のいずれかです。 | 

次の例では、補足ログを有効にします。

```
begin
    rdsadmin.rdsadmin_util.alter_supplemental_logging(
        p_action => '{{ADD}}');
end;
/
```

次の例では、すべての固定長の最大サイズの列に対して補足ログを有効にします。

```
begin
    rdsadmin.rdsadmin_util.alter_supplemental_logging(
        p_action => '{{ADD}}',
        p_type   => '{{ALL}}');
end;
/
```

次の例では、プライマリキー列に対して補足ログを有効にします。

```
begin
    rdsadmin.rdsadmin_util.alter_supplemental_logging(
        p_action => '{{ADD}}',
        p_type   => '{{PRIMARY KEY}}');
end;
/
```

## オンラインログファイルを切り替える
<a name="Appendix.Oracle.CommonDBATasks.SwitchingLogfiles"></a>

ログファイルを切り替えるには、Amazon RDS のプロシージャ `rdsadmin.rdsadmin_util.switch_logfile` を使用します。`switch_logfile` プロシージャにはパラメータはありません。

次の例では、ログファイルを切り替えています。

```
EXEC rdsadmin.rdsadmin_util.switch_logfile;
```

## オンライン REDO ログの追加
<a name="Appendix.Oracle.CommonDBATasks.RedoLogs"></a>

Oracle を実行している Amazon RDS DB インスタンスには、初期から 4 つのオンライン REDO ログ (それぞれ 128 MB) があります。別の REDO ログを追加するには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_util.add_logfile` を使用します。

`add_logfile` プロシージャには以下のパラメータがあります。

**注記**  
パラメータは相互に排他的です。


****  

| パラメータ名 | データ型 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | 
| `bytes` | positive | null | いいえ | ログファイルのサイズ (バイト単位)。<br />このパラメータは、ログのサイズが 2,147,483,648 バイト (2 GiB) 未満の場合にのみ使用します。それ以外の場合、RDS はエラーを発行します。このバイト値を超えるログサイズの場合は、代わりに `p_size` パラメータを使用します。 | 
| `p_size` | varchar2 | — | はい | ログファイルのサイズは、キロバイト (K)、メガバイト (M)、またはギガバイト (G) です。 | 

次のコマンドは 100 MB のログファイルを追加します。

```
EXEC rdsadmin.rdsadmin_util.add_logfile(p_size => '{{100M}}');
```

## オンライン REDO ログの削除
<a name="Appendix.Oracle.CommonDBATasks.DroppingRedoLogs"></a>

REDO ログを削除するには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_util.drop_logfile` を使用します。`drop_logfile` プロシージャには以下のパラメータがあります。


****  

| パラメータ名 | データ型 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | 
| `grp` | positive | — | はい | ログのグループ番号。 | 

次の例では、グループ番号 3 のログを削除します。

```
EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => {{3}});
```

ステータスが未使用または非アクティブのログのみを削除できます。次の例では、ログのステータスを取得します。

```
SELECT GROUP#, STATUS FROM V$LOG;

GROUP#     STATUS
---------- ----------------
1          CURRENT
2          INACTIVE
3          INACTIVE
4          UNUSED
```