将Linux服务器上的oracle数据文件,日志文件,控制文件,归档文件,备份文件移动从/u01/avayaiq目录 移动到 /data/avayaiq目录下。
本实验适用于windows,linux,unix环境。
查看数据文件
SQL> SELECT NAME FROM V$DATAFILE;
/u01/avayaiq/system01.dbf
/u01/avayaiq/undotbs01.dbf
/u01/avayaiq/sysaux01.dbf
/u01/avayaiq/example01.dbf
/u01/avayaiq/index01.dbf
关闭数据库
SQL> Shutdown immediate;
物理拷贝
Mv /u01/avayaiq/* /data/avayaiq/
修改数据字典:
SQL> STARTUP
MOUNT;
SQL> ALTER DATABASE RENAME FILE '/u01/avayaiq/system01.dbf’ TO '/data/avayaiq/system01.dbf';
SQL> ALTER DATABASE RENAME FILE '/u01/avayaiq/ undotbs01.dbf’ TO '/data/avayaiq/undotbs01.dbf ';
…
启动数据库
SQL>Startup
SQL>SELECT NAME,STATUS FROM V$DATAFILE;
如果出现:ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/u01/avayaiq/system01.dbf'
则执行: SQL> recover database;查看数据文件
SQL> SELECT NAME FROM V$DATAFILE;
方法一: 丢弃源数据库的redo,在新的位置重新创建redolog group;--此方法与resetlogs一致,重置了redo日志组将导致 重做信息丢失!
方法二: 使用alter database命令修改数据字典与controlfile信息并物理拷贝,与移动数据文件步骤一致;
将 log_archive_dest_1地址设为/data/arch:
alter system set
log_archive_dest_1='LOCATION=/data/arch' ;
alter database
open;
alter system
archive log current;
拷贝旧的归档日志至/data/arch;
验证导出日志的信息,确保没有任何报错
比对源库和目标数据库中相关表对象
--对象数量
select
count(*) from dba_objects;
--用户表数量
select
count(*) from dba_tables;
--索引数量
select
count(*) from dba_indexes;
--序列号对象数量
select
count(*) from dba_sequences;
--是否存在无效对象
select count(*) from dba_objects where status<>’VALID’;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22878696/viewspace-1774638/ ,如需转载,请注明出处,否则将追究法律责任。