sqlplus prelim參數(shù)介紹
從Oracle10g開始,sqlplus提供了一個(gè)參數(shù)選項(xiàng)-prelim,用這個(gè)參數(shù),在系統(tǒng)已經(jīng)hang的時(shí)候。我們可以連接到SGA而不是數(shù)據(jù)庫(kù),也就是說(shuō)沒(méi)有session被創(chuàng)建。
一. 通過(guò)以下步驟可以獲取系統(tǒng)信息:
sqlplus -prelim / as sysdba
oradebug setmypid
oradebug unlimit;
oradebug dump systemstate 10
二. prelim參數(shù)特點(diǎn)
1. 先用普通的方式連接:
D:/>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 11月 15 15:36:02 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn sys/manage as sysdba
已連接。
SQL> exit
從 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 斷開
2. 看看加prelim參數(shù)時(shí)的情況:
D:/>sqlplus -prelim /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 11月 15 15:36:34 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn sys/manage as sysdba
初級(jí)連接已建立
SQL> exit
從 ORACLE 斷開
從上面的信息可以看到,在使用prelim連接時(shí),提示為“初級(jí)連接已建立”,退出sqlplus沒(méi)有顯示banner。
3. 也可以通過(guò)下面的方式來(lái)用prelim方式連接數(shù)據(jù)庫(kù):
[oracle@xty ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.3.0 - Production on Tue Dec 2 07:04:28 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
SQL> set _prelim on
SQL> connect / as sysdba
Prelim connection established
由于使用prelim方式連接,沒(méi)有執(zhí)行sql語(yǔ)句的,所以在數(shù)據(jù)庫(kù)的某些hang住的情況下,能夠連接上數(shù)據(jù)庫(kù)。比如由于library cache latch 被長(zhǎng)時(shí)間持有不能釋放,不能解析SQL語(yǔ)句引起的hang。有的人會(huì)說(shuō),我的應(yīng)用剛連上去還沒(méi)做任何操作就hang住了。這只是表面現(xiàn)象,連接上數(shù)據(jù)庫(kù)后,一般都會(huì)做一些初始化的操作,如設(shè)定環(huán)境之類的。
sqlplus -prelim能夠在數(shù)據(jù)庫(kù)hang住的情況下連接數(shù)據(jù)庫(kù),但只能說(shuō)是連接,并不代表能夠做很多操作。比如執(zhí)行SQL查詢。這種情況下,可能最有用的就是使用oradebug。
