既存の環境の説明:
WINDOWS2008R2:サーバーとしてインストールさNBU7.7.3、
WINDOWS2008R2:データベースサーバとしてインストールoracle11.2.0.3、
回復の必要性、データベースが突然クラッシュしたとします
ビルドへの前提環境:
1、WINDOWS2008R2:データベース・ソフトウェアの同じ元のバージョン(インスタンスをインストールする必要はありません)にインストールされ、NBUクライアントをインストールし、サーバのバージョンが要求された未満であります
2、新しいクライアント接続を使用してテストNBUサーバー
データベースソフトウェアをインストールします。
1、マシンホストが解決添加しました
2、合わせたインストールパッケージを抽出
3.インストールセットアッププログラムをダブルクリックします
ソースライブラリカタログ方法、ビューOracleServiceが+ SIDサービスでのサービスは、性質が学習することができます表示します
インストールが完了です!
NBUクライアントのインストール
決意(サーバとクライアントの解決の相互ティム)にホストを追加
インストールプログラムブラウザをダブルクリック
インストールが完了です!
テスト接続:接続は、バックアップクライアントファイルをテストすることによって試験することができます
通信の通常の状況下では、バックアップセットのクライアントを検索
検索コマンドを実行する前にサーバーを追加以下のファイルが作成されます(別のマシンの回復を可能にする、そうでない場合は検索した場合、間違った終了ステータス135を返します。クライアントは、実行するために検証されていない要求された操作を)
クライアントのホームディレクトリ4 -Rでbplist.exe -C oracle11g -t NBUファイル名を指定して実行\ [oracle11g前記実際の状況、データベース・システムは、ソース名を解析し、記入]
見ることができる、2つのバックアップがあります
次に、コマンドサービスCを使用してデータベースを作成します:\アプリ\製品\ 11.2.0の下で管理\ \ dbhome_1 \ BINディレクトリの実行
ORADIM -NEW -SID XXX [ソースリポジトリデータベースSIDに従ってXXX]
この目的のためにすべての準備
接下来开始恢复(步骤中的个别实例名、路径等根据实际情况修改)
1、恢复spfile
方法一、根据其他数据库的pfile进行修改
方法二、拷贝源库SPFILE
方法三、rman恢复
这里使用方法一:
orcl.__db_cache_size=687865856
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='C:\app\Administrator' #ORACLE_BASE set from environment
orcl.__pga_aggregate_target=704643072
orcl.__sga_target=1023410176
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=268435456
orcl.__streams_pool_size=16777216
*.audit_file_dest='C:\app\Administrator\admin\orcl\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='C:\app\Administrator\oradata\orcl\control01.ctl','C:\app\Administrator\fast_recovery_area\orcl\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='C:\app\Administrator\fast_recovery_area'
*.db_recovery_file_dest_size=4322230272
*.diagnostic_dest='C:\app\Administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.log_archive_dest_1='location=C:\app\Administrator\arch'
*.log_archive_format='arc_%S_%T_%R.log'
*.memory_target=1717567488
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
内存大小根据实际修改,库名、路径根据实际修改
把此pifle考到新客户端中并启动
set ORACLE_SID=orcl rman target /
RMAN>startup nomount pfile='C:\app\Administrator\pfile.ora';
2、恢复控制文件
run{
allocate channel c1 type sbt_tape;
SEND 'NB_ORA_SERV=test,NB_ORA_CLIENT=oracle11g'; #这里的CLIENT为源机解析名
restore controlfile from 'cntrl_p_t';
release channel c1;
}
启动到mount状态
3、恢复数据文件
这里有两种情况
一是数据文件路径不一致
二是数据文件路径一致
这里暂时先讨论一致的情况的恢复,(单机环境下恢复,路径基本与源库一致)
run{
allocate channel c1 type 'sbt_tape';
allocate channel c2 type 'sbt_tape';
SEND 'NB_ORA_SERV=test,NB_ORA_CLIENT=oracle11g';
restore database;
release channel c1;
release channel c2;
}
4、recover数据库
reocver的方式有多种、这里按照追加到控制文件最新归档为止
run
{
allocate channel ch00 type 'sbt_tape';
allocate channel ch01 type 'sbt_tape';
SEND 'NB_ORA_SERV=test,NB_ORA_CLIENT=oracle11g';
recover database;
release channel ch00;
release channel ch01;
}
直接写recover database他会 在恢复完所有归档的时候继续去请求下一个SCN,这时候你可以选择取消下个一个SCN的恢复
SQL> recover database using backup controlfile until cancel;
5、打开数据库
由于是恢复出来的数据库,要用以下命令打开
SQL> alter database open resetlogs;
6、临时表空间重建[这里针对的是源库与新库temp路径不一致的情况,一般一致情况下,启库时会根据记录的TEMP路径创建temp文件]
备份的时候不备份临时表空间所以恢复也就不恢复
查看新库的临时表空间,执行以下语句
SQL> select f.file#,t.ts#,f.name "File",t.name "Tablespace" from v$tempfile f,V$tablespace t where f.ts# = t.ts#;
我这里看到是在这个位置【注:这里查到的位置是之前源库临时表空间的位置】
接下来重建临时表空间
一、 create temporary tablespace TEMP2 TEMPFILE 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP02.DBF' SIZE 512M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED;
二、alter database default temporary tablespace TEMP2;
三、drop tablespace TEMP including contents and datafiles;
再次查看
至此,WINDOWS_FOR_NBU_ORACLE_单机-单机恢复完毕!