ORACLE误删数据文件导致ORA
自从学ORACLE以来就从来没有发生过什么故障,比较幸运。其实也不能算幸运,因为这样就少了锻炼的机会了,呵呵,怎么觉得自己有点求虐的倾向……
即便是在学习backup and recovery basics的时候,也只是做做备份的实验,没做过恢复,因为身边没有人指导,也没其他同学在学ORACLE,所以怕一出问题肯定很麻烦,解决不了就得重装,卸载有时候还卸不干净,总之就是麻烦……
好了,不多说了,今天早上一开机就发现个错误,下面简单描述一下,就当做是第一次解决故障吧。
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\Admin>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Nov 13 09:18:43 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn scott/tiger
ERROR:
ORA-01033: ORACLE 姝e湪鍒濆鍖栨垨鍏抽棴
上网查了下
ora-01033: oracle initialization or shutdown in progress
官方针对ORA-01033的解释基本上是让用户等待一段时间后再次登陆,基于这种判断在于ORA-01033的本质是由于未完全加载而导致的进程忙碌所造成的,这种情况的合理解释确实可以是让用户等待到加载完毕。但是对于此种文件损坏的不可逆的操作,也就代表着永远不可能等到加载完毕的那一刻,因此,用等待并不一定能解决。
既然提示说是初始化或关闭还在进行中,我就关闭数据库,再一步步打开看报什么错。
SQL> conn / as sysdba
Connected.
SQL> show user
USER is "SYS"
SQL> select * from dual;
ADDR INDX INST_ID D
-------- ---------- ---------- -
0366CD54 0 1 X --这里可以看出DUAL表中内容不正常了
SQL> shutdown normal;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 176160768 bytes
Fixed Size &nbs
相关文档:
pl/sql 提供了强大而灵活的手段来捕捉和处理程序产生的异常,从而使 oracle 的用户远离一些令人烦恼的 bug 。
pl/sql 异常处理的概念和术语
在 oracle 中所有的错误都被认为是不应该发生的异常。一个异常可能是以下 3 种情况的一种:
u 由系统产生的错误(& ......
As you may know, Oracle dropped support for Borland Compilers in OCI
some time back. Well, it isn't all that hard to set up again.
I'm running 9i Release 2 Enterprise Edition on this PC at work and I am
using Borland C++ Builder 6 to 'play' with OCI programming - I intend to
build a set of compo ......
先来看看官方文档中对这个参数的解释
CURSOR_SHARING
PropertyDescription
Parameter type
String
Syntax
CURSOR_SHARING = { SIMILAR | EXACT | FORCE }
Default value
EXACT
Modifiable
ALTER SESSION, ALTER SYSTEM
Basic
No
CURSOR_SHARING determines what kind of SQL statements can share the same cu ......
在Oracle数据库中''与NULL是等价的。均表示空值,而不是类似其他数据库上''表示空串,NULL表示空值。
ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:
1、主键字段(primary key),
2、定义时已经加了NOT NULL限制条件的字段
说明:
1、NULL等价于没有任何值、是未知数。
2、NULL与 ......
在某些场合下,存储过程或触发器里的SQL语句需要动态生成。Oracle的DBMS_SQL包可以用来执行动态SQL语句。本文通过一个简单的例子来展示如何利用DBMS_SQL包执行动态SQL语句:
DECLARE
v_cursor NUMBER;
v_stat NUMBER;
& ......