迁移表空间databump

使用databump导入导出,两个库用户必须一致,否则另一个库导入的时候会报错。所以两个库都是用helei用户。

给两个数据库的用户分别授予dba权限,这里只是实验更清晰而已。

SQL> create user helei identified by MANAGER;
 
User created.
 
SQL> grant connect,resource to helei;
 
Grant succeeded.
SQL> grant dba to helei;
 
Grantsucceeded.

我们先查看表空间,我们要把主机HE3中的heleitbs表空间空间迁移到HE4的数据库当中。

SQL>select TABLESPACE_NAME,STATUS from dba_tablespaces;
 
TABLESPACE_NAME               STATUS
---------------------------------------
SYSTEM                               ONLINE
SYSAUX                               ONLINE
UNDOTBS1                       ONLINE
TEMP                               ONLINE
USERS                               ONLINE
EXAMPLE                       ONLINE
 
6 rowsselected.

我们在HE3上的heleitbs表空间中创建一张表,所有的操作都用到helei用户

 SQL>createtablespace heleitbs datafile '/u01/app/oracle/oradata/orcl/heleitbs1.dbf' size10m;
 
Tablespacecreated.
 
 SQL> createtable TTT (a int,b varchar2(20));
 
Tablecreated.
SQL> alter table TTT add constraint TTT_PRIKEYprimary key (a);
insert into ttt values(1,'helei1');
insert into ttt values(2,'helei2');
 
SQL> commit;
 
Commit complete.

2.先在两个虚拟机上创建目录,并且授权

[oracle@HE3~]$ mkdir -p /home/oracle/dumpfile
[oracle@HE3~]$ chown -R oracle. dumpfile
[oracle@HE3~]$ chmod -R 755 dumpfile

在HE3数据库中给文件夹做授权

SQL>createdirectory dumpfile as '/home/oracle/dumpfile';
Directorycreated.
 
SQL> grant all on directory dumpfile to public;
 
Grantsucceeded.

在HE4数据库中给文件夹做授权

SQL>createdirectory dumpfile as '/home/oracle/dumpfile';
Directorycreated.
 
SQL> grant all on directory dumpfile to public;
 
Grantsucceeded.

3.在HE3库中,需要用sys登录,检查一下表空间里面的表是否可以迁移。

查询代码:

EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('需要迁移的表空间名字', TRUE);

SELECT * FROM TRANSPORT_SET_VIOLATIONS;

SQL> conn / as sysdba
Connected.
SQL>show user
USER is"SYS"
 
SQL>EXECUTEDBMS_TTS.TRANSPORT_SET_CHECK('heleitbs',true);
 
PL/SQLprocedure successfully completed.
 
SQL> select * from transport_set_violations;
 
no rowsselected

4.在HE3库中,把heleitbs表空间变为只读。

SQL> conn / as sysdba
Connected.
SQL> alter tablespace heleitbs read only;
 
Tablespacealtered.
 
SQL>select TABLESPACE_NAME,STATUS from dba_tablespaces;
 
TABLESPACE_NAME               STATUS
---------------------------------------
SYSTEM                               ONLINE
SYSAUX                               ONLINE
UNDOTBS1                       ONLINE
TEMP                               ONLINE
USERS                               ONLINE
EXAMPLE                       ONLINE
HELEITBS                       READ ONLY
 
7 rowsselected.

5. 使用databump导入导出把helei用户的heleitbs表空间导出到系统中的文件夹中。

[oracle@HE3dumpfile]$ expdp helei/MANAGERdumpfile=helei.dmp directory=dumpfile transport_tablespaces=heleitbs
 
Export: Release11.2.0.1.0 - Production on Sun Dec 13 23:59:37 2015
 
Copyright (c) 1982,2009, Oracle and/or its affiliates.  Allrights reserved.
 
