最終更新:
hide_system 2015年02月08日(日) 09:42:39履歴
●バックアップ、リストア、エクスポート、インポート等について |
・Oracleのバックアップ&リカバリをきっちりと理解する
http://www.oracle.co.jp/corp/hiroshima/club/specia...
・
http://d.hatena.ne.jp/torazuka/20140328/expimp
●バックアップ |
●オフラインバックアップ |
sqlplus /nolog
2.
connect sys/oracle as sysdba
3.データファイルの場所確認
select name from v$datafile;
<結果例>
C:\APP\ADMINISTRATOR\ORADATA\TESTDB1\SYSTEM01.DBF
C:\APP\ADMINISTRATOR\ORADATA\TESTDB1\SYSAUX01.DBF
C:\APP\ADMINISTRATOR\ORADATA\TESTDB1\UNDOTBS01.DBF
C:\APP\ADMINISTRATOR\ORADATA\TESTDB1\USERS01.DBF
C:\APP\ADMINISTRATOR\ORADATA\TESTDB1\EXAMPLE01.DBF
4.制御ファイルの場所確認
select name from v$controlfile;
<結果例>
C:\APP\ADMINISTRATOR\ORADATA\TESTDB1\CONTROL01.CTL
C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\TESTDB1\CONTROL02.CTL
5.REDOログファイルの場所確認
select member from v$logfile;
<結果例>
C:\APP\ADMINISTRATOR\ORADATA\TESTDB1\REDO03.LOG
C:\APP\ADMINISTRATOR\ORADATA\TESTDB1\REDO02.LOG
C:\APP\ADMINISTRATOR\ORADATA\TESTDB1\REDO01.LOG
6.初期化パラメータファイルの場所確認
show parameter spfile
<結果例>
spfile string C:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SPFILETESTDB1.ORA
7.パスワードファイルの場所
C:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\PWDTESTDB1.ORA
8.データベースをシャットダウン
shutdown immediate
※シャットダウンのオプションとしては、
NORMAL、TRANSACTIONA、IMMEDIATE のいずれかを使う。
(=ABORT オプションは、ファイル一貫性が失われるのでダメ。)
9.バックアップ実施(=データベースのファイルをコピー)
※先頭に付与している"host "は、SQLのコマンドプロンプト画面から、OSのコマンドを実行するためのコマンド。
host xcopy /I /E /H /K /O /X /Y C:\app\Administrator\oradata D:\backup\oradata
host xcopy /I /E /H /K /O /X /Y C:\app\Administrator\flash_recovery_area D:\backup\flash_recovery_area
host xcopy /I /E /H /K /O /X /Y C:\app\Administrator\product\11.2.0\dbhome_1\database D:\backup\param_pass_files
10.データベース起動
startup
●エクスポート、インポート |
(="オリジナルのエクスポート"、"オリジナルのインポート"という表現がされる。)
※代わりに、Oracle11gからは、Data Pump(=expdpコマンド、impdpコマンド)というユーティリティが推奨されている。
エクスポート |
・データベースは動作したままであること。
(=オンラインバックアップとなる。)
<手順>
コマンドプロンプトで、下記を実施。
書式>exp ユーザ名/パスワード@サービス名(=sid名) file=出力ファイル名 log=出力ログファイル名
例>exp system/oracle@testdb1 file=d:\dump\exp_data.dmp log=d:\dump\exp_log.log
※DOSのコマンドプロンプト画面で直に実行する。(=sqlplusでログインする必要はない。)
<Batファイルでの使用例>
exp system/oracle@testdb1 file=d:\dump\exp_data.dmp log=d:\dump\exp_log.log
If errorlevel 3 (
set OraState=NG
GOTO ExportError
) Else (
set OraState=OK
GOTO EndLabel
)
:ExportError
echo exportに失敗しました。
GOTO EndLabel
:EndLabel
echo %OraState%
pause
コメントをかく