• 在ORACLE数据库间移动或复制表空间测试


    做了个移动表空间的测试
    我想把数据库orcl里面的某个表空间,移到另一个数据库epma

    先建一些表空间,以及用户

    create tablespace tts1 datafile 'D:\ORADATA\ORCL\TTS1.DBF' SIZE 10M
    autoextend on next 10M maxsize unlimited
    segment space management auto
    extent management local ;

    create user tts identified by tts default tablespace tts1
    temporary tablespace temp quota unlimited on tts1 ;

    grant connect ,resource to tts ;

    建一些测试的表
    create table testtts(id number,name varchar2(10))  ;
    alter table testtts add constraint pk_testtts primary key(id) using index tablespace tts1 ;

    select * from user_indexes ;

    首先把要转移的表设置为只读
    alter tablespace tts1 read only ;

    select * from dba_directories ;

    用如下语句导出元数据信息

    set ORACLE_SID=orcl

    expdp directory=DATA_PUMP_DIR TRANSPORT_TABLESPACES=tts1 dumpfile=tts1.dump

    下面是cmd里面的详细过程:
    C:\Documents and Settings\lisx>expdp directory=DATA_PUMP_DIR TRANSPORT_TABLESPACES=y tablespaces=tts
    1 dumpfile=tts1.dump

    Export: Release 10.2.0.1.0 - Production on 星期四, 12 8月, 2010 11:15:28

    Copyright (c) 2003, 2005, Oracle.  All rights reserved.

    用户名: sys as sysdba
    口令:

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    UDE-00010: 已请求多个作业模式, tablespace 和 transport_tablespaces。

    上面的语句报错,原来expdp转移表空间和exp是有区别的,exp的格式是
    EXP transport_tablespace=y tablespaces=tts1,tts2 file=expdat.dmp
    注意transport_tablespace后面没有s,不是复数形式的

    而用expdp的正确的导出如下:
    C:\Documents and Settings\lisx>expdp directory=DATA_PUMP_DIR TRANSPORT_TABLESPACES=tts1 dumpfile=tts
    1.dump

    Export: Release 10.2.0.1.0 - Production on 星期四, 12 8月, 2010 11:16:06

    Copyright (c) 2003, 2005, Oracle.  All rights reserved.

    用户名: sys as sysdba
    口令:

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    启动 "SYS"."SYS_EXPORT_TRANSPORTABLE_01":  sys/******** AS SYSDBA directory=DATA_PUMP_DIR TRANSPORT_
    TABLESPACES=tts1 dumpfile=tts1.dump
    处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
    处理对象类型 TRANSPORTABLE_EXPORT/TABLE
    处理对象类型 TRANSPORTABLE_EXPORT/INDEX
    处理对象类型 TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
    处理对象类型 TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    已成功加载/卸载了主表 "SYS"."SYS_EXPORT_TRANSPORTABLE_01"
    ******************************************************************************
    SYS.SYS_EXPORT_TRANSPORTABLE_01 的转储文件集为:
      D:\ADMIN\ORCL\DPDUMP\TTS1.DUMP
    作业 "SYS"."SYS_EXPORT_TRANSPORTABLE_01" 已于 11:16:41 成功完成

    下面导入到新的数据库epma
    set ORACLE_SID=epma

    impdp directory=DATA_PUMP_DIR dumpfile=TTS1.DUMP TRANSPORT_DATAFILES='D:\oradata\epma\TTS1.DBF'


    C:\Documents and Settings\lisx>impdp directory=DATA_PUMP_DIR dumpfile=TTS1.DUMP TRANSPORT_DATAFILES=
    'D:\oradata\epma\TTS1.DBF'

    Import: Release 10.2.0.1.0 - Production on 星期四, 12 8月, 2010 11:29:16

    Copyright (c) 2003, 2005, Oracle.  All rights reserved.

    用户名: sys as sysdba
    口令:

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    已成功加载/卸载了主表 "SYS"."SYS_IMPORT_TRANSPORTABLE_01"
    启动 "SYS"."SYS_IMPORT_TRANSPORTABLE_01":  sys/******** AS SYSDBA directory=DATA_PUMP_DIR dumpfile=T
    TS1.DUMP TRANSPORT_DATAFILES='D:\oradata\epma\TTS1.DBF'
    处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
    ORA-39123: 数据泵可传输的表空间作业中止
    ORA-29342: 数据库中不存在用户 TTS

    作业 "SYS"."SYS_IMPORT_TRANSPORTABLE_01" 因致命错误于 11:29:26 停止

    一定要先建用户TTS,否则报错


    create user tts identified by tts  ;
    grant connect ,resource to tts ;


    C:\Documents and Settings\lisx>impdp directory=DATA_PUMP_DIR dumpfile=TTS1.DUMP TRANSPORT_DATAFILES=
    'D:\oradata\epma\TTS1.DBF'

    Import: Release 10.2.0.1.0 - Production on 星期四, 12 8月, 2010 11:30:51

    Copyright (c) 2003, 2005, Oracle.  All rights reserved.

    用户名: sys as sysdba
    口令:

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    已成功加载/卸载了主表 "SYS"."SYS_IMPORT_TRANSPORTABLE_01"
    启动 "SYS"."SYS_IMPORT_TRANSPORTABLE_01":  sys/******** AS SYSDBA directory=DATA_PUMP_DIR dumpfile=T
    TS1.DUMP TRANSPORT_DATAFILES='D:\oradata\epma\TTS1.DBF'
    处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
    处理对象类型 TRANSPORTABLE_EXPORT/TABLE
    处理对象类型 TRANSPORTABLE_EXPORT/INDEX
    处理对象类型 TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
    处理对象类型 TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    作业 "SYS"."SYS_IMPORT_TRANSPORTABLE_01" 已于 11:31:10 成功完成

    **/

    查看发现原来表空间里面的内容果然导入到新的表空间里面了
    select * from user_indexes ;

    查看状态也是只读
    select * from dba_tablespaces ;
    select * from dba_data_files ;

    alter tablespace tts1 read write ;

  • 相关阅读:
    HDU 1301 Jungle Roads
    HDU 1671 Phone List
    HDU 1992 Tiling a Grid With Dominoes
    HDU 1251 统计难题
    总结自己的近期表现
    Windows API 函数: SetClassLong
    ModifyStyle
    assert,assert_valid,verify,trace用法
    用VC++绘制位图按钮
    Codeforces 144D. Missile Silos 最短路
  • 原文地址:https://www.cnblogs.com/caibird2005/p/1798107.html
Copyright © 2020-2023  润新知