このトピックでは、Oracleデータベースをバックアップする前に行う必要のある準備について説明します。 Oracleデータベースのアーカイブモードを有効にし、OracleデータベースのシステムID (SID) を取得し、Oracleデータベースがインストールされているディレクトリを取得する必要があります。
前提条件
あなたはデータベース管理者 (DBA) です。
アーカイブモードを有効にする
DBSは、Recovery Manager (RMAN) ツールを使用してOracleデータベースのデータをバックアップします。 デフォルトでは、Oracleデータベースのアーカイブモードは無効になっています。 データベースのデータをバックアップする前に、アーカイブモードを手動で有効にする必要があります。
as sysdba
コマンドを実行して、システム管理者としてOracleデータベースにログインします。ARCHIVE LOG LIST
ステートメントを実行して、データベースのアーカイブモードのステータスを照会します。 次の出力が返されます。Database log mode No Archive Mode # The archive mode is disabled. Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 1 Current log sequence 2
説明データベースログモード
パラメーターの値としてアーカイブモード
が返された場合、アーカイブモードが有効になります。 この場合、再度アーカイブモードを有効にする必要はありません。アーカイブモードが無効になっている場合は、
SHUTDOWN IMMEDIATE
ステートメントを実行してOracleデータベースをシャットダウンします。 OracleデータベースがOPEN
状態の場合、Oracleデータベースのアーカイブモードを有効にすることはできません。警告この手順は、オフピーク時に実行することを推奨します。
STARTUP MOUNT
ステートメントを実行します。 ステートメントが実行されると、データベースはMOUNT状態になります。ALTER DATABASE ARCHIVELOG
ステートメントを実行して、アーカイブモードを有効にします。ARCHIVE LOG LIST
ステートメントを再度実行して、アーカイブモードのステータスを照会します。 次の出力が返されます。Databaselog mode Archive Mode # The archive mode is enabled. Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 1 Next log sequence to archive 2 Currentlog sequence 2
説明Oracleデータベースのログ・ファイルをアーカイブするためのデフォルト・パスは $ORACLE_BASE/fast_recovery_areaです。 デフォルトでは、このディレクトリには4 GBのスペースしか含まれません。 このディレクトリは、フラッシュバック操作のバックアップファイルとログファイルを保存するための既定のパスでもあります。 ディレクトリの空き容量が不足すると, データベースサービスが中断されます。 ファイル用に十分な容量を確保するために、ディレクトリのサイズをより大きな値に変更するか、ビジネス要件に基づいてログファイルをアーカイブするためのパスを変更できます。
ALTER DATABASE OPEN
ステートメントを実行して、Oracleデータベースを開始します。
OracleデータベースのSIDの取得
Linux
次のコマンドを実行して、システムプロセス情報から実行中のOracleデータベースのSIDを取得します。
ps -ef | grep ora_pmon_ | grep -v grep | awk -F "ora_pmon_" '{print "oracle sid: "$NF }' | grep -v print
次の出力は、Oracle SIDが
orcl
であることを示します。oracle sid: orcl
Windows
Windows CLIで次のコマンドを実行して、OracleデータベースのSIDとサービス名を取得します。
sc query type=service | findstr SERVICE_NAME | findstr OracleService
次の出力は、OracleインスタンスのSIDが
orcl
で、サービス名がOracleServiceORCL
であることを示しています。SERVICE_NAME: OracleServiceORCL
Oracleデータベースがインストールされているディレクトリの取得
ORACLE_HOME
は、Oracleデータベースがインストールされているディレクトリを指定します。
CLIで
su - oracle
コマンドを実行して、Oracleデータベースにログインします。ORACLEデータベースで
echo Oracle_HOME
ステートメントを実行し、ORACLE_HOME
の値を取得します。次の出力は、
ORACLE_HOME
の値が/opt/oracle/product/19c/dbhome_1
であることを示します。/opt/oracle/product/19c/dbhome_1
Oracle RACデータベース内のファイルの照会
Real Application Clusters (RAC) アーキテクチャのOracleデータベース内のデータをバックアップできるようにするには、データをバックアップする前に、データベースの制御ファイル、サーバーパラメーターファイル、データファイル、アーカイブされたログファイル、およびredoログファイルを確認する必要があります。 OracleデータベースがRACアーキテクチャでない場合、次の操作は必要ありません。 例:
redoログファイルの照会
SELECT member FROM v$logfile WHERE type='ONLINE';
次の図は、サンプル出力を示しています。各MEMBERエントリはプラス記号 (
+
) で始まる。DBSBAKDAT1DG
は、RACデータベースのファイルを格納するために使用される自動ストレージ管理 (ASM) ベースのデータベースの名前を示します。アーカイブされたログファイルの照会
SELECT name FROM v$archived_log WHERE DELETED='NO';
次の図は、サンプル出力を示しています。各NAMEエントリはプラス記号 (
+
) で始まる。DBSBAKDAT1DG
は、RACデータベースのファイルを格納するために使用されるASMベースのデータベースの名前を示します。クエリデータファイル
SELECT name FROM v$datafile;
次の図は、サンプル出力を示しています。各VALUEエントリはプラス記号 (
+
) で始まります。DBSBAKDAT1DG
は、RACデータベースのファイルを格納するために使用されるASMベースのデータベースの名前を示します。クエリサーバーパラメータファイル
SHOW parameter spfile;
次の図は、サンプル出力を示しています。各VALUEエントリはプラス記号 (
+
) で始まります。DBSBAKDAT1DG
は、RACデータベースのファイルを格納するために使用されるASMベースのデータベースの名前を示します。クエリ制御ファイル
SHOW parameter control_files;
次の図は、サンプル出力を示しています。各VALUEエントリはプラス記号 (
+
) で始まります。DBSBAKDAT1DG
は、RACデータベースのファイルを格納するために使用されるASMベースのデータベースの名前を示します。
次に何をすべきか
Oracleデータベースのバックアップ