Oracle 一般情况都不会无法启动,只有发生异常时才会出现。这时候一般都有提示信息,最常见的就是某个参数找不到,或者连接池/共
Oracle 一般情况都不会无法启动,只有发生异常时才会出现。这时候一般都有提示信息,最常见的就是某个参数找不到,或者连接池/共享池设置太小等等。这个时候你可以这么做:
首先在你的$Oralce_home/admin/orcl/pfile下找到此文件init.orc.xxxxx(后面的数字是系统生成的)
然后查看里面的参数,是不是符合你现在数据库的设定。特别是那些目录的设置。如果不符合,修改为符合的情况,然后进入sqlplus
执行如下语句: create spfile from pfile='$Oralce_home/admin/orcl/pfile/init.ora.xxxx' 这样默认会在你的$ORACLE_HOME/ORADATA/ORCL下创建为orclinit.ora名的文件
或者你想自己重定义spfile 路径: create spfile='xxxx' from pfile='xxx‘;
shutdown immediate;
startup;
成功!
如果是提示无法启动闪回数据库,可先mount数据库,,然后alter system set oracle_flash_back off;
然后再alter database open; ok!
补充:设置SPFILE可以改变Oracle9i启动的搜索路径。在Oracle9i中,请遵循SPFILE搜索的这些步骤:
1. 在缺省的路径下搜索spfile$ORACLE_SID.ora文件。
2. 查找spfile.ora。
3. 以名为init$ORACLE_SID.ora搜索PFILE。
指定SCOPE参数
一旦已经有了一个SPFILE,你就可以使用ALTER SYSTEM命令来改变任一初始化参数。然而,有一个相当重要的SCOPE参数你必须理解。
SCOPE参数具有三个值:SPFILE,MEMORY,以及BOTH。现在让我们看一看每一个值的范例。
Alter system set db_2k_cache_size=100m SCOPE=SPFILE;
如果你想在SPFILE中改变一个参数而不希望影响当前的例子,可以使用ALTER SYSTEM语句中的SCOPE=SPFILE选择。这对于从下一次启动中改变启动非常有好处。
Alter system set db_2k_cache_size=100m SCOPE=MEMORY;
在以上的范例中,SCOPE=MEMORY选择告诉Oracle9i从例子中改变到下一次数据库获得的缺省值。
Alter system set db_2k_cache_size=100m SCOPE=BOTH;
当你指定SCOPE=BOTH,Oralce9i立即执行改变,并永久地使用改变,即使在下一次被数据库使用