源库Oracle环境检查
开启归档
|
sqlplus / as sysdba 首先关闭数据库 shutdown immediate; 打开mount状态 startup mount; 更改数据库为归档模式 alter database archivelog; 打开数据库 alter database open; 再次检查 archive log list;
|
查看构造的表和数据
|
SELECT table_name FROM user_tables; SELECT index_name FROM user_indexes; SELECT view_name FROM user_views;
|
备份准备
创建存放备份文件目录
|
#源库和目标库都创建此目录 mkdir /u01/backup 为目录赋予用户权限 chown -R oracle:oinstall /u01/backup chmod 775 /u01/backup |
全库备份
|
进入sqlplus sqlplus / as sysdba alter system switch logfile; 使用RMAN: rman target / 备份数据文件 RMAN> backup database format '/u01/backup/data_%U.dbf';
备份控制文件 RMAN> backup current controlfile format '/u01/backup/control_%f.dbf';
查看
|
拷贝参数文件
准备工作
|
在源库中查看参数文件路径 SQL> show parameter spfile
#在目标库中查看是否有源库参数文件的路径,没有则需创建 cd /u01/app/oracle/product/19.3.0/db_1/dbs ls
目标库如果有参数文件,删掉目标库的参数文件 首先关闭数据库 shu immediate 然后在dbs目录下删除参数文件 cd /u01/app/oracle/product/19.3.0/db_1/dbs rm -rf init.ora |
拷贝文件
|
源库复制参数文件到目标库 cd $ORACLE_HOME/dbs scp init.ora oracle@192.168.145.184:/u01/app/oracle/product/19.3.0/db_1/dbs scp spfileoracle.ora oracle@192.168.145.184:/u01/app/oracle/product/19.3.0/db_1/dbs
目标库查看
|
修改参数及环境变量
确认文件路径
|
SQL> select name from v$datafile;
在目标库查看参数文件init.ora cat init.ora
|
创建路径
|
目标库创建文件 #如果存在路径则不用创建 mkdir -p /u01/app/oracle/admin/oracle/adump mkdir -p /u01/app/oracle/flash_recovery_area |
删除原文件
|
cd /u01/app/oradata rm -rf * |
更改环境变量
|
#如果目标库跟源库一致则不用 查看源库环境变量 cat .bash_profile
修改目标库环境变量跟源库一致 vim .bash_profile source .bash_profile cat .bash_profile
|
复制归档文件
查看归档文件路径
|
select name from v$archived_log order by 1;
|
拷贝归档文件
|
cd /u01/app/oracle/product/19.3.0/db_1/dbs ll
将这归档文件拷贝过去 scp arch1_1* c-2037386630-20240408-0* 192.168.145.184:/u01/app/oracle/product/19.3.0/db_1/dbs
|
拷贝备份文件
|
cd /u01/backup scp * oracle@192.168.145.184:/u01/backup
|
备份恢复
恢复文件
|
在目标库中的操作,开启数据库到nomount状态 sqlplus / as sysdba SQL> startup nomount
打开RMAN开始恢复 rman target / 恢复控制文件 RMAN> restore controlfile from '/u01/backup/control_0.dbf';
恢复数据文件 RMAN> sql 'alter database mount'; RMAN> restore database;
|
归档日志
检查归档日志
|
RMAN> crosscheck archivelog all;
|
将归档日志catalog
|
RMAN> catalog archivelog '/u01/app/oracle/flash_recovery_area/arch1_18_1164309192.dbf';
|
修复数据库
|
RMAN> recover database;
此时发现报错,则通过以下命令执行 RMAN> recover database until sequence 20;
|
RESETLOGS启库
|
RMAN> sql 'alter database open RESETLOGS';
|
确认数据库
查看状态
|
SQL> select status from v$instance;
|
查看测试表
|
SQL> select table_name from user_tables;
|
数据迁移完成。
本文详细描述了在Oracle环境中进行数据库检查、归档模式设置、表和数据查看、备份操作(包括全库备份和参数文件复制)、恢复控制文件和数据文件,以及归档日志管理的过程,最后完成了数据库的重启和状态确认。



























7764

被折叠的 条评论
为什么被折叠?



