导入数据需要注意的事项
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=(表名);
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 就可以了
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
来源:https://www.cnblogs.com/wys000/p/9732187.html