怎么检查oracle数据库服务有没有启动?
发布网友
发布时间:2022-04-20 03:00
我来回答
共3个回答
热心网友
时间:2022-04-07 18:30
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 bmp]$ 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 - Proction 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 bmp]$ 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 bmp]$ 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 - Proction 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/proct/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/proct/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阶段,就是数据库打开阶段,打开是就需要检查文件是否正常,有没有发生文件丢失或者不一致的情况,丢失则报错,不一致则进行实例恢复。
热心网友
时间:2022-04-07 19:48
检查数据库是否启动,linux下可以用ipcs查看,windows下可以查看服务、也可以进到数据库里面看数据库当前状态 select status from v$instance;如果status = open 就说明oracle服务正常。
查看监听,执行lsnrctl status,就可以看监听所对应的实例。
是否有scott用户,可以查看dba_users这个表的用户状态。
服务启动后 使用 shutdown immediate关闭服务
热心网友
时间:2022-04-07 21:23
不管是windows还是linxu下你能用数据库的用户(比如说sys,system用户)通过命令或者工具连上数据库并且执行查询之类的操作,都是证明服务和监听正常的最可靠的办法。
oracle连接失败,请问是什么原因?
检查数据库服务是否启动:确保 Oracle 数据库服务已经启动并正常运行。检查连接信息是否正确:确认输入的数据库用户名、密码、主机名或 IP 地址、端口号等信息是否正确。检查 Oracle 客户端是否正确安装:确保已正确安装 Oracle 客户端,并配置好相应的环境变量。检查防火墙设置:确保防火墙允许 Oracle 服务的...
数据恢复服务需要注意哪些点?
要找正规专业的公司,行业口碑也比较重要。以上内容如果还觉得不够全面,也可以沟通下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库...
怎么查看oracle数据库是否已启动
linux下可以用ipcs查看,windows下可以查看服务,也可以进到数据库里面看数据库当前状态 select status from v$instance,如果status = open 就说明oracle服务正常。oracle数据库文件结构:1、控制文件:存储实例、数据文件及日志文件等信息的二进制文件。alter system set control_files=“路径”。V$CONTROLFIL...
oracle数据库启动问题
(1)查一下监听服务是否启动,如果没有启动,则运行lsnrctrl start。(2)查看一下 LISTENER.ORA内监听的服务器名、服务器IP、数据库名是否正确。(3)查看一下 TNSNAMES.ORA内服务器名、服务器IP、数据库名是否正确。(4)检查服务是否正常开启,没有启动,设置自动启动,并启动它。OracleOraHome81TNSLis...
如何查看ORACLE数据库是否正常
select status from v$instance;如果报错不能执行(用dba用户,或者有查看$视图权限的用户),那么就是没启动。如果结果为nomount,那么就是仅仅搭载了初始文件,分配了内存,但是还没有加载控制文件。mount就是加载了控制文件。open就是完全启动了。除了open意外,其他状态都不算完全启动数据库。
ora12560协议适配器错误怎么办
1、检查Oracle服务是否已启动:如果Oracle服务未启动,则无法建立与Oracle数据库的连接。可以在Windows服务列表或Linux/Unix的启动脚本中检查服务状态,并启动服务。2、检查Oracle SID是否正确:如果用户提供的SID不正确,则无法建立与Oracle数据库的连接。确保SID是正确的,并在连接字符串中使用正确的SID。3、...
Oracle数据库uniaccessAgent未启动怎么办?
UniAccessAgent是用于Oracle数据库的访问管理服务,如果UniAccessAgent未按预期启动,需手动启动服务。以下是手动启动UniAccessAgent服务的步骤:登录到运行UniAccessAgent服务的服务器上,以具有管理员权限的账户登录。打开命令提示符或终端窗口,进入UniAccessAgent安装目录下的bin目录。运行以下命令启动UniAccess...
怎么检测本机是否装了数据库oracle?
一、如果是windows操作系统,打开任务管理器->进程,如果里面有oracle.exe,证明本机已装oracle数据库,并且数据库正在运行。二、在DOS命令下输入:telnet 127.0.0.1 1521 如果未出现连接到端口失败,那就表式有oracle服务 这个方法也可以检测远端计算机是否安装oracle服务 在DOS命令下输入:set 回车 , ...
怎么查看oracle数据库是否已启动(查看oracle服务是否启动)
只有该服务启动,Oracle数据库才能正常启动。(必须启动)所以,要是只用Oracle自带的sql*plus的话,只要启动OracleServiceORCL即可,要是使用PL/SQLDeveloper等第三方工具的话,OracleOraDb11g_home1TNSListener服务也要开启。OracleDBConsoleorcl是进入基于web的EM必须开启的,其余服务很少用。
oracle安装后sqlplus/assysdba命令无法执行
2. Oracle服务未启动:在Windows系统中,Oracle数据库作为一个服务运行。如果服务没有正确启动,那么与之相关的工具如sqlplus也无法正常工作。可以通过服务管理器检查Oracle服务是否正在运行,如果没有,需要手动启动。3. 权限问题:执行sqlplus /assysdba命令需要以sysdba身份登录,这要求用户具有相应的权限。
远程备份oracle9数据库报错EXP-00056 ORA-12560?
4. 检查Oracle账号和密码是否正确:请确保使用的Oracle账号和密码是正确的,可以使用sqlplus命令测试账号和密码是否能够正确登录到数据库。5. 检查防火墙和网络连接:如果Oracle数据库和备份服务器不在同一个网络中,可能需要在防火墙中打开相关端口。此外,网络连接也可能存在问题,可以使用ping命令测试数据库和...