ITPub博客

首页 > 数据库 > Oracle > quan的实验室:oracle数据文件迁移-本机迁移实验

quan的实验室:oracle数据文件迁移-本机迁移实验

原创 Oracle 作者:libingquan008 时间:2015-08-17 23:36:11 0 删除 编辑

  1.<!--[endif]-->目的

将Linux服务器上的oracle数据文件,日志文件,控制文件,归档文件,备份文件移动从/u01/avayaiq目录 移动到 /data/avayaiq目录下。
本实验适用于windows,linux,unix环境。

 2.实施步骤

  1.1        移动数据文件

查看数据文件

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;

  1.2        移动控制文件


SQL> shutdown immediate
SQL> create pfile from spfile; 
File created.
SQL> ! vi $ORACLE_HOME/dbs/initprod.ora
prod.__db_cache_size=113246208
prod.__java_pool_size=4194304
prod.__large_pool_size=4194304
prod.__shared_pool_size=163577856
prod.__streams_pool_size=8388608
*.control_files='/data/avayaiq/ora_control1','/data/avayaiq/ora_control2'

mv /u01/avayaiq/ora_control1     /data/avayaiq/ora_control1
mv /u01/avayaiq/ora_control12   /data/avayaiq/ora_control2

SQL> startup ;

查看数据文件

SQL> SELECT NAME  FROM V$DATAFILE;


1.3    移动重做日志文件

方法一: 丢弃源数据库的redo,在新的位置重新创建redolog group;--此方法与resetlogs一致,重置了redo日志组将导致 重做信息丢失!

方法二: 使用alter database命令修改数据字典与controlfile信息并物理拷贝,与移动数据文件步骤一致;   


1.4  修改数据归档参数

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;

1.5  数据校验

验证导出日志的信息,确保没有任何报错

比对源库和目标数据库中相关表对象

--对象数量

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博客 ” ,链接:http://blog.itpub.net/22878696/viewspace-1774638/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Mysql版本区别
请登录后发表评论 登录
全部评论

注册时间:2011-02-10

  • 博文量
    46
  • 访问量
    120293