在线QQ客服:1922638
专业的SQL Server、MySQL数据库同步软件
1.准备工作
查询当前的SCN
col current_scn表格99999999999999 SQL \ gt; 选择 v_database中的current_scn;
CURRENT_SCN---------------
596552111115
显示当前的DBID和DBName
SQL \ gt; 选择 dbid,来自v $数据库的名称;
DBID名称-------------------
35778902 ORCL
存档当前的重做日志
ALTER SYSTEM归档日志电流;
准备备份数据
(1)级别0备份,级别1增量备份,备份期间生成的FRA文件
(2)备份ARCHIVELOG文件
(3)备份参数文件,命令:backup spfile format”/backup/rman_backup/spfile%d_%s_%p_%u。%”
\
\
2.从不同的计算机恢复数据
创建一个密码文件
orapwd 文件 = $ ORACLE_HOME/dbs/orapw $ ORACLE_SID force = y
准备环境和initPROD.ora
export ORACLE_SID = ORCL echo $ ORACLE_SID vi initPROD.ora
db_name = ORCL
*。 audit_file_dest = " C:\\\\ app \\\\管理员\\\\ admin \\\\ orcl \\\\ adump "
*.audit_trail = " db "
*.compatible = " 11.2.0.4.0 "
*.control_files = " C:\\\\ app \\\\管理员\\\\ oradata \\\\ orcl \\\\ control01.ctl "," C:\\\\ app \\\\管理员\\\\ oradata \\\\ orcl \\\\ control02.ctl "
*.db_block_size = 8192
*.db_domain = ""
*.db_name = " orcl "
*.diagnostic_dest = " C:\\\\应用\\\\管理员 "
*.dispatchers = " (PROTOCOL = TCP)(SERVICE = orclXDB) "
*.log_archive_dest_1 = " 位置= C:\\\\应用\\\\拱 "
*.memory_target = 1234173952
*.open_cursors = 300
*.processes = 150
*.remote_login_passwordfile = " 独家 "
*.undo_tablespace = " UNDOTBS1 "
\
将数据库启动到nomount状态
sqlplus/作为sysdba
启动nomount pfile =/mnt/数据/PBF/db/12.1。 0/dbs/initPROD.ora;
要么
启动数量
恢复参数文件并修改参数文件
rman目标/将spfile还原为pfile " /mnt/data/PBF/db/12.1.0/dbs/initPROD2.ora " from " /mnt/数据/备份/PBF/spfilePROD_24tkm1i ";
修改pfile中的以下参数
control_files
诊断目标
db_recovery_file_dest
重新启动
关闭终止;
启动数量
还原控制文件,将数据库修改为安装状态,然后交叉检查备份集
rman目标/从恢复控制文件" /mnt/数据/备份/PBF/cntrl_20180312.ctl " ;
更改数据库 装载 ;
交叉检查备份集;
在FRA中注册备份集文件和文件,交叉检查备份集,并删除过期的备份集
目录以"开始/mnt/数据/备份/PBF/ " ;
交叉检查备份集;
删除无提示过期备份集;
注册存档日志
从" archive file path"开始的目录
恢复数据库还原存档文件
或
存档文件已还原
CATALOG archivelog " /mnt/数据/备份/PBF/存档/1_2213_946160568.dbf "," /mnt/数据/备份/PBF/存档/1_2214_946160568.dbf "," /mnt/数据/备份/PBF/存档/1_2215_946160568.dbf " span>," /mnt/数据/备份/PBF/存档/1_2216_946160568.dbf "," /mnt/数据/备份/PBF/存档/1_2217_946160568.dbf "," /mnt/数据/备份/PBF/存档/1_2218_946160568.dbf " span>," /mnt/数据/备份/PBF/存档/1_2219_946160568.dbf "," /mnt/数据/备份/PBF/存档/1_2220_946160568.dbf " span>," /mnt/数据/备份/PBF/存档/1_2221_946160568.dbf "," /mnt/数据/备份/PBF/存档/1_2222_946160568.dbf ";
因为路径不同,所以使用以下语句批量生成
选择 " 为数据文件设置新名称 " || file_id || " 到 "" /mnt/data/PBF/db/proddata/ " || substr(name,instr(name, " / ",- 1)+ 1)|| """ ; "
来自 v $数据文件
订单 通过 文件#;
或在SQL下执行(生成的脚本在数据库中运行,以上脚本在rman中运行)
选择"更改数据库重命名文件""" ||名称|| "" to""/mnt/data/PBF/db/proddata/" || substr(名称,instr(名称,"/",-1)+1)|| """;"从v $ datafile按文件#顺序;
-将数据库重命名文件" + DATA1/ORAPUABIS/TEMPFILE/temp.278.981310047"更改为"/oradata/orapuabis/temp001.dbf";
在rman中执行以下脚本
运行
{
分配通道ch1设备类型 磁盘 ;
分配通道ch2设备类型 磁盘 ;
分配通道ch3设备类型 磁盘 ; 设置 newname for数据文件1 到 " /mnt/数据/PBF/db/proddata/system01.dbf " ; 设置 newname for数据文件2 到 " /mnt/数据/PBF/db/proddata/system02.dbf " ; 设置 newname for数据文件3 到 " /mnt/数据/PBF/db/proddata/system03.dbf " ; 恢复 数据库 ; 恢复 archivelog from logseq 2213直到logseq 2222 ;
切换数据文件 全部 ;
恢复 数据库直到scn 5965538762695 ;
释放通道ch1;
释放通道ch2;
释放通道ch3;
}
在线联机日志处理
设置行大小180 pagesize 100
选择 " 更改数据库重命名文件 """ ||成员|| """ 至 "" /mnt/数据/PBF/db/proddata/redoXXX.log "" ; " 来自 v \\\\ $日志文件;
处理临时表空间文件
设置行大小180 pagesize 100
选择 " 更改数据库重命名文件 """ ||名称|| """ 至 "" /mnt/数据/PBF/db/proddata/tempXXX.dbf "" ; " 来自 v $ tempfile;
处理重做日志时出现ORA-00312错误
SQL \ gt; 更改 数据库 打开 resetlogs; alter 数据库 打开 resetlogs * 第行的错误 1 :
ORA - 00392:记录 4 1 被清除,操作不允许 允许
ORA - 00312:在线log 4 thread 1:" /mnt/数据/PBF/db/proddata/redo04a.log " ORA - 00312:在线log 4 thread 1:" /mnt/数据/PBF/db/proddata/redo04b.log "
查询重做文件及其状态
col 组#形式99 col字节格式 99999999999 颜色状态表a20 选择 组#,字节数/ 1024 / 1024 || " M ",状态from v $ log;
修改重做文件的状态
alter 数据库清除日志文件组 1 ; 更改 数据库清除日志文件组 2 ; 更改 数据库清除日志文件组 3 ; 更改 数据库清除日志文件组 4 ; 更改 数据库清除日志文件组 5;
使用resetlogs打开
SQL \ gt; 更改 数据库 打开 resetlogs;
重新启动并备份数据库
\