oracle表空间传输

表空间传输

write by hanchaoyong in date 2006-01-13
   
方法介绍:
实现表空间的传输的条件:操作系统和数据库版本最好一致
表空间传输的速度就是复制文件的速度.
表空间类的数据对象不可以跨越表空间.
环境说明:
源头:机器A 表空间:TEST_DB
目标:机器B 表空间:TEST_DB

1 测试表空间是否可以传输.
        execute dbms_tts.transport_set_check('TEST_DB', true);
  若报过程dbms_tts.transport_set_check不存在,
  则用sys的数据库用户执行脚本"$ORACLE_HOME/rdbms/admin/dbmsplts.sql"建立之.

2 select * from transport_set_violations;
  SQL> select * from transport_set_violations;
  no rows selected
  ok的状况.

3 设置表空间TEST_DB 为只读.
  alter tablespace TEST_DB read only;  
4 表空间导出.
        exp \'sys/sys@135 as sysdba\' transport_tablespace=y tablespaces=TEST_DB  
        file=/home/oracle/test.dmp log=/home/oracle/test.log

5 复制源表空间的数据文件(注意文件要只读)
        cp /ora9/oracle/oradata/testdb2/TEST_DB.dbf TEST_DB.DBF
  
  复制完成后把源表空间设置可读写. 
  alter tablespace TEST_DB read write;  
6 把导出的dmp文件和数据文件,复制到目标数据库目录下.
  ftp  TEST_DB.DBF and test.dmp
  
7 目标数据库上建立一个和源表空间的相同的表空间,然后建立用户,指定表空间到TEST_DB.
  然后删除目标数据库上建立的表空间TEST_DB.
  
8 复制源数据库的数据文件到目标目录下.
  cp TEST_DB.DBF /ora9/oracle/oradata/testdb1/TEST_DB.DBF
  
9 把导出的dmp和数据文件为基础,倒入数据到目标表空间下即可.
  imp \'sys/szmeiton@123 as sysdba\' transport_tablespace=y   tablespaces=TEST_DB file='test.dmp' datafiles='/ora9/oracle/oradata/testdb1/TEST_DB.DBF' tts_owners=test


注意:第7步
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值