现在的位置: 首页 > 综合 > 正文

不同用户导出导入时,表空间的问题

2013年10月21日 ⁄ 综合 ⁄ 共 2235字 ⁄ 字号 评论关闭
1. 建立数据表空间,索引表空间
2. 创建用户jerry并授权
3. 为用户jerry创建表,索引,并插入数据
4. 导出jerry的数据
5. 创建用户peter并授权
6. 将jerry的数据导入到peter用户下(原表空间存在和不存在两种情况)
7. 连接用户peter 查看表空间
结论:
原表空间存在时,导入到原表空间。
原表空间不存在时,导入到新用户(peter)的默认表空间,即原数据表空间和原索引表空间都对应成新用户的数据表空间。
所以在导出导入时,最好事先建立原数据的表空间。
--1. 建立数据表空间,索引表空间
conn / as sysdba
create tablespace jerry_data datafile '+DGDATA1/orcl11g/jerry_data01.dbf' size 10m autoextend on next 10m maxsize 100m;
create tablespace jerry_indx datafile '+DGDATA1/orcl11g/jerry_indx01.dbf' size 10m autoextend on next 10m maxsize 100m;
--2. 创建用户jerry并授权
drop user jerry cascade;
create user jerry identified by jerry;
grant connect,resource to jerry;
--3. 为用户jerry创建表,索引,并插入数据
conn jerry/jerry
create table t1 (id number,name varchar2(10)) tablespace jerry_data;
create index t1_id on t1(id) tablespace jerry_indx;
insert into t1 values(1,'aaaaa');
commit;
--4. 导出jerry的数据
!exp jerry/jerry file='/tmp/jerry_full.dmp' log='/tmp/jerry_full.log';
--5. 创建用户peter并授权
conn / as sysdba
drop user peter cascade;
create user peter identified by peter;
grant connect,resource,imp_full_database to peter;
--6. 将jerry的数据导入到peter用户下(原表空间不存在时)
drop tablespace jerry_data including contents and datafiles;
drop tablespace jerry_indx including contents and datafiles;
!imp peter/peter fromuser=jerry touser=peter buffer=100000 ignore=y file='/tmp/jerry_full.dmp' log='/tmp/jerry_full_imp.log';
--7. 连接用户peter 查看表空间
conn peter/peter
select table_name,tablespace_name from user_tables;
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
T1 USERS
select index_name,tablespace_name from user_indexes;
INDEX_NAME TABLESPACE_NAME
------------------------------ ------------------------------
T1_ID USERS
--8. 将jerry的数据导入到peter用户下(原表空间存在时)
create tablespace jerry_data datafile '+DGDATA1/orcl11g/jerry_data01.dbf' size 10m autoextend on next 10m maxsize 100m;
create tablespace jerry_indx datafile '+DGDATA1/orcl11g/jerry_indx01.dbf' size 10m autoextend on next 10m maxsize 100m;
!imp peter/peter fromuser=jerry touser=peter buffer=100000 ignore=y file='/tmp/jerry_full.dmp' log='/tmp/jerry_full_imp.log';
--9. 连接用户peter 查看表空间
conn peter/peter
select table_name,tablespace_name from user_tables;
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
T1 JERRY_DATA
select index_name,tablespace_name from user_indexes;
INDEX_NAME TABLESPACE_NAME
------------------------------ ------------------------------
T1_ID JERRY_INDX

抱歉!评论已关闭.