如题将A机 中的 表空间 sutdentdate.dbf  用户为 lsh   从 A机 中的oracle10g  移植到 B机的oracle10g
用呀
注:表空间 sutdentdate.dbf 不是在默认的路径下的

解决方案 »

  1.   

    空间硬盘的某部分.
    把A机的某部分硬盘(不是整块的)移动到B机?能行吗?如果是某用户.
    在A机使用exp把数据导出,在B机用imp导入.
      

  2.   

    这个涉及到oracle的表空间搬移,可以使用传统工具exp/imp实现。
    1,首先确认A,B机的系统默认blocksize是否相同,如果不同,则需要在B机上建立与A机需要搬移表空间相同blocksize的表空间。
    2,检查A,B机的语言环境,NLS_CHARACTERSET,NLS_NCHAR_CHARACTERSET,确保字符集一致。
    select * from nls_database_parameters
    where parameter='NLS_CHARACTERSET' or parameter='NLS_NCHAR_CHARACTERSET';
    3,在A机上检查搬移表空间的自包含:
    以sys用户执行dbms_tts.transport_set_check('tablespace_name',true)
    然后检查sys.transport_set_violations表里面的结果,如果没有记录,则说明表空间自包含,如果有记录,则进行相应的操作,
    例如删除索引等,然后再进行自包含检查。
    4,在B机建立lsh用户,分配权限并分配足够的的空间使用配额。
    5,将表空间改为read only   
    alter tablespace tbs read only;
    6,将表空间从A机导出
    host exp \'sys/passwd@sid as sysdba\' transport_tablespace=y tablespaces=tbs file=/export/home/oracle/ora10g/tbs.dmp
    7,将dmp存储文件和tbs包含的datefile(sutdentdate.dbf)以bin格式传送至B机相应目录
    8,在B机执行imp
    host imp \'sys/passwd@test as sysdba\' transport_tablespace=y file=F:\oracle10g\product\10.2.0\oradata\tbs.dmp datafiles=F:\oracle10g\product\10.2.0\oradata\sutdentdate.dbf
    9,在A机和B机上将搬移表空间tbs改为read write
    alter tablespace tbs read write;
      

  3.   

    使用exp/imp或expdp/impdp
    表空间传输特性