首页 > 数据库 > Oracle > 动态sql无法recover
早上看pub的一个帖子说到动态sql执行恢复的一个错误,
SQL> alter database datafile 4 offline;
Database altered
SQL> declare
2 v_ab number;
3 v_sql varchar2(100);
4 begin
5 select file# into v_ab from v$recover_file;
6 v_sql:='recover datafile'||v_ab;
7 execute immediate v_sql;
8 end;
9 /
declare
*
第 1 行出现错误:
ORA-00900: 无效 SQL 语句
ORA-06512: 在 line 7
SQL> recover datafile 4;
完成介质恢复。
SQL> alter database datafile 4 online;
数据库已更改。
Oracle的动态sql可以执行ddl等操作,但是确不能执行这个recover恢复操作,应该是出于安全因素吧!
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25362835/viewspace-1056816/ ,如需转载,请注明出处,否则将追究法律责任。