Chinaunix首页 | 论坛 | 博客
  • 博客访问: 93348
  • 博文数量: 42
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 480
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-16 13:39
文章分类

全部博文(42)

文章存档

2011年(1)

2010年(6)

2009年(35)

我的朋友

分类: Oracle

2009-08-17 16:56:38

Oracle中不同用户间数据的导入导出
实验环境:RedHat 4上装oracle 9
实验目的:将用户jiajia的数据导入到用户tianyu
实验步骤如下
1、使用系统用户登陆为用户jiajia创建一个默认表空间名为jiajia
[oracle@shanghai ~]$ sqlplus
SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 8月 10 20:10:42 2009
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
 
SQL> create tablespace jiajia datafile '/opt/oracle/oradata/mydb/jiajia.dbf' size 20M uniform size 64k;
 
Tablespace created.
 
2、创建用户jiajia并指定默认表空间为jiajia,临时表空间为temp
SQL> create user jiajia identified by jiajia default tablespace jiajia temporary tablespace temp;
 User created.
 
3、授予连接,恢复,导入,导出数据库权限给jiajia
SQL> grant connect,resource,imp_full_database,exp_full_database to jiajia;
Grant succeeded.
SQL> quit
4、使用jiajia连接数据库mydb并创建用于测试的表studytable
[oracle@shanghai ~]$ sqlplus
SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 8月 10 20:17:13 2009
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL> create table studytable
  2  (
  3  xh varchar(10) NOT NULL,
  4  xm varchar(10) NOT NULL,
  5  nl int,
  6  xb char(4) NOT NULL
  7  )
  8  ;
Table created.
 
4、插入4条内容到该表中
SQL> insert into studytable values ('1001','aaaa',20,'男');
1 row created.
 
SQL> insert into studytable values ('1002','bbbb',21,'女');
1 row created.
 
SQL> insert into studytable values ('1003','cccc',22,'男');
1 row created.
 
SQL> insert into studytable values ('1004','dddd',24,'女');
1 row created.
 
SQL> commit;
Commit complete.
 
5、查看新建的表中内容
SQL> select * from studytable;
 
XH         XM                 NL XB
---------- ---------- ---------- ----
1001       aaaa               20 男
1002       bbbb               21 女
1003       cccc               22 男
1004       dddd               24 女

6、再次使用系统用户登陆为用户tianyu创建一个默认表空间名为tianyu
[oracle@shanghai ~]$ sqlplus
 SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 8月 10 20:25:00 2009
 Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
 Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
 
SQL> create tablespace tianyu datafile '/opt/oracle/oradata/mydb/tianyu.dbf' size 20M uniform size 64k;
 Tablespace created.
 
7、创建用户用户tianyu并指定默认表空间为tianyu,临时表空间为temp
SQL> create user tianyu identified by tianyu default tablespace tianyu temporary tablespace temp;
 User created.
 
8、授予连接,恢复,导出,导入数据库权限给tianyu
SQL> grant connect,resource,imp_full_database,exp_full_database to tianyu;
 Grant succeeded.
 
9、撤销tianyu表空间无限配额的权限(针对所有的用户)
SQL> revoke unlimited tablespace from tianyu;
 Revoke succeeded.
 
10、更改tianyu用户使用默认表空间tianyu的权限为无限配额
SQL> alter user tianyu default tablespace tianyu quota unlimited on tianyu;
 User altered.
 SQL> exit
11、使用jiajia导出数据
[oracle@shanghai ~]$ exp file=backupjiajia.dmp owner=jiajia log=backupjiajia.log
[oracle@shanghai ~]$ ls
archive_log  backupjiajia.dmp  backupjiajia.log  install  rmanbackup
12、在没导入到 tianyu时,查看发现无法找到jiajia建立的表studytable
[oracle@shanghai ~]$ sqlplus
SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 8月 10 20:36:22 2009
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL> select * from studytable;
select * from studytable
             *
ERROR at line 1:
ORA-00942: table or view does not exist
SQL>
13、使用imp命令将数据从jiajia那边导入到tianyu这边,成功
[oracle@shanghai ~]$ imp file=backupjiajia.dmp fromuser=jiajia touser=tianyu log=backuptianyu.log ignore=y
Import: Release 9.2.0.4.0 - Production on 星期一 8月 10 20:33:27 2009
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
 Export file created by EXPORT:V09.02.00 via conventional path
 Warning: the objects were exported by JIAJIA, not by you
 
import done in ZHS16GBK character set and UTF8 NCHAR character set
. . importing table                   "STUDYTABLE"          4 rows imported
Import terminated successfully without warnings.
14、再来使用tianyu连接数据库查看,发现能查看到studytable表的内容
[oracle@shanghai ~]$ sqlplus
 
SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 8月 10 20:38:07 2009
 
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
 
 
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
 
SQL> select * from studytable;
 
XH         XM                 NL XB
---------- ---------- ---------- ----
1001       aaaa               20 男
1002       bbbb               21 女
1003       cccc               22 男
1004       dddd               24 女
 
SQL>
最关键的两条语句: revoke unlimited tablespace from tianyu;
                                    alter user tianyu default tablespace tianyu quota unlimited on tianyu;
                              一般这两句会配合使用,第一句是撤销tianyu表空间无限配额的权限,让所有的用户都不能无限制的使用tianyu                             表空间的配额,第二句是只让tianyu这个用户使用tianyu表空间的无限配额
阅读(498) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~