错误案例一:中断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: 未初始化服务句柄