sqlplus连接mysql_sqlplus连接的三种方式
sys用戶在cmd下以DBA身份登陸:
sqlplus /nolog
--運行sqlplus命令,進入sqlplus環(huán)境。其中/nolog是不登陸到數(shù)據(jù)庫服務(wù)器的意思,如果沒有/nolog參數(shù),sqlplus會提示你輸入用戶名和密碼
SQL〉connect / as sysdba
--以系統(tǒng)管理員(sysdba)身份連接數(shù)據(jù)庫,如果需要對數(shù)據(jù)庫進行管理操作,那么需要以這種方式登陸數(shù)據(jù)庫,或者:
connect?sys@service_name?as sysdba
--其中service_name是你配置的客戶tnsname服務(wù)名
SQL> startup?????????--如果數(shù)據(jù)庫沒有啟動的話,經(jīng)過上述步驟連接后,正常啟動數(shù)據(jù)
這里介紹下幾種連接用到的命令形式
1.sqlplus / as sysdba 這是典型的操作系統(tǒng)認(rèn)證,不需要listener進程
2.sqlplus sys/oracle 這種連接方式只能連接本機數(shù)據(jù)庫,同樣不需要listener進程
3.sqlplus?sys/oracle@orcl?這種方式需要listener進程處于可用狀態(tài)。最普遍的通過網(wǎng)絡(luò)連接。
以上連接方式使用sys用戶或者其他通過密碼文件驗證的用戶都不需要數(shù)據(jù)庫處于可用狀態(tài),操作系統(tǒng)認(rèn)證也不需要數(shù)據(jù)庫可用,普通用戶因為是數(shù)據(jù)庫認(rèn)證,所以數(shù)據(jù)庫必需處于open狀態(tài)。
平時排錯可能會用到的
1.lsnrctl status查看服務(wù)器端listener進程的狀態(tài)
2.tnsping 查看客戶端sqlnet.ora和tnsname.ora文件的配置正確與否,及對應(yīng)的服務(wù)器的listener進程的狀態(tài)。
3.SQL>show sga 查看instance是否已經(jīng)啟動
如果在sql*plus環(huán)境中使用shutdown命令關(guān)閉了數(shù)據(jù)庫,現(xiàn)在要啟動數(shù)據(jù)庫的話,必須先用不登陸到數(shù)據(jù)庫服務(wù)器的方式進入sqlplus環(huán)境,再用startup命令啟動數(shù)據(jù)庫。因為數(shù)據(jù)庫沒有啟動的話,不能登陸數(shù)據(jù)庫,也無法驗證用戶名和密碼。
sqlplus命令格式如下:
用法: SQLPLUS [ [] [] [] ]
其中 ::= -H | -V | [ [-M ] [-R ] [-S] ]
??::=?[/][@] | / |?/NOLOG
??: : = @[.] [ ...]
"-H" 顯示 SQL*Plus 的版本標(biāo)幟和使用語法
"-V" 顯示 SQL*Plus 的版本標(biāo)幟
"-M " 使用 HTML 標(biāo)志選項
"-R " uses restricted mode
"-S" uses silent mode
1,sqlplus??'/ as sysdba '
和
2,sqlplus /nolog
SQL> connect / as sysdba
1和2是一樣的意思。
SQLPlus 在連接時通常有三種方式
1. sqlplus / as sysdba
操作系統(tǒng)認(rèn)證,不需要數(shù)據(jù)庫服務(wù)器啟動listener,也不需要數(shù)據(jù)庫服務(wù)器處于可用狀態(tài)。比如我們想要啟動數(shù)據(jù)庫就可以用這種方式進入
sqlplus,然后通過startup命令來啟動。
sqlplus / as sysdba 是操作系統(tǒng)用戶驗證登錄方式,通過OS本地的IPC可以直接連接到實例,IPC由本地OS提供,允許各種進程在主機內(nèi)進行通信。所以不需要listener也可以連接到實例。
2. sqlplus username/password
連接本機數(shù)據(jù)庫,不需要數(shù)據(jù)庫服務(wù)器的listener進程,但是由于需要用戶名密碼的認(rèn)證,因此需要數(shù)據(jù)庫服務(wù)器處于可用狀態(tài)才行。
3. sqlplus?usernaem/password@orcl
通過網(wǎng)絡(luò)連接,這是需要數(shù)據(jù)庫服務(wù)器的listener處于監(jiān)聽狀態(tài)。此時建立一個連接的大致步驟如下
a. 查詢sqlnet.ora,看看名稱的解析方式,默認(rèn)是TNSNAME
b. 查詢tnsnames.ora文件,從里邊找orcl的記錄,并且找到數(shù)據(jù)庫服務(wù)器的主機名或者IP,端口和service_name
c. 如果服務(wù)器listener進程沒有問題的話,建立與listener進程的連接。
d. 根據(jù)不同的服務(wù)器模式如專用服務(wù)器模式或者共享服務(wù)器模式,listener采取接下去的動作。默認(rèn)是專用服務(wù)器模式,沒有問題的話客戶端
就連接上了數(shù)據(jù)庫的server process。
e. 這時連接已經(jīng)建立,可以操作數(shù)據(jù)庫了。
如果你希望使用操作系統(tǒng)的認(rèn)證方式登陸到數(shù)據(jù)庫,數(shù)據(jù)庫自然會要求操作系統(tǒng)進行認(rèn)證,如果是本地用戶,在本機就可以完成認(rèn)證工作,如果是域用戶, oracle**必須**連接到domain controller進行認(rèn)證, 如果此時網(wǎng)絡(luò)出現(xiàn)故障,oracle會提示你權(quán)限不夠(insufficient privileges)
我曾經(jīng)告訴過你
dba使用的是sys用戶登陸到數(shù)據(jù)庫進行建立數(shù)據(jù)庫的操作的
你可以測試一下, 在你登陸到域和不登陸到域的情況(甚至是你斷開網(wǎng)線和連接網(wǎng)線的情況下)
conn sys/你的sys的密碼 as sysdba
是否可以登陸到系統(tǒng)。
這對于你研究dbca 的行為會有所幫助。
總結(jié)
以上是生活随笔為你收集整理的sqlplus连接mysql_sqlplus连接的三种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js逆向爬虫某openLaw网站
- 下一篇: sqlplus登录指定服务器,sqlpl