首页数据库oracle查看数据库状态,怎么在CMD中输入命令,查看数据库oracle是否连接好

oracle查看数据库状态,怎么在CMD中输入命令,查看数据库oracle是否连接好

编程之家2023-10-1978次浏览

其实oracle查看数据库状态的问题并不复杂,但是又很多的朋友都不太了解怎么在CMD中输入命令,查看数据库oracle是否连接好,因此呢,今天小编就来为大家分享oracle查看数据库状态的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

oracle查看数据库状态,怎么在CMD中输入命令,查看数据库oracle是否连接好

有谁知道怎么查看oracle数据库是否已启动么

Oracle数据库实例启动时,分成nomount、mount和open的三个阶段。

1.nomout阶段,该阶段启动的前提是有参数文件,若没有参数文件,系统无法启动,在该过程中,系统分配内存、开启后台进程,同时更新alter日志文件。

实例nomount之前的状态:

--无实例进程

[oracle@secdb1 admin]$ echo$ORACLE_SID

PROD

oracle查看数据库状态,怎么在CMD中输入命令,查看数据库oracle是否连接好

[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

oracle查看数据库状态,怎么在CMD中输入命令,查看数据库oracle是否连接好

-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数据库是否正常

在实际的工作中,数据库管理员(DBA)需要经常要定时对数据库的连接情况进行检查,查看与数据库建立的会话数目是不是正常,假如建立了过多的连接,会消耗许多数据库的资源。与此同时,针对一些“挂死”的连接,可能会需要DBA自行手工进行清理。

下面的SQL语句列出当前数据库建立的会话情况:

select

sid,serial#,username,program,machine,status

from

v$session;

输出的结果:

SID

SERIAL#

USERNAME

PROGRAM

MACHINE

STATUS

----

-------

----------

-----------

---------------

--------

1

1

ORACLE.EXE

WORK3

ACTIVE

2

1

ORACLE.EXE

WORK3

ACTIVE

3

1

ORACLE.EXE

WORK3

ACTIVE

4

1

ORACLE.EXE

WORK3

ACTIVE

5

3

ORACLE.EXE

WORK3

ACTIVE

6

1

ORACLE.EXE

WORK3

ACTIVE

7

1

ORACLE.EXE

WORK3

ACTIVE

8

27

SYS

SQLPLUS.EXE

WORKGROUP\WORK3

ACTIVE

11

5

DBSNMP

dbsnmp.exe

WORKGROUP\WORK3

INACTIVE

其中SID

会话(session)的ID号;

SERIAL#

会话的序列号,和SID一起用来唯一标识一个会话;

USERNAME

建立该会话的用户名;

STATUS

当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;

假如要手工断开某个会话,则执行:

alter

system

kill

session

'SID,SERIAL#';注意:在上面的示例中,SID为1到7(USERNAME列为空)的会话,它是Oracle数据库的后台进程,请大家不要对这些会话进行任何操作。

怎么在CMD中输入命令,查看数据库oracle是否连接好

1、windows+R,输入CMD点击确定。

2、进入CMD页面。

3、进入CMD页面后,输入“sqlplus”后,按下回车键。

4、这时就进入了Oracle登录的身份验证环节。

5、用户名输入Oracle DBA(超级管理员)的用户名:sys。然后输入口令:123 as sysdba

(注:123为密码。密码可随意输入,不输也可,所以忘记密码也没关系;as sysdba表示以sysdba的角色登录,必须要输入)。

6、这样,就以SYSDBA的身份成功登入Oracle查看数据库了。

OK,关于oracle查看数据库状态和怎么在CMD中输入命令,查看数据库oracle是否连接好的内容到此结束了,希望对大家有所帮助。

在数据库中存储的是(在数据库中存储的是什么)不关机的云主机?云主机电脑如何关闭关机清除功能