Oracle数据库的自动导入与导出,在许多地方有广泛的应用。例如:一个Oracle数据库应用系统开发结束后,假如要将系统安装到客户计算机上,就需要将初始数据导入到用户的Oracle数据库中。
最近项目中也需要实现以上功能,花了点时间搜索实验,整理如下:
先把要安装的初始数据文件导出为initial.dmp,然后在客户计算上安装好Oracle,接着执行批处理文件impInitialData.bat(与该批处理文件同一目录还有createuser.sql,initial.dmp两个文件)。
impInitialData.bat中内容如下:
@echo off
sqlplus system/manager @createuser
imp system/manager file=initial.dmp fromuser=initialuser
touser=initialuser ignore = y
上面的createuser是一个扩展名为sql的文件.与批处理文件放在同一目录下.其内容为:
create user initialuser identified by test;
grant dba,resource,connect to initialuser;
exit;
补充:删除用户时用:drop user powercc cascade; 其中powercc为用户名。
简要解释一下:@echo off表示其之后的命令不在命令提示符窗口显示出来。sqlplus为Oracle的一个工具程序,须先安装Oracle后才能使用。system/manager为Oracle的一个默认治理员帐户,假如被锁定或更改密码了就不能用了,可以用其它的帐户/密码来替换。@createuser表示执行createuser.sql文件。该sql文件中, create user xx identified by yy;表示创建一个密码为yy的用户xx。grant dba,resource,connect to xx;表示授权给用户xx dba,resource,connect 权限。imp为导入数据命令,后面的参数中 file表示要导入的数据库文件;fromuser表示原导出的数据库文件的用户名;touser表示要导入的数据库的用户名;ignore表示忽略错误。
大致的方法就是这样,可以再增添其它命令来执行更复杂的操作。