在开发过程中,经常需要将数据库中的数据进行备份和恢复,下面总结了一下导入数据的步骤:
spool c:\spooltest.log
...
spool off;
1.将现有数据清空,一般的做法是用现成的drop/create tables脚本重新执行一下。
2.清除所有的triiger, Disable所有的foreign key
3.用下面的语句导入数据
imp ***/***@*** file=d:\***\***.dmp full=y ignore=y
这个步骤要保证连接的用户有足够的权限,如果没有,用sys用户给该用户授权
grant create user, drop user, aler user, create any view, drop any view, exp_full_database, imp_full_database, dba, connect, resource, create session to ***
4.创建trigger, enable外键
5.如果有必要,扩大sequence的当前值
注意:如果数据库的archive log开着,最好能暂时关闭,否则会产生大量的archive log记录,并且速度影响也比较大。