Connected to: OracleDatabase 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With thePartitioning, OLAP, Data Mining and Real Application Testing options
Starting"HELEI"."SYS_EXPORT_TRANSPORTABLE_01":  helei/******** dumpfile=helei.dmpdirectory=dumpfile transport_tablespaces=heleitbs
Processing objecttype TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing objecttype TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Master table"HELEI"."SYS_EXPORT_TRANSPORTABLE_01" successfullyloaded/unloaded
******************************************************************************
Dump file set forHELEI.SYS_EXPORT_TRANSPORTABLE_01 is:
  /home/oracle/dumpfile/helei.dmp
******************************************************************************
Datafiles requiredfor transportable tablespace HELEITBS:
  /u01/app/oracle/oradata/orcl/heleitbs1.dbf
Job"HELEI"."SYS_EXPORT_TRANSPORTABLE_01" successfullycompleted at 23:59:56

6.用scp把HE3的dumpfile文件夹里面的helei.dmp拷贝到HE4的dumpfile文件夹中。

[oracle@HE3dumpfile]$ scp -rp helei.dmpHE4:/home/oracle/dumpfile/
oracle@he4'spassword:
helei.dmp                                                                  100%   80KB  80.0KB/s

在HE4虚拟机里查看一下dumpfile文件夹有没有helei.dmp

[oracle@HE4~]$ cd dumpfile/

[oracle@HE4dumpfile]$ ls

helei.dmp

7.分别查看HE3库和HE4库的数据文件存在的位置。

HE3库

SQL>select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/orcl/system01.dbf

/u01/app/oracle/oradata/orcl/sysaux01.dbf

/u01/app/oracle/oradata/orcl/undotbs01.dbf

/u01/app/oracle/oradata/orcl/users01.dbf

/u01/app/oracle/oradata/orcl/example01.dbf

/u01/app/oracle/oradata/orcl/heleitbs1.dbf

6 rowsselected.

HE4库

SQL>select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/orcl/system01.dbf

/u01/app/oracle/oradata/orcl/sysaux01.dbf

/u01/app/oracle/oradata/orcl/undotbs01.dbf

/u01/app/oracle/oradata/orcl/users01.dbf

/u01/app/oracle/oradata/orcl/example01.dbf

8.把HE3库的数据文件heleitbs1.dbf拷贝到HE4库里的数据文件当中。

[oracle@HE3~]$ cd /u01/app/oracle/oradata/orcl/
[oracle@HE3orcl]$ scp heleitbs1.dbfHE4:/u01/app/oracle/oradata/orcl/
oracle@he4'spassword:
heleitbs1.dbf                                                              100%   10MB  10.0MB/s  00:00

然后查看一下HE4有没有heleitbs1.dbf文件

[oracle@HE4dumpfile]$ cd /u01/app/oracle/oradata/orcl/

[oracle@HE4orcl]$ ls

control01.ctl  example01.dbf redo01.log  redo03.log    system01.dbf  undotbs01.dbf

control02.ctl  heleitbs1.dbf redo02.log  sysaux01.dbf  temp01.dbf   users01.dbf

9.这时用使用databump导入导出把HE4的dumpfile文件家里面的helei.dmp导入到自己的数据库中

[oracle@HE4~]$ impdp helei/MANAGERdumpfile=helei.dmp directory=dumpfile transport_datafiles='/u01/app/oracle/oradata/orcl/heleitbs1.dbf'
 
Import:Release 11.2.0.1.0 - Production on Mon Dec 14 00:36:33 2015
 
Copyright(c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
 
Connectedto: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bitProduction
With thePartitioning, OLAP, Data Mining and Real Application Testing options
Mastertable "HELEI"."SYS_IMPORT_TRANSPORTABLE_01" successfullyloaded/unloaded
Starting"HELEI"."SYS_IMPORT_TRANSPORTABLE_01":  helei/******** dumpfile=helei.dmpdirectory=dumpfiletransport_datafiles=/u01/app/oracle/oradata/orcl/heleitbs1.dbf
Processingobject type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processingobject type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job"HELEI"."SYS_IMPORT_TRANSPORTABLE_01" successfullycompleted at 00:36:49

10.把两个库中的heleitbs表空间都设置为读写模式。

两个库命令是一致的使用dba用户和weixiaobin用户都可以

SQL> alter tablespace heleitbs read write;
 
Tablespacealtered.

11.验证,看看HE4虚拟数据中是不是HELEITBS表空间。看看表空间里有没有TTT的表

SQL> select TABLE_NAME,TABLESPACE_NAME fromdba_tables where TABLESPACE_NAME='HELEITBS';
 
TABLE_NAME                       TABLESPACE_NAME
------------------------------------------------------------
TTT                               HELEITBS

Oracle 表空间迁移的更多相关文章

  1. Oracle表空间迁移Move Tablespace

    move一个表到另外一个表空间时,索引不会跟着一起move,而且会失效.(LOB类型例外) move分为: *普通表move *分区表move *LONG,LOB大字段类型move来进行测试和说明. ...

  2. oracle表空间位置迁移

    1.先登录sqlplus: C:\Documents and Settings\jbdu>sqlplus “/as sysdba”2.修改表空间为Offline: SQL> alter t ...

  3. oracle表空间相关

    数据库被划分为若干个表空间,每个表空间内保存一组相关的逻辑对象.每个表空间由一个或者多个数据文件组成.oracle中的数据逻辑上存储在表空间里,物理上存储在属于该表空间的数据文件里.表空间是用户和物理 ...

  4. oracle 表空间总结

                           表空间总结  一.认识表空间 1:表空间概念: 表空间是数据库中最大的逻辑单位,Oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数 ...

  5. ORACLE 表空间扩展

    最近公司在对即将上线的系统做数据迁移和压力测试,于是乎需要和 Oracle 经常的打交道.今天正好碰到了表空间的问题,记录下来以后备用.也是最近才学习到的,原来 Oracle 表空间也是有大小限制的, ...

  6. Oracle表空间概述及其基本管理

    最近在工作中遇到有同事对Oracle表空间的理解有问题,所以写了这篇文章.我会从概念,管理及特别需要关注的点等几个维度对表空间进行一些介绍.本文以介绍表空间为主,涉及到的其他概念不展开描述.有问题的地 ...

  7. Oracle表空间,用户,用户授权

    一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...

  8. Oracle表空间管理

    oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;              //修改表空间数据文件类型 2.ALT ...

  9. 【转】Oracle 表空间与数据文件

    --============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...

随机推荐

  1. tinkphp5.0 traits 的引入

    Traits引入 ThinkPHP 5.0开始采用trait功能(PHP5.4+)来作为一种扩展机制,可以方便的实现一个类库的多继承问题. trait是一种为类似 PHP 的单继承语言而准备的代码复用 ...

  2. PL/SQL Developer使用技巧、快捷键、存储过程调试

    1.类SQL PLUS窗口:File->New->Command Window,这个类似于oracle的客户端工具sql plus,但比它好用多了. 2.设置关键字自动大写:Tools-& ...

  3. Cocos2dx 学习笔记整理----在项目中使用图片(三)

    这节练习下DragonBones. 手机由于性能所限,需要特注意资源的使用. 游戏项目的话由于资源比较多,一般都会用到DragonBones来做动作,这个又称为龙骨. DragonBones传送点:h ...

  4. POJ 1696 Space Ant

    极角排序 每次选择一个最外围的没选过的点,选择的时候需要利用极角排序进行选择 #include<cstdio> #include<cstring> #include<ve ...

  5. iOS开发——NSArray中的字符串排序

     NSArray *arr = @[@"fjhsf",@"wert",@"fdg",@"asd",@"fs g ...

  6. Express 简介

    Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Express 可以快速 ...

  7. (中等) POJ 2828 Buy Tickets , 逆序+线段树。

    Description: Railway tickets were difficult to buy around the Lunar New Year in China, so we must ge ...

  8. rapidjson 使用教程

    在cocos2d-x引入了rapidjson,它处理速度比其他的json库快,反正不管了,我们这边只是学习下如何使用.rapidjson官方网址: https://code.google.com/p/ ...

  9. FFT初解(转)

    源:FFT初解 一.前言 首先申明俺不是一个算法工程师,俺是一个底层驱动工程师,有人会发问一个底层驱动工程师需要这个吗?但是我不幸的告诉你,确实是需要的,不过我们不要像算法工程师那样搞得很精通,但是还 ...

  10. C++通过Callback向C#传递数据,注意问题

    转载:出处 现在比较流行C#与C++融合:C#做GUI,开发效率高,C++做运算,运行效率高,二者兼得. 但是C++与C#必然存在数据交互,C#与C++dll的数据交互从来都是一个让人头疼的问题. 从 ...