
数据库mount状态是加载控制文件,让度实例和数据库相关联。
nomount状态:启动实例。
Reading the initialization file from $ORACLE_HOME/dbs in the following order:
从环境变量下dbs目录按如下顺序读取初始化文件:
-first spfileSID.ora
首先,读取spfile+实例名.ora
-if not found then, spfile.ora
若未发现文件则读取spfile.ora
-if not found then, initSID.ora
若未发现文件则读取init+实例名.ora
Specifying the PFILE parameter with STARTUP overrides the default behavior.
扩展资料
后台进程是数据库和 *** 作系统进行交互的通道,后台进程的命名由ORACLE_SID决定,ORACLE根据ORACLE_SID来寻找参数文件启动实例。
是Oracle数据库为保持最佳性能和协调多用户请求而设置的,主要有DBWR(将Database Buffer Cache数据写入Data Files)、LGWR(将Redo Log Buffer数据写入Redo Log Files)、CKPT(协调数据文件、控制文件和重做日志。
将System Change Number即SCN写入到控制文件和数据文件头部,促使DBWR、LGWR执行)、SMON(System Monitor,3方面作用:instance recovery实例故障数据恢复、合并空闲碎片空间、回收临时段)、PMON(用户例程意外终止时处理事务。
如回退事务、释放锁及其他资源等)、ARCH(将Redo Log Files写入Archive Log Files)、CJQ0(job queue coordinator)、RVWR(recover writer,为flashback database提供日志记录)等进程。
Oracle,启动分三个步骤(可以分步启动):sqlplus / as sysdba nolog
sql>startup nomount -- 启动实例,不加载数据库
sql>alter database mount -- 加载数据库
sql>alter database open -- 打开数据库
数据库shutdown后startup启动时报错ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务。原因:服务器端的侦听器中已经没有了你要连接的例程了,所以你连不上啊。解决办法:
1.在服务器端的侦听器中加入静态注册实例就行,找到listenser.ora文件,打开,在SID_LIST_LISTENER中加入一个SID_DESC,如下:其中hjgis为实例名。
#listener.ora
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = F:\oracle\product\10.2.0\db_1)(PROGRAM = extproc))(SID_DESC =(SID_NAME = hjgis)(ORACLE_HOME = F:\oracle\product\10.2.0\db_1)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST = hujian)(PORT = 1521))))
2.重新加载侦听。
在服务器端,在 *** 作命令提示符下:
C:\>lsnrctl
LSNRCTL>reload
3.重新用sys用户连接数据库实例
SQL>conn sys/sys@hjgis_hujian as sysdba已连接到空闲例程。
4.启动数据库。
即可STARTUP MOUNT.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)