Oracle imp 导入数据到另一个表空间
来源:互联网 发布:域名投资入门 编辑:程序博客网 时间:2024/05/16 16:19
很多人在进行数据迁移时,希望把数据导入不同于原系统的表空间,在导入之后却往往发现,数据被导入了原表空间。
本例举例说明解决这个问题:
如果缺省的用户具有DBA权限,那么导入时会按照原来的位置导入数据,即导入到原表空间,下面通过演示导入不同表空间。
[oracle@testsvr3 orcl]$ sqlplus '/as sysdba'
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 3月 28 19:09:40 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> CREATE TABLESPACE TESTSPACE
DATAFILE '/var/oracledata/orcl/TEST01.dbf' size 120M
EXTENT MANAGEMENT local; 2 3
DATAFILE '/var/oracledata/orcl/TEST01.dbf' size 120M
EXTENT MANAGEMENT local; 2 3
表空间已创建。
SQL> disc
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options 断开
SQL> conn ms/ms
已连接。
SQL> create table test_objects tablespace TESTSPACE as select * from dba_objects;
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options 断开
SQL> conn ms/ms
已连接。
SQL> create table test_objects tablespace TESTSPACE as select * from dba_objects;
表已创建。
SQL> create index ind_object_type on test_objects(OBJECT_TYPE) tablespace TESTSPACE;
索引已创建。
SQL> set linesize 200
SQL> col segment_name for a50
SQL> select segment_name,segment_type from dba_segments where tablespace_name='TESTSPACE';
SQL> col segment_name for a50
SQL> select segment_name,segment_type from dba_segments where tablespace_name='TESTSPACE';
SEGMENT_NAME SEGMENT_TYPE
-------------------------------------------------- ------------------
TEST_OBJECTS TABLE
IND_OBJECT_TYPE INDEX
SQL> quit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options 断开
-------------------------------------------------- ------------------
TEST_OBJECTS TABLE
IND_OBJECT_TYPE INDEX
SQL> quit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options 断开
上面创建了一个新的表空间,并在表空间上新建了一个表。
下面备份这个表。
[oracle@testsvr3 orcl]$ exp ms/ms file=test_objects.dmp tables=test_objects log=exptab.log
Export: Release 10.2.0.1.0 - Production on 星期一 3月 28 19:19:08 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径...
. . 正在导出表 TEST_OBJECTS导出了 53433 行
成功终止导出, 没有出现警告。
. . 正在导出表 TEST_OBJECTS导出了 53433 行
成功终止导出, 没有出现警告。
备份后,删除刚才的表空间:
SQL> drop tablespace TESTSPACE INCLUDING CONTENTS;
表空间已删除。
创建要导入的新用户:
SQL> CREATE USER test IDENTIFIED BY test
PROFILE DEFAULT
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
ACCOUNT UNLOCK; 2 3 4 5
PROFILE DEFAULT
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
ACCOUNT UNLOCK; 2 3 4 5
用户已创建。
SQL> grant connect,resource,dba to test;
授权成功。
回收用户unlimited tablespace权限,这样就可以导入到用户缺省表空间:
SQL> revoke unlimited tablespace from test;
撤销成功。
SQL> alter user test quota 0 on USERS;
用户已更改。
SQL> alter user test quota unlimited on USERS;
用户已更改。
重新导入数据
[oracle@testsvr3 orcl]$ imp test/test file=test_objects.dmp fromuser=ms touser=test
Import: Release 10.2.0.1.0 - Production on 星期一 3月 28 19:26:32 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
经由常规路径由 EXPORT:V10.02.01 创建的导出文件
警告: 这些对象由 MS 导出, 而不是当前用户
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 MS 的对象导入到 TEST
. . 正在导入表 "TEST_OBJECTS"导入了 53433 行
成功终止导入, 没有出现警告。
[oracle@testsvr3 orcl]$
. 正在将 MS 的对象导入到 TEST
. . 正在导入表 "TEST_OBJECTS"导入了 53433 行
成功终止导入, 没有出现警告。
[oracle@testsvr3 orcl]$
[oracle@testsvr3 orcl]$ sqlplus '/as sysdba'
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 3月 28 19:26:48 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> select segment_name,segment_type,tablespace_name from dba_segments where segment_name='TEST_OBJECTS';
SEGMENT_NAME
--------------------------------------------------------------------------------
SEGMENT_TYPE TABLESPACE_NAME
------------------ ------------------------------
TEST_OBJECTS
TABLE USERS
--------------------------------------------------------------------------------
SEGMENT_TYPE TABLESPACE_NAME
------------------ ------------------------------
TEST_OBJECTS
TABLE USERS
发现该表已经成功导入了test用户默认表空间USERS中。
0 0
- oracle imp导入数据到另一个表空间
- Oracle imp 导入数据到另一个表空间
- Oracle imp命令导入数据到指定表空间(转贴)
- Oracle imp命令导入数据到指定表空间
- oracle--imp不能导入到另一个用户的默认表空间
- oracle如何将数据导入到另一个表空间
- oracle如何将数据导入到另一个表空间
- Oracle imp导入数据指定表空间
- Oracle imp导入数据指定表空间
- Oracle imp导入数据指定表空间
- Oracle imp导入数据指定表空间
- oracle imp导入库到指定表空间
- oracle imp导入库到指定表空间
- oracle imp导入库到指定表空间
- oracle imp导入数据 表空间不存在 处理
- Oracle中imp导入数据指定表空间方法介绍
- imp 命令一个用户导入到另一个用户,修改相应表的表空间
- imp 导入到指定的表空间
- ADF 序列
- eclipse 使用 maven-archetype-quickstart 创建项目报错
- 修改pptp vpn的默认端口
- 修改包文件名
- 设计模式——门面模式(Facade)
- Oracle imp 导入数据到另一个表空间
- eclipse 使用设置
- AVFrame 中 linesize 含义剖析
- 解决ora-00054 Oracle锁表问题
- 发送鼠标左键按下消息
- Deep Learning:Helmholtz机和wake-sleep算法的提出
- Ubuntu14.04下安装vtiger5.4以及汉化教程
- Tomcat Error Page配置
- Android学习记录-关于BaseAdapter和实体类