正文
如何看启动oracle 如何看启动盘是哪个
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
如何查看Oracle的启动状态
要检查 Oracle DB 是否启动与运作,可以照下列程序检查,若能够通过检查,就表示Oracle正常运作。
这个程序在HP-UX 11.11 Oracle 9.2 上测试过
1. Check Oracle process
检查作业系统是否有Oracle的process,而且对应的DB SID出现于结果中,表示该Oracle instance应该是执行中。例如主机内现有两个Oracle instance执行中,其中一个SID一个是ADEV,另一个DB的SID为ATEST,检查结果就会看到两个对应的process存在。
Example:
# ps -ef | grep dbw
oracle 2401 1 0 Oct 19 ? 2:31 ora_dbw0_ADEV
oracle 2464 1 0 Oct 19 ? 2:38 ora_dbw0_ATEST
2. Check OPEN_MODE of Oracle instance
切换使用者帐号为oracle,指定instance并使用sqlplus登入Oracle,查询该instance的OPEN_MODE,应出现READ WRITE的字眼(除非有特殊需求,通常Oracle是起在READ WRITE模式的,这样才能正常读写啰~ )。
Example:
# su - oracle
# export ORACLE_SID=ADEV
# sqlplus "/as sysdba"
SQL desc v$database
SQL select name from v$database;
SQL select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
3. Check STATUS of Oracle instance
切换使用者帐号为 oracle,指定instance并使用sqlplus登入Oracle,查询该instance的STATUS,应出现OPEN的字眼,若出现其他字眼,则Oracle可能没有正常启动。
Example:
# su - oracle
# export ORACLE_SID=ADEV
# sqlplus "/as sysdba"
SQL desc v$instance;
SQL select status from v$instance;
STATUS
------------
OPEN
4. Check LISTENER
4.1 检查作业系统中 LISTENER 的process是否已经启动。
Oracle instance共用LISTENER的状况,通常会将LISTENER直接取名为LISTNER,可以看到如下的process。
Example:
# ps -ef | grep lsnr
oracle 21327 1 3 00:42:33 ? 4:34 /oracle/product/9.2/bin/tnslsnr LISTENER -inherit
OR
Oracle instance各自独立使用LISTENER的状况,通常LISTENER名称会跟SID相关连,以方便辨识。
Example:
# ps -ef | grep lsnr
oracle 1609 1 0 Sep 12 ? 15:54 /oracle/product/9.2/bin/tnslsnr LISTENER_ADEV -inherit
oracle 27399 1 0 Oct 12 ? 8:45 /oracle/product/9.2/bin/tnslsnr LISTENER_ATEST -inherit
4.2 检查LISTENER的设定值
Oracle instance共用LISTENER的状况,通常会将LISTENER直接取名为LISTNER,在设定档中会把两个instance的设定包在一起。
Example:
# cat /oracle/product/9.2/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = ADEV))
(ADDRESS = (PROTOCOL = IPC)(KEY = ATEST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = test01)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ADEV)
(ORACLE_HOME = /oracle/product/9.2)
(SID_NAME = ADEV)
)
(SID_DESC =
(GLOBAL_DBNAME = ATEST)
(ORACLE_HOME = /oracle/product/9.2)
(SID_NAME = ATLTEST)
)
)
OR
Oracle instance各自独立使用LISTENER的状况,LISTENER设定档中就会将两个LISTENER分开,以方便辨识。
Example:
# cat /oracle/product/9.2/network/admin/listener.ora
LISTENER_ADEV =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = test01)(PORT = 1521))
)
)
)
SID_LIST_LISTENER_ADEV =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ADEV)
(ORACLE_HOME = /oracle/product/9.2)
(SID_NAME = ADEV)
)
)
LISTENER_ATEST =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = test01)(PORT = 1522))
)
)
)
SID_LIST_LISTENER_ATEST =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ATEST)
(ORACLE_HOME = /oracle/product/9.2)
(SID_NAME = ATEST)
)
)
5. Use tnsping
使用Oracle提供的tnsping工具,可以检查DB的连线状况,如果最后显示OK,并显示极短的时间,如OK( 0 msec ),表示应该没问题可以连接~
Example:
# su - oracle
# tnsping ADEV
TNS Ping Utility for HPUX: Version 9.2.0.0.0 - Production on 02-NOV-2010 09:54:11
Copyright (c) 1997 Oracle Corporation. All rights reserved.
Used parameter files:
/oracle/product/9.2/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS =
(PROTOCOL = IPC)(KEY = ADEV))) (CONNECT_DATA = (SID = ADEV)
(PRESENTATION = RO)))
OK (0 msec)
6. 检查log
怎么检查oracle数据库服务有没有启动?
Oracle数据库实例启动时,分成nomount、mount和open的三个阶段,下面的实例分析来展示不同阶段时,系统到底做了哪些工作
1、nomout阶段,该阶段启动的前提是有参数文件,若没有参数文件,系统无法启动,在该过程中,系统分配内存、开启后台进程,同时更新alter日志文件
实例nomount之前的状态:
--无实例进程
[oracle@secdb1 admin]$ echo $ORACLE_SID
PROD
[oracle@secdb1 admin]$ ps -ef|grep PROD
oracle 14890 6310 0 21:12 pts/1 00:00:00 grep PROD
--alter日志信息
[oracle@secdb1 bdump]$ ls -lrt
total 48
-rw-r----- 1 oracle oinstall 1113 Mar 4 23:15 prod_lgwr_7319.trc
-rw-r----- 1 oracle oinstall 779 Mar 5 19:42 prod_mmnl_7329.trc
-rw-r--r-- 1 oracle oinstall 40910 Mar 5 21:08 alert_PROD.log
此时启动实例到nomount状态
[oracle@secdb1 admin]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Mar 5 21:15:50 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL startup nomount
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 100664720 bytes
Database Buffers 209715200 bytes
Redo Buffers 2973696 bytes
SQL
此时查看进程和日志信息
[oracle@secdb1 bdump]$ ls -lrt
total 52
-rw-r----- 1 oracle oinstall 1113 Mar 4 23:15 prod_lgwr_7319.trc
-rw-r----- 1 oracle oinstall 779 Mar 5 19:42 prod_mmnl_7329.trc
-rw-r--r-- 1 oracle oinstall 42513 Mar 5 21:15 alert_PROD.log ----------------日志文件已经更新
[oracle@secdb1 bdump]$ ps -ef|grep PROD ----------------------------系统中出现后台进程
oracle 14946 1 0 21:15 ? 00:00:00 ora_pmon_PROD
oracle 14948 1 0 21:15 ? 00:00:00 ora_psp0_PROD
oracle 14950 1 0 21:15 ? 00:00:00 ora_mman_PROD
oracle 14952 1 0 21:15 ? 00:00:00 ora_dbw0_PROD
oracle 14954 1 0 21:15 ? 00:00:00 ora_lgwr_PROD
oracle 14956 1 0 21:15 ? 00:00:00 ora_ckpt_PROD
oracle 14958 1 0 21:15 ? 00:00:00 ora_smon_PROD
oracle 14960 1 0 21:15 ? 00:00:00 ora_reco_PROD
oracle 14962 1 0 21:15 ? 00:00:00 ora_mmon_PROD
oracle 14964 1 0 21:15 ? 00:00:00 ora_mmnl_PROD
oracle 14965 14942 0 21:15 ? 00:00:00 oraclePROD (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 14988 5989 0 21:17 pts/3 00:00:00 grep PROD
如果在$ORACLE_HOME/dbs目录下无参数文件,启动实例是现象如下:
[oracle@secdb1 dbs]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Mar 5 21:21:19 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL startup nomount
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/dbs/initPROD.ora'
SQL quit
参数寻找的优先级 spfileSID.ora----initSID.ora
在该阶段,可以进行数据库的创建、控制文件的创建
2、mount,在该阶段,启动条件是需要有控制文件,如果控制文件丢失或者损坏,启动将会报错。此时系统会打开控制文件、检查数据文件、日志文件的名称和位置,
但此时不检查文件到底是否存在不存在
mount之前:
SQL select * from v$controlfile;
no rows selected
SQL select * from v$datafile;
select * from v$datafile
*
ERROR at line 1:
ORA-01507: database not mounted
mount之后
SQL alter database mount;
Database altered.
SQL select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/PROD/disk1/control01.ctl
/u01/app/oracle/oradata/PROD/disk2/control02.ctl
SQL select file#,name from v$datafile;
FILE# name
--------------------------------------------------------------------------------
1 /u01/app/oracle/oradata/PROD/disk1/system01.dbf
2 /u01/app/oracle/oradata/PROD/disk1/undotbs01.dbf
3 /u01/app/oracle/oradata/PROD/disk1/sysaux01.dbf
在该阶段,可以进行数据库的完全恢复、修改数据库的归档模式、移动和重命令数据文件
SQL archive log list ---查看数据库归档模式
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/app/oracle/product/10.2.0/db_1/dbs/arch
Oldest online log sequence 3
Current log sequence 5
SQL alter database archivelog; ---修改成归档模式
SQL alter database noarchivelog;---修改成非归档模式
如果控制文件丢失,系统报错,现象如下:
SQL startup mount
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 100664720 bytes
Database Buffers 209715200 bytes
Redo Buffers 2973696 bytes
ORA-00205: error in identifying control file, check alert log for more info
3、open阶段,该阶段主要是打开数据文件、日志文件,在打开的过程中对数据文件和日志文件进行一致性检查,如果不一致,则SMON进程继续实例恢复,如果文件丢失,打开失败。
SQL alter database open;
Database altered.
--如何数据文件丢下,打开失败
SQL startup mount;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 79693200 bytes
Database Buffers 230686720 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL alter database open;
alter database open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '/u01/app/oracle/oradata/PROD/disk1/system01.dbf'
4、小结
启动时分成三个步骤,1、nomount阶段,该阶段是实例启动,根据参数文件进行系统分配内存,启动后台进程。mount阶段,根据控制文件来进行数据文件和日志文件的名称和位置检查,把实例和数据库连接起来。open阶段,就是数据库打开阶段,打开是就需要检查文件是否正常,有没有发生文件丢失或者不一致的情况,丢失则报错,不一致则进行实例恢复。
怎么查看oracle数据库是否已启动
linux下可以用ipcs查看如何看启动oracle,windows下可以查看服务如何看启动oracle,也可以进到数据库里面看数据库当前状态 select status from v$instance如何看启动oracle,如果status = open 就说明oracle服务正常。
oracle数据库文件结构如何看启动oracle:
1、控制文件如何看启动oracle:存储实例、数据文件及日志文件等信息的二进制文件。alter system set control_files=“路径”。V$CONTROLFILE。
2、数据文件:存储数据,以.dbf做后缀。一句话:一个表空间对多个数据文件,一个数据文件只对一个表空间。dba_data_files/v$datafile。
3、日志文件:即Redo Log Files和Archivelog Files。记录数据库修改信息。ALTER SYSTEM SWITCH LOGFILE; 。V$LOG。
4、参数文件:记录基本参数。spfile和pfile。
5、警告文件:show parameter background_dump_dest=使用共享服务器连接
6、跟踪文件:show parameter user_dump_dest=使用专用服务器连接
如何查看oracle数据库是否启动
select
status
from
v$instance;
如果报错不能执行(用dba用户,或者有查看$视图权限如何看启动oracle的用户),那么就是没启动。
如果结果为nomount,那么就是仅仅搭载了初始文件,分配了内存,但是还没有加载控制文件。
mount就是加载了控制文件。
open就是完全启动了。
除了open意外,其如何看启动oracle他状态都不算完全启动数据库。
关于如何看启动oracle和如何看启动盘是哪个的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。