Chinaunix首页 | 论坛 | 博客
  • 博客访问: 528210
  • 博文数量: 855
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 19:08
文章分类

全部博文(855)

文章存档

2011年(1)

2008年(854)

我的朋友

分类:

2008-10-16 19:09:34

有时候,可以使用exp将以传输表空间的方式将其导出,传输表空间是一种机制,用来把一个数据库上的格式数据文件附加到另一个数据库。

需要注意:

对于导出文件dmp来说,实现了跨平台的处理,即在任何一个可运行的平台上,都能使用imp将其导入,但是对于表空间所包含的数据文件而言,各个平台上是不一样的,包含不能通过简单的复制来处理。数据文件不是独立于OS的。

传输表空间移动数据速度非常快。

使用前提:

1.源和目标数据库使用相同的字符集。

2.目标数据库不能有和源表空间相同的表空间

3.源和目标数据库拥有相同的块大小

4.必须传输自包含的对象集

5.源和目标数据库运行的硬件平台必须相同

这里以下9.2.0.4为例,简要介绍一下使用:

1.创建表空间,并生成数据

sqlplus "/ as sysdba"

create tablespace hexiong datafile ?/hexiong.dbf size 1M;

create user hexiong identified by hexiong default tablespace hexiong;

grant connect, resource to hexiong;

conn hexiong/hexiong

create table t as select * from all_objects;

2.检查一下表空间是否齐备:

exec sys.dbms_tts.transport_set_check('hexiong', TRUE);

PL/SQL procedure successfully completed.

SQL> select * from sys.transport_set_violations;

no rows selected

这表示该表空里的对象集是自包含的(对象及其索引都在此表空间中)

3.设定表空间为只读

alter tablespace hexiong read only;

[1]  

【责编:Chuan】

--------------------next---------------------

阅读(375) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~