导入表误导到system用户下,删除表时多删了,现在无法删除其他用户:
SQL> drop user bjnew cascade;
drop user bjnew cascade
*
ERROR 位于第 1 行:
ORA-00604: 递归 SQL 层 1 出现错误
ORA-00942: 表或视图不存在但是可以创建用户,建表。
SQL> drop user bjnew cascade;
drop user bjnew cascade
*
ERROR 位于第 1 行:
ORA-00604: 递归 SQL 层 1 出现错误
ORA-00942: 表或视图不存在但是可以创建用户,建表。
也就是说,如果system表空间的数据文件被误删除了,那么必须关闭数据库(shutdown abort),
而后在mount之后open之前对system表空间的数据文件(而不是表空间)进行物理恢复.必要的恢复文件:
.归档和联机的重做日志文件
.当前的控制文件
.system表空间数据文件的(冷或热)备份
恢复步骤:
------------------------------------------------
SQL>shutdown immediate
ORA-01122: datafile file 1 failed verification check
ORA-01110: data file 1: '/oracle/oradata/ora/system01.dbf'
ORA-01208: data file is an old version - not accessing current versionSQL> shutdown abort
ORACLE instance shut down.SQL> startup
ORACLE instance started......
.....
Database mounted.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/oracle/oradata/ora/system01.dbf'
SQL> recover datafile '/oracle/oradata/ora/system01.dbf';
Media recovery complete;SQL>alter database open;
Database altered.SQL>
archive log list也可以试试 楼上的
我起事务session跟踪出来少表,AQ$_INTERNET_AGENT_PRIVS,但是重建,系统说已经有该表,删又说没有这个表, :<少的其他表都能加上,怎么会这样哪?各位高人有知道的吗?
select owner,object_type from all_objects where object_name='AQ$_INTERNET_AGENT_PRIVS';