Email: [email protected] 7 x 24 online support!
Oracle Full Export(全データベースモード)ファイルからのDATABASE復旧方法
詩檀ソフトはDULに基づき、PRM-DULを開發した。DULすべての機能も含めた上で、グラフィックインタフェースとDataBridge(データがDBLINKのように直に目標データベースに伝送できる。)などの機能も追加した。そして、PRM-DULはJavaで編成したので、あらゆるプラットフォームに適応できる。
PRM-DULの無料バーションダウンロード:
PRM-DULの無料バーションは一つのテーブルがデフォルトで一万行しか抽出できない。目標データベースがかなり小さいの場合に、無料PRM-DULを使ってください。データベースが一万行を超えて、データの重要性も高い場合に、企業バーションを使ってください。企業バーションPRM-DULは一つのデータベースに対して、Licenseソフトウェア使用許可書を提供する。一つのLicense は$ 999 USD 。そして、PRM-DULは一部無料なLicenseを提供している。
もし、壊滅したデータベースがDULを使ったら、まだリカバリできない場合に、リカバリサポートサビースを考えてください:
詩檀ソフトはいまあらゆるOracleデータベースのトラブルに対応できて、主には:データベースが起動できない、誤操作でテーブルがDROPされた、TRUNCATE、DELETE,ASM DiskgroupがMOUNTできないなど。
[Problem]
Full Exportファイルと初期化パラメータファイルがあります。
データベースの再作成はどのように行えばいいでしょうか?
[Action]
WindowsNTの場合はサービスを作成してインスタンスを起動できるようにします。
サービスに問題がない場合はサービスを再作成する必要はありませんが、マシンが
クラッシュした場合は別のマシンにFull Exportファイルを使ってデータベースを
復旧しますので、別マシンへの復旧方法を前提とします。
初期化パラメータがない場合には、手動で作成してください。
1.Oracleをインストールします。
2.初期化パラメータをORACLE_HOME\DATABASE\にcopyします。
3.サービスを作成します。
DOS>oradim80 -new -sid ORC2 -intpwd oracle -startmode auto -pfile d:\ora806\database\initorc2.ora
※oradimの使用方法については、製品にバンドルされている、スタート・ガイドをご確認ください
4.Databaseの作成
$ORACLE_HOME\RDBMS80\ADMIN\BUILD_DB.SQLというスクリプトがありますので、
それを例に使用してcreate database を実行します。
(1) 環境変数のORACLE_SIDを設定
D:\>set oracle_sid=orc2
(2) Server Managerを起動してinternalで接続
D:\>svrmgr30
Oracle Server Manager Release 3.0.6.0.0 - Production
(c) Copyright 1999, Oracle Corporation. All Rights Reserved.
Oracle8 Release 8.0.6.0.0 - Production
PL/SQL Release 8.0.6.0.0 - Production
SVRMGR> connect internal/oracle
接続されました。
(3) nomountで起動
SVRMGR> startup nomount pfile=D:\ORA806\DATABASE\initORC2.ora
Oracleインスタンスが起動しました。
システム・グローバル領域合計 15096752バイト
Fixed Size 52144バイト
Variable Size 12918784バイト
Database Buffers 2048000バイト
Redo Buffers 77824バイト
SVRMGR> create database ORC2
2> controlfile reuse
3> logfile 'D:\ORA806\DATABASE\log1ORC2.ora' size 1M reuse,
4> 'D:\ORA806\DATABASE\log2ORC2.ora' size 1M reuse,
5> 'D:\ORA806\DATABASE\log3ORC2.ora' size 1M reuse,
6> 'D:\ORA806\DATABASE\log4ORC2.ora' size 1M reuse
7> datafile 'D:\ORA806\DATABASE\sys1ORC2.ora' size 10M reuse autoextend on
8> next 10M maxsize 200M
9> character set JA16SJIS;
文が処理されました。
(4) データ・ディクショナリを作成
SVRMGR> @d:\ora806\rdbms80\admin\catalog.sql
SVRMGR> @d:\ora806\rdbms80\admin\catproc.sql
この後、v$tablespaceを確認すると、system表領域のみが作成
されていることを確認できます。
(5) importを実行
D:\>set oracle_sid=orc2
D:\>imp80 system/manager file=exp_full.dmp full=y log=imp_full.log
full=yでsystem以外の表領域が作成されます。
Full Importについては文書番号 12484 もご参照ください。
※IMPORTでORA-1552が発生する場合があります。これを回避する為に、あらかじめ
KROWN文書番号12162の手順を参照いただき、SYSTEMロールバックセグメント以外
の一つ以上のロールバックセグメントを作成し、ONLINEにして頂いた上で
FULL IMPORTを実行して下さい。
(6) importのログを確認
IMP-15が発生していても、すでに存在するオブジェクトに対して出ているエラーは
無視していただくことができます。
接続: Oracle8 Release 8.0.6.0.0 - Production
PL/SQL Release 8.0.6.0.0 - Production
エクスポート・ファイルは従来型のパス経由でEXPORT:V08.00.06が作成しました。
IMP-00015: オブジェクトが既に存在しているため次の文は失敗しました。:
"CREATE ROLE "SELECT_CATALOG_ROLE""
IMP-00015: オブジェクトが既に存在しているため次の文は失敗しました。:
"REVOKE "SELECT_CATALOG_ROLE" FROM SYSTEM"
IMP-00015: オブジェクトが既に存在しているため次の文は失敗しました。:
"CREATE ROLE "EXECUTE_CATALOG_ROLE""
IMP-00015: オブジェクトが既に存在しているため次の文は失敗しました。:
"REVOKE "EXECUTE_CATALOG_ROLE" FROM SYSTEM"
:
:
(7) オブジェクトがINVALIDのものが存在しないかどうかを確認
SVRMGR> select * from v$tablespace;
TS# NAME
---------- ------------------------------
0 SYSTEM
1 USER_DATA
2 ROLLBACK_DATA
3 TEMPORARY_DATA
4 行選択されました。
SVRMGR> select username from dba_users;
USERNAME
------------------------------
SYS
SYSTEM
DBSNMP
TEST1
4 行選択されました。
SVRMGR> select object_name,object_type from all_objects where status = 'INVALID';
OBJECT_NAME OBJECT_TYPE
------------------------------ ---------------
0 行選択されました。
※INVALIDのオブジェクトがあった場合は文書番号 18852 をご参照ください。
手動でcompileしていただいても構いません。
[References]
各製品にバンドルされている
「Oracle8 for WindowsNT スタート・ガイド」より
・BUILD_DB.SQLの使用方法
・ORADIM80によるOracleインスタンスの管理
をご参照ください。
