oracle数据库启动分为nomount、mount、open 三个阶段。startup命令直接完成三个阶段,startup nomount、alter database mount、alter database open分步执行。从shutdown到nomount状态也称启动实例阶段,读取参数文件spfile sid.ora动态参数文件( init sid .ora为静态参数文件,oracle先找动态参数文件,找不到再找静态参数文件。)根据参数文件记录,分配内存、启动后台进程;到mount阶段,读取控制文件,因为参数文件里已经记录了控制文件的位置;到open阶段,读取数据文件和redo log日志文件。
[oracle@ora12c dbs]$ pwd /u01/app/oracle/product/12.2.0/db_1/dbs [oracle@ora12c dbs]$ ll total 24 -rw-rw----. 1 oracle oinstall 1544 Jun 4 13:56 hc_orcl1.dat -rw-r--r--. 1 oracle oinstall 3079 May 15 2015 init.ora -rw-r--r--. 1 oracle oinstall 930 Jun 8 2023 initorcl1.ora -rw-r-----. 1 oracle oinstall 24 Jun 8 2023 lkORCL -rw-r-----. 1 oracle oinstall 3584 Jan 26 17:15 orapworcl1 -rw-r-----. 1 oracle oinstall 2560 Jun 4 14:07 spfileorcl1.ora [oracle@ora12c dbs]$ cat initorcl1.ora orcl1.__data_transfer_cache_size=0 orcl1.__db_cache_size=268435456 orcl1.__inmemory_ext_roarea=0 orcl1.__inmemory_ext_rwarea=0 orcl1.__java_pool_size=4194304 orcl1.__large_pool_size=8388608 orcl1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment orcl1.__pga_aggregate_target=335544320 orcl1.__sga_target=499122176 orcl1.__shared_io_pool_size=12582912 orcl1.__shared_pool_size=188743680 orcl1.__streams_pool_size=0 *.audit_file_dest='/u01/app/oracle/admin/orcl/adump' *.audit_trail='db' *.compatible='12.2.0' *.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl' *.db_block_size=8192 *.db_name='orcl' *.diagnostic_dest='/u01/app/oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=orcl1XDB)' *.memory_target=793m *.nls_language='AMERICAN' *.nls_territory='AMERICA' *.open_cursors=300 *.processes=300 *.remote_login_passwordfile='EXCLUSIVE' *.undo_tablespace='UNDOTBS1'
