Oracle存储过程及TABLE表用PL/SQL备份还原
【赛迪网-IT技术报道】Oracle存储过程及TABLE表用PL/SQL备份还原
1. 备份
PL/SQL---->TOOL----->Export user objects,然后选中要备份的存储过程,右击Save Object Selection( 这一步可以省略,但是如果你有很多的存储过程,而且需要分成不同的模块时,那么下次你再备份时,可以直接右击选择Load Object Selection,就可以把上次选中的一些存储过程都选中了)。然后选择下面的Output File的路径,点击Export按钮完成备份。
表的数据备份:PL/SQL----->TOOLS--------->Export Tables,选中要导出的表,勾选Delete records,然后在where clause里填上条件。如果是部份导出,要改导出文件里的delete from table1 ;为delete from table1 where id like 'WECO%';
2. 还原
如果存储过程很多的话,可以做一个BAT文件,这样每次就可以运行它,产生一个SQL文件,直接在PLUS SQL里运行这个产生的SQL文件即可。BAT文件可参考下面的格式:
echo generate batch sql script
echo @%cd%\Package\IV\PKGIVHEAD.sql; >>%cd%\BatchSQL.sql
echo @%cd%\Package\IV\PKGIVBODY.sql; >>%cd%\BatchSQL.sql
echo @%cd%\Package\IN\PKGINHEAD.sql; >>%cd%\BatchSQL.sql
echo @%cd%\Package\IN\PKGINBODY.sql; >>%cd%\BatchSQL.sql
上面左边的路径是你备份时导出SQL的路径,只要这个BAT文件和Package文件夹在同一级目录里就行。每次还原时就可以先运行这个BAT文件,然后它会产生一个BatchSQL.sql文件。然后找开PLUS SQL,输入: @ c:\...\BatchSQL.sql 就可完成还原。(注意:用PLUS SQL还原时,SQL语句里面不能有&符号,否则会出错,可以用AND 代替它。)