错误案例一:中断ORACLE数据库关闭进程

今天是第一天写博客,遇到了在适用oracle的shutdown命令时犯的错误,具体情况是这样:首先我用shutdown命令想去关闭oracle数据库实例,但是命令执行大概有40s左右不动了,我以为是电脑卡了或者是命令有问题,然后就把命令窗口给关了,然后重启命令窗口,连接到oracle,sqlplus / as sysdba ,可以连接;但是startup命令就开始报错了,

SQL*Plus: Release 11.2.0.1.0 Production on 星期五 10月 26 17:39:12 2018

Copyright (c) 1982, 2010, Oracle. All rights reserved.

已连接。
SQL> startup
ORA-01012: not logged on
SQL> shutdown
ORA-24324: 未初始化服务句柄
ORA-24323: 不允许此值
ORA-01090: shutdown in progress - connection is not permitted
SQL> shutdown immediate
ORA-24324: 未初始化服务句柄
ORA-24323: 不允许此值
ORA-01090: shutdown in progress - connection is not permitted
SQL> shutdown abort
ORA-01031: insufficient privileges

 

这个时候发现关也关不了,启动也启动不了;然后看了一下监听状态:

C:\Users\wangjun>lsnrctl status listener

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 26-10月-2018 17:43:18

Copyright (c) 1991, 2010, Oracle. All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期 26-10月-2018 13:07:24
正常运行时间 0 天 4 小时 35 分 57 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\SoftWareFiles\Oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件 d:\softwarefiles\oracle\diag\tnslsnr\LAPTOP-KAM93C7U\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LAPTOP-KAM93C7U)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个实例。
实例 "orcl", 状态 BLOCKED, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个实例。
实例 "orcl", 状态 BLOCKED, 包含此服务的 1 个处理程序...
命令执行成功

 

发现实例被锁了,然后就再把窗口关掉,重新用强制关闭命令shutdown abort关闭实例,再startup,搞定


SQL*Plus: Release 11.2.0.1.0 Production on 星期五 10月 26 17:45:44 2018

Copyright (c) 1982, 2010, Oracle. All rights reserved.

已连接。
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 3373858816 bytes
Fixed Size 2180424 bytes
Variable Size 1845496504 bytes
Database Buffers 1509949440 bytes
Redo Buffers 16232448 bytes
数据库装载完毕。

C:\Users\wangjun>lsnrctl status listener

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 26-10月-2018 17:49:52

Copyright (c) 1991, 2010, Oracle. All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期 26-10月-2018 13:07:24
正常运行时间 0 天 4 小时 42 分 32 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\SoftWareFiles\Oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件 d:\softwarefiles\oracle\diag\tnslsnr\LAPTOP-KAM93C7U\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LAPTOP-KAM93C7U)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功

 

然后查了一下,oracle的启动和关闭分别有几种参数对应不同的场景

shutdown normal--等会话结束,会有点慢

shutdown transactional--不等会话,等事物结束

shutdown immediate--不等事物结束,没完成的事务自动rollback

shutdown abort--最凶残的方式,啥都不管直接干掉,但是启动时自动恢复实例

关闭数据库时间从长到短,开启时间从短到长

startup nomount--只启动实例

startup mount--启动实例,读取控制文件,不读数据 ,备份的时候用

start open --默认是这个,启动读文件读数据

 

 

注释:

提示错误:insufficient privileges

提示错误:oracle11g lsnrctl status 提示实例 "orcl", 状态 BLOCKED

提示错误:ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接

提示错误:ORA-24324: 未初始化服务句柄

 

posted @ 2018-10-26 18:00  脑力思想者  阅读(2747)  评论(0编辑  收藏  举报