1、建立备份片存放目录,这里没有使用catalog,所以需要和生产库备份目录路径相同
mkdir /prod/backup/
2、挂载备份服务器备份目录
showmount -e 192.168.8.148
mount 192.168.8.148:/arc_bk/other_bk /prod/backup
bdf
1、生产库中生成pfile
create pfile='/tmp/initfact.ora' from spfile ;
2、远程测试库创建所需的pfile
vi $ORACLE_HOME/dbs/initfact.ora
fact.__db_cache_size=180355072
fact.__java_pool_size=4194304
fact.__large_pool_size=4194304
fact.__shared_pool_size=100663296
fact.__streams_pool_size=0
*.audit_file_dest='/u01/apps/oracle/admin/fact/adump'
*.background_dump_dest='/u01/apps/oracle/admin/fact/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/fact/control01.ctl','/u01/fact/control02.ctl','/u01/fact/control03.ctl'
*.core_dump_dest='/u01/apps/oracle/admin/fact/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='fact'
*.db_recovery_file_dest='/u01/apps/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=factXDB)'
*.job_queue_processes=10
*.log_archive_dest_1='location=/u01/arch1'
*.open_cursors=300
*.pga_aggregate_target=96468992
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=290455552
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/apps/oracle/admin/fact/udump'
1、建立目录
mkdir -p /u01/apps/oracle/admin/fact/adump
mkdir -p /u01/apps/oracle/admin/fact/bdump
mkdir -p /u01/apps/oracle/admin/fact/cdump
mkdir -p /u01/apps/oracle/admin/fact/udump
mkdir -p /u01/fact/
mkdir -p /u01/apps/oracle/flash_recovery_area
mkdir -p /u01/fact/datafiles
mkdir -p /u01/fact/logfiles
2、确定权限
ls -l /u01/apps/oracle/admin/fact/
ls -l /u01/fact
ls -l /u01/
ls -l /u01/apps/oracle/
3、查看磁盘空间
bdf
确保nfs目录中的数据能够被nobody可读可写的权限。
ls -l /prod/backup/
在使用rman的时候需要使用相应的内存,所以需要数据库至少启动到nomount状态下。
export ORACLE_SID=fact
sqlplus / as sysdba
startup nomount ;
使用rman打开测试库fact,通过备份片控制文件。
1、查看最新的控制文件。
ls -ltr /prod/backup/auto_bk/
2、通过最新的自动备份片恢复测试库的控制文件。
export ORACLE_SID=fact
rman target /
restore controlfile from'/prod/backup/auto_bk/atb_c-2876228549-20101119-09' ;
1、启动数据库到mount状态。
alter database mount ;
2、先查看一下schema中的信息
report schema
3、设置新的数据文件存储目录,恢复数据库
run
{
set newname for datafile 1 to '/u01/fact/datafiles/SYSTEM01.DBF';
set newname for datafile 2 to '/u01/fact/datafiles/UNDOTBS01.DBF';
set newname for datafile 3 to '/u01/fact/datafiles/SYSAUX01.DBF';
set newname for datafile 4 to '/u01/fact/datafiles/USERS01.DBF';
set newname for datafile 5 to '/u01/fact/datafiles/example01.DBF';
restore database;
switch datafile all;
}
4、修改临时表空间数据文件位置、redolog文件位置。
report schema ;
alter database rename file '生产库临时表空间数据文件位置' to '/u01/fact/temp01.dbf' ;
select member from v$logfile ;
alter database rename file '生产库redolog文件位置' to '/u01/fact/logfiles/redo01.log' ;
alter database rename file '生产库redolog文件位置' to '/u01/fact/logfiles/redo02.log' ;
alter database rename file '生产库redolog文件位置' to '/u01/fact/logfiles/redo03.log' ;
5、应用归档日志恢复数据库
recover database ;
6、不完全恢复数据库
recover database using backup controlfile untilcancel ;
使用resetlogs方式打开数据库
alter database open resetlogs ;
因为临时表空间数据文件是不会备份的所以需要重新创建数据文件,以便数据库能够正常运行。
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/fact/datafiles/temp01.dbf'size 20m ;