oracle数据库的导入导出(imp/exp)
在实际开发中,经常需要从正式环境导出数据库并导入到测试环境,常用的导入导出命令是imp/exp命令工具,在导入数据库之前一般需要创建表空间和用户并授权,具体见oracle创建数据库、表空间、用户并授权
1、导出数据库
数据的导出命令:
exp username/password@sid file='d:\data.dmp' log=d:\loglg.log
username/password:用户登录身份,sid:sid: 如果数据库在本机,用实例名orcl,在远程用网络服务名(oracle 网络配置工具配置的别名或直接输入ip:1521/orcl), file: 导出数据库文件,log:日志文件
1.1、导出登录用户下的所有表
exp soctt/tiger@orcl file=d:\data.dmp log=d:\loglg.log
1.2、导出user1、scott用户下所有的表(注意必须是dba身份登录)
exp system/admin@orcl file=d:\data.dmp log=d:\loglg.log owner=(user1,scott)
1.3、导出user1用户下的test表和scott下的emp表(注意必须是dba身份登录)
exp system/admin@orcl file=d:\data.dmp log=d:\loglg.log tables=(user1.test,scott.emp)
1.4、导出登录用户下的某个表
exp soctt/tiger@orcl file=d:\data.dmp log=d:\loglg.log tables=(emp)
需要打包在命令后直接加compress=y即可
1.5、导出部分数据
exp test/test@tnsname file=t.dmp tables=(emp,emp1) query="'where rownum<=100'"
2、导入数据库
数据的导入命令:
imp userid=username1/pwd1@sid fromuser=username2 touser=username3 file=c:\data.dmp log=c:\logimp.log
username1:用户名
pwd1:密码
sid: 如果数据库在本机,用实例名orcl,在远程用网络服务名(oracle 网络配置工具配置的别名或直接输入ip:1521/orcl)
username2:data.dmp中的用户名
username3:需要导入的用户名
file :输入你要导入文件名和路径。
log:日志文件名和路径
2.1、将整个文件c\:data.dmp导入
imp user1/password@orcl file=c\:data.dmp log=d:\loglg.log full=y
2.2、 将d:\orcldb.dmp 中的数据导入数据库中。
imp system/manager@orcl file=d:\orcldb.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错。在后面加上 ignore=y 就可以了。
2.3、 将d:\data.dmp中的表table1 导入
imp user/password@orcl file=d:\data.dmp tables=(table1)
下面这句是执行将c盘的orcl的备份的用户user1导入到用户user1的数据库
imp user1/password@orcl file='c\:data.dmp' ignore=n grants=y full=y