ITPub博客

首页 > 数据库 > Oracle > Oracle Transport tablespace 表空间传输

Oracle Transport tablespace 表空间传输

原创 Oracle 作者:f4nvip 时间:2008-07-04 11:44:37 0 删除 编辑
经常使用数据库,不可避免要进行数据迁移工作,在业务中断时间要求严格的生产系统中,不可能容忍长时间的停机,因此怎么能够更快,更稳定的进行数据迁移也是一个重要的课题。这里介绍一种Oracle提供的表空间传输方式,Oracle版本为9I,此功能在Oralce后续版本中得到加强,Oracle10G中还提供了更强大的datapumb功能。[@more@]

1.1 登录10.243.24.3,准备迁移工作
1.1.1 --检查ARSYSTEM表空间是否为Self-Contained
SQL> exec dbms_tts.transport_set_check('ARSYSTEM', TRUE, True);

PL/SQL procedure successfully completed.

SQL> SELECT * FROM SYS.TRANSPORT_SET_VIOLATIONS;

no rows selected

1.1.2 --检查版本是否与目标兼容(10.243.24. 17版本9.2.0.0.0)
SQL> show parameter compatible

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
compatible string 9.2.0.0.0

1.1.3 --检查ARSYSTEM表空间数据文件
SQL> select tablespace_name,FILE_NAME from dba_data_files where tablespace_name='ARSYSTEM';

TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
ARSYSTEM
/data2/arsys1

ARSYSTEM
/data2/arsys2

ARSYSTEM
/data2/arsys3


TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
ARSYSTEM
/data2/arsys4

ARSYSTEM
/data2/arsys5

ARSYSTEM
/data2/arsys6


TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
ARSYSTEM
/data2/arsys7

ARSYSTEM
/data2/arsys8

ARSYSTEM
/data2/arsys9.dbf


TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
ARSYSTEM
/data2/arsys10

ARSYSTEM
/data2/arsys11

ARSYSTEM
/data2/arsys12


TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
ARSYSTEM
/data2/arsys13

ARSYSTEM
/data2/arsys14

已选择14行。

1.1.4 --停止10.243.24.25和10.243.24.29上面的arserver
# cd /opt/ar/bin
# ./arsystem stop

1.1.5 --设置ARSYSTEM表空间为只读
SQL> alter tablespace ARSYSTEM read only;

1.1.6 --导出ARSYSTEM表空间结构信息
# su - oracle
# exp "'sys/oracle@emip as sysdba'" tablespaces=ARSYSTEM transport_tablespace=y file=transport_ARSYSTEM.dmp log= transport.log

1.2 登录10.243.24.17,开始迁移工作
1.2.1 --停掉arsystem
cd usr/ar/ldap/bin
./arsystem stop

1.2.2 --检查目标数据库ARADMIN用户
SQL> select * from dba_users where username='ARADMIN';

1.2.3 --检查目标数据库ARSYSTEM表空间
SQL> select * from dba_tablespaces where tablespace_name ='ARSYSTEM';
如果有则:
SQL> drop tablespace ARSYSTEM including contents and datafiles;

1.2.4 -- FTP把transport_ARSYSTEM.dmp传送到10.243.24.17
# ftp 10.243.24.3
ftp>lcd /data1
ftp>cd /export/home/oracle
ftp>bin
ftp>get transport_ARSYSTEM.dmp

1.2.5 -- FTP把数据文件传送到10.243.24.17,
约100G数据耗时两小时十分
# cd /data2
# nohup ./ ftp_ardata.sh &
# cd /data2/ardata
# chmod -R 755 *
# chown -R oracle:dba *
注意:如果是文件系统就逻辑复制,如果是裸设备就DD
1.2.6 -- imp导入目标数据库
imp "'sys/oracle@remedy as sysdba'" tablespaces=ARSYSTEM transport_tablespace=y file=/data1/transport_ARSYSTEM.dmp datafiles='/data2/ardata/arsys1','/data2/ardata/arsys2','/data2/ardata/arsys3','/data2/ardata/arsys4','/data2/ardata/arsys5','/data2/ardata/arsys6','/data2/ardata/arsys7','/data2/ardata/arsys8','/data2/ardata/arsys9.dbf','/data2/ardata/arsys10','/data2/ardata/arsys11','/data2/ardata/arsys12','/data2/ardata/arsys13','/data2/ardata/arsys14' log=/tmp/log.log

# cd /data1
# nohup ./imp.sh &
1.2.7 检查数据库是否可以访问
SQL> select * from user_tables;
SQL> alter tablespace ARSYSTEM read write;
1.2.8 启动arsystem测试数据访问
cd usr/ar/ldap/bin
./arsystem start
通过aruser访问,查看到最新数据。
1.3 登录10.243.24.25,10.243.24.29修改应用指向
1.4 登录10.243.24.3,收尾工作
1.4.1 --设置ARSYSTEM表空间下线
SQL> alter tablespace ARSYSTEM offline;
1.4.2 --保留期望观察时间后也可删除
SQL> drop tablespace ARSYSTEM including contents and datafile;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7767687/viewspace-1006710/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论
  • 博文量
    4
  • 访问量
    37142