oracle创建用户空间、导出、导入dmp备份文件方法

导入数据需要注意的事项

1、创建一个用户对应一个表空间。

2、创建的用户和表空间一定要与bmp文件的用户和表空间一致。

3、导入的命令是在CMD下输入的 不是在SQL plus输入的。

4、可以用PLSQL 导入dmp文件。

Windows创建用户空间
首先看看当前的数据库文件一般都是放在哪里的:
1、打开Oracle-OraDb11g_home1下SQL plus 输入用户名  密码登录到Oracle(密码输入不显示)


2、SQL> select name from v$datafile;  创建表空间的路径为左边代码查询到的DBF文件所在路径。

 

3、创建表空间

create tablespace test(表空间的名字) 
datafile 'D:\oracle\product\10.2.0\userdata\test.dbf'  (这边可以写成oracle的某个路径下)
size 50m  (初始大小)
autoextend on;(自动扩展)

4、接下来,我们可以创建一个自己的用户,创建格式如下:

CREATE USER utest (用户名) 
IDENTIFIED BY upassword(密码)
DEFAULT TABLESPACE test(上面创建的表空间) 
TEMPORARY TABLESPACE temp;(临时表空间就写temp即可)

5、然后,我们需要给自己的用户赋予权限来管理自己的表空间

GRANT CONNECT TO utest;  
GRANT RESOURCE TO utest;  
GRANT dba TO utest;--dba为最高级权限,可以创建数据库,表等。

6、接下来我们就可以将我们的dmp文件导入到我们自己的表空间中了,导入方式

以下命令在CMD下输入!

以下命令在CMD下输入!

以下命令在CMD下输入!

imp usename/password@SID full=y  file= d:\data\xxxx.dmp ignore=y

导入实例

imp utest/upassword@orcl  file=D:\20140227.dmp full=y ignore=y (将文件导入到我们自己新建的用户的表空间中)  注意:这条语句的执行环境是刚进命令台时的环境。

7、使用PLSQL导入数据

①登录PLSQL→工具→导入表

②这里的缓冲区设置的大一点防止界面一闪而过!

③从用户 和到用户要一致! (上面创建的用户可以在这选择)

④可执行文件的路径D:\app\acer\product\11.2.0\dbhome_1\BIN\imp.exe(路径可能不一样!)

⑤导入文件就是需要导入的.dmp文件(要和上面选择的用户一致,即用户对应表空间 表空间对应要导入的.dmp文件)!

⑥点击导入之后会在PL/SQL Developer后面出现一个日志选项 可以查看是否导入成功!

 

 

数据导出:

注意:以下横线内代码未测试

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 exp 用户名/密码@网络服务名 file=xxx.dmp tables=(表名);

 

eg:

 exp user/123456@10.83.200.171 file=d:\dbbackup\file1221_zwy.dmp log=d:\dbbackup\file1221_zwy.log

 

 exp user/"""123@456"""@10.83.200.171 file=d:\dbbackup\file1221_zwy.dmp log=d:\dbbackup\file1221_zwy.log

注:数据库密码中含有@字符时,用"""区分。

 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
   exp rmdb/rmdb123@hz_rmdb file=d:\daochu.dmp full=y
 2 将数据库中system用户与sys用户的表导出
   exp rmdb/rmdb123@hz_rmdb file=d:\daochu.dmp owner=(system,sys)
 3 将数据库中的表table1 、table2导出
   exp rmdb/rmdb123@hz_rmdb file=d:\daochu.dmp tables=(table1,table2) 
 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
   exp rmdb/rmdb123@hz_rmdb file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
  
     上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
  不过在上面命令后面 加上 compress=y  就可以了 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

posted @ 2018-09-30 16:07  wys`  阅读(473)  评论(0编辑  收藏  举报