如何查看Oracle的启动状态要检查 Oracle DB 是否启动与运作,可以照下列程序检查,若能够通过检查,就表示Oracle正常运作 。
这个程序在HP-UX 11.11Oracle 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 = https://www.04ip.com/post/(SID = ADEV)
(PRESENTATION = RO)))
OK (0 msec)
6. 检查log
怎么查看oracle的服务启动了一怎么看启动oracle:打开服务
启动OracleOraDb10g_home1TNSListener服务
或者
二怎么看启动oracle:进入命令行
输入怎么看启动oracle:lsnrctl start 即可启动
lsnrctl stop停止服务
lsnrctl status查看状态
linux 下的oracle怎么启动1、首先打开命令行窗口 , 切换到su - oracle,启动数据库监听 。
2、打开sqlplus 。
3、用sys账户以sysdba的身份登录 。
4、输入sys用户的密码,然后按下enter 。
5、登录成功后,输入startup 。
6、稍等片刻,可以看到数据库实例已经运行了 。
如何查看oracle数据库是否启动select
status
from
v$instance;
如果报错不能执行(用dba用户 , 或者有查看$视图权限的用户),那么就是没启动 。
如果结果为nomount,那么就是仅仅搭载了初始文件,分配了内存,但是还没有加载控制文件 。
mount就是加载了控制文件 。
open就是完全启动了 。
除了open意外,其他状态都不算完全启动数据库 。
怎么检查oracle数据库服务有没有启动?Oracle数据库实例启动时怎么看启动oracle,分成nomount、mount和open怎么看启动oracle的三个阶段怎么看启动oracle,下面的实例分析来展示不同阶段时 , 系统到底做怎么看启动oracle了哪些工作
1、nomout阶段,该阶段启动的前提是有参数文件,若没有参数文件,系统无法启动 , 在该过程中,系统分配内存、开启后台进程,同时更新alter日志文件
实例nomount之前的状态:
--无实例进程
[oracle@secdb1 admin]$ echo $ORACLE_SID
PROD
[oracle@secdb1 admin]$ ps -ef|grep PROD
oracle1489063100 21:12 pts/100:00:00 grep PROD
--alter日志信息
[oracle@secdb1 bdump]$ ls -lrt
total 48
-rw-r----- 1 oracle oinstall1113 Mar4 23:15 prod_lgwr_7319.trc
-rw-r----- 1 oracle oinstall779 Mar5 19:42 prod_mmnl_7329.trc
-rw-r--r-- 1 oracle oinstall 40910 Mar5 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 Area314572800 bytes
Fixed Size1219184 bytes
Variable Size100664720 bytes
Database Buffers209715200 bytes
Redo Buffers2973696 bytes
SQL
此时查看进程和日志信息
[oracle@secdb1 bdump]$ ls -lrt
total 52
-rw-r----- 1 oracle oinstall1113 Mar4 23:15 prod_lgwr_7319.trc
-rw-r----- 1 oracle oinstall779 Mar5 19:42 prod_mmnl_7329.trc
-rw-r--r-- 1 oracle oinstall 42513 Mar5 21:15 alert_PROD.log----------------日志文件已经更新
[oracle@secdb1 bdump]$ ps -ef|grep PROD----------------------------系统中出现后台进程
oracle1494610 21:15 ?00:00:00 ora_pmon_PROD
oracle1494810 21:15 ?00:00:00 ora_psp0_PROD
oracle1495010 21:15 ?00:00:00 ora_mman_PROD
oracle1495210 21:15 ?00:00:00 ora_dbw0_PROD
oracle1495410 21:15 ?00:00:00 ora_lgwr_PROD
oracle1495610 21:15 ?00:00:00 ora_ckpt_PROD
oracle1495810 21:15 ?00:00:00 ora_smon_PROD
oracle1496010 21:15 ?00:00:00 ora_reco_PROD
oracle1496210 21:15 ?00:00:00 ora_mmon_PROD
oracle1496410 21:15 ?00:00:00 ora_mmnl_PROD
oracle14965 149420 21:15 ?00:00:00 oraclePROD (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle1498859890 21:17 pts/300: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
在该阶段 , 可以进行数据库的完全恢复、修改数据库的归档模式、移动和重命令数据文件
【怎么看启动oracle 怎么看启动项】SQL archive log list---查看数据库归档模式
Database log modeNo Archive Mode
Automatic archivalDisabled
Archive destination/u01/app/oracle/product/10.2.0/db_1/dbs/arch
Oldest online log sequence3
Current log sequence5
SQL alter database archivelog; ---修改成归档模式
SQL alter database noarchivelog;---修改成非归档模式
如果控制文件丢失,系统报错,现象如下:
SQL startup mount
ORACLE instance started.
Total System Global Area314572800 bytes
Fixed Size1219184 bytes
Variable Size100664720 bytes
Database Buffers209715200 bytes
Redo Buffers2973696 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 Area314572800 bytes
Fixed Size1219184 bytes
Variable Size79693200 bytes
Database Buffers230686720 bytes
Redo Buffers2973696 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查看 , windows下可以查看服务,也可以进到数据库里面看数据库当前状态 select status from v$instance,如果status = open 就说明oracle服务正常 。
oracle数据库文件结构:
1、控制文件:存储实例、数据文件及日志文件等信息的二进制文件 。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的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于怎么看启动项、怎么看启动oracle的信息别忘了在本站进行查找喔 。
推荐阅读
- 腾达路由器怎么设置无线网络,腾达路由器怎么设置无线网络好用
- c语言降序排序程序6,c语言降序排序代码
- 射击游戏最难的枪排名,射击比赛最难的一项
- 钉钉直播背景怎么设置图片,钉钉直播背景怎么设置图片和文字
- oracle装好后怎么用 安装完oracle后怎么创建数据库
- 家里没有酒精怎么清理手机,没有酒精怎么清洗手机充电的地方
- 怎么发牌java代码,java实现扑克牌游戏
- 求级数的和函数C语言 c语言求级数公式
- 联想官网怎么更新显卡驱动,联想怎么更新显卡驱动win10