ユーザ用ツール

サイト用ツール


database:oracledb9i:backup_restore

文書の過去の版を表示しています。


バックアップとリストア

物理バックアップとリストア

アーカイブログモードかどうかの確認

SELECT log_mode FROM v$database;

オフラインバックアップを行う

データベースを止める

shutdown IMMEDIATE

データファイル、REDOログ、制御ファイルをコピーする。

$ cp /app/oracle/oradata/ORCLnn/system01.dbf /bk/
$ cp /app/oracle/oradata/ORCLnn/undotbs01.dbf /bk/
$ cp /app/oracle/oradata/ORCLnn/sysaux01.dbf /bk/
$ cp /app/oracle/oradata/ORCLnn/users01.dbf /bk/
$ cp /app/oracle/oradata/ORCLnn/control.ctl /bk/
$ cp /app/oracle/oradata/ORCLnn/redo01.log /bk/
$ cp /app/oracle/oradata/ORCLnn/redo02.log /bk/
$ cp /app/oracle/oradata/ORCLnn/redo03.log /bk/

データベースを再開する

startup

オンラインバックアップを行う

バックアップすべきファイルの場所を表示する

SELECT NAME FROM V$DATAFILE;
SELECT NAME FROM V$CONTROLFILE;
SELECT NAME FROM V$TEMPFILE;
SELECT MEMBER FROM V$LOGFILE;

オンラインバックアップモードに変更

ALTER DATABASE BEGIN backup;

データファイル、REDOログをコピーする。

制御ファイルについては以下のコマンドでバックアップする。

ALTER DATABASE BACKUP CONTROLFILE TO '/bk/control.ctl';
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

オンラインバックアップモードを解除する。

ALTER DATABASE END backup;

リストア

データベースを停止する

shutdown IMMEDIATE

データファイル、制御ファイル、REDOファイルをリストアする。 ただし、データの破損などの場合は制御ファイルとREDOログをリストアしない。前の状態までしか戻せなくなる。

DBをマウント状態まで起動、リカバリを実行してオープン状態まで起動する。

startup mount
recover DATABASE;
ALTER DATABASE OPEN;

論理バックアップとリストア

まずは移行対象ユーザーのオブジェクトを確認する

SELECT object_name, object_type
FROM dba_objects
WHERE owner='user'
ORDER BY object_name;

あるいは対象のユーザーにスイッチして確認

conn USER/pass
SELECT object_name, object_type
FROM user_objects;

ユーザーのデフォルト表領域を確認するには

select tablespace_name from dba_segments where owner = 'schema_name'

リストア手順

まず、オブジェクトなどを初期化するためにスキーマを削除する

DROP USER 'user_name' cascade;

cascadeオプションを付与すると、スキーマの削除と共に関連するオブジェクトを削除してくれる。 次に、スキーマを再作成する。その際、デフォルトの表領域を設定しておく。またはスキーマの作成後に割り当てる。

CREATE USER username IDENTIFIED BY password DEFAULT tablespace tbs_name;
ALTER USER username DEFAULT tablespace tbs_name;
imp userid=username/password@connect_string file=backup_file.dmp full=y ignore=y log=logfile.log
オプション説明
useridユーザーID/パスワード@サービス名を設定する。
fileダンプファイルのパスを指定
fullフルインポートかどうか。y/n
ignoreエラーがあっても処理を続行するかどうか。続行(y)/中止(n)
logログファイルの出力先を指定
commity/n 指定することでコミットを確定できる。
database/oracledb9i/backup_restore.1686273170.txt.gz · 最終更新: 2023/06/09 10:12 by mikoto