Oracle 表空间迁移
迁移表空间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 表空间迁移的更多相关文章
- Oracle表空间迁移Move Tablespace
move一个表到另外一个表空间时,索引不会跟着一起move,而且会失效.(LOB类型例外) move分为: *普通表move *分区表move *LONG,LOB大字段类型move来进行测试和说明. ...
- oracle表空间位置迁移
1.先登录sqlplus: C:\Documents and Settings\jbdu>sqlplus “/as sysdba”2.修改表空间为Offline: SQL> alter t ...
- oracle表空间相关
数据库被划分为若干个表空间,每个表空间内保存一组相关的逻辑对象.每个表空间由一个或者多个数据文件组成.oracle中的数据逻辑上存储在表空间里,物理上存储在属于该表空间的数据文件里.表空间是用户和物理 ...
- oracle 表空间总结
表空间总结 一.认识表空间 1:表空间概念: 表空间是数据库中最大的逻辑单位,Oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数 ...
- ORACLE 表空间扩展
最近公司在对即将上线的系统做数据迁移和压力测试,于是乎需要和 Oracle 经常的打交道.今天正好碰到了表空间的问题,记录下来以后备用.也是最近才学习到的,原来 Oracle 表空间也是有大小限制的, ...
- Oracle表空间概述及其基本管理
最近在工作中遇到有同事对Oracle表空间的理解有问题,所以写了这篇文章.我会从概念,管理及特别需要关注的点等几个维度对表空间进行一些介绍.本文以介绍表空间为主,涉及到的其他概念不展开描述.有问题的地 ...
- Oracle表空间,用户,用户授权
一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...
- Oracle表空间管理
oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE; //修改表空间数据文件类型 2.ALT ...
- 【转】Oracle 表空间与数据文件
--============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...
随机推荐
- 学习Robot Framework必须掌握的库—-BuiltIn库
作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库.如果用户想在测试用例中实现比较复杂的 ...
- 转:总结Selenium WebDriver中一些鼠标和键盘事件的使用
在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 W ...
- 有关sqlitedrop数据库重建比delete方式来清空数据库更加有效率
今天浏览stackoverflow 发现一个有趣的问题: which was more preferable as performance wise and without error cause t ...
- Direct3D中的绘制
1.顶点缓存和索引缓存 一个顶点缓存是一个包含顶点数据的连续内存空间:一个索引缓存是一个包含索引数据的连续内存空间. 顶点缓存用接口IDirect3DVertexBuffer9表示:索引缓存用接口ID ...
- 基于I2C EPPRPM(AT24C02B) + LCD12864实验
本次实验目的:在指定的EPPROM地址中,写入一数据,延时100MS后,在从该地址中读取,并在LCD上显示. 该实验在前两天就开始做了,一开始并没有成功,读出的一直0x00,当时也调了一会,但跳回到P ...
- webapp之路--之必备知识
移动设备的用户越来越多,每天android手机的激活量都已经超过130万台,所以我们面向移动终端的WebAPP也开始跟进了.本文主要介绍webapp的开发与调试的相关知识和经验,以及给出几种可选的解决 ...
- MySQL:MySQL的安装
一.Linux:MySQL的源码安装 1.安装前的准备 在安装之前需要安装一下必备的包和工具 gcc/g++:MySQL5.6开始,需要使用g++进行编译. cmake:MySQL5.5开始,使用cm ...
- 如何使用UDP进行跨网段广播(转)
源:http://blog.chinaunix.net/uid-22670933-id-3716646.html 广播域首先我们来了解一下广播域的概念.广播域是网络中能接收任一台主机发出的广播帧的所有 ...
- mac ox 配置java和maven
参考http://www.cnblogs.com/iOS-mt/p/5726380.html 以及http://blog.csdn.net/done58/article/details/5113805 ...
- [JSP] c:forEach 如何输出序号 - luotangsha的专栏 - 博客频道 - CSDN.NET
[JSP] c:forEach 如何输出序号 分类: JSP 2011-06-24 01:36 13018人阅读 评论(2) 收藏 举报 jspcbordertable 关键在于<c:forEa ...