Oracle使用SQL*Plus連接數據庫
by:授客 QQ:1033553122
使用sqlplus連接數據庫
A 方式1
1.開啟SQL*Plus,但不連接到數據庫
$ sqlplus /NOLOG
2.連接到數據庫
CONN[ECT] [logon] [AS {SYSOPER | SYSDBA}]
其中logon為
{username[/passwd] | /}[@connect_identifier] [edition={edition_name | DATABASE_DEFAULT}]
說明:
/:用於連接請求的外部認證,這種驗證類型不需要數據庫密碼。最常見的外部認證形式為操作系統認證。數據庫用戶由已登錄主機操作系統的主機帳號驗證並授權
AS {SYSOPER | SYSDBA}:用戶以SYSOPER、SYSDBA系統權限連接.僅某些預定義的管理員用戶或添加到密碼文件的用戶可以如此方式連接
username:合法數據庫用戶名。
passwd:合法數據庫用戶密碼,如果不指定,且不是以 AS SYSDAB方式登錄時,會彈出密碼輸入提示
connect_identifier:Oracle網絡連接標示符,用於遠程連接。如果忽略,sqlplus連接到本地實例。常用連接標示符為網絡服務名(net service name).網絡服務名為Oracle網絡連接描述符的別名(網絡地址和數據庫服務名)。通常通過解析本地主機上的tnsnames.ora文件得到網絡服務名。
connect_identifier的簡易語法:
"host:[port][/service_name][:server][/instance_name]"
注:指定/service_name選項,可不在(本地)電腦客戶端上配置Oracle網絡服務
host:遠程數據庫主機IP或主機名
port:Oracle網絡監聽器監聽的端口
service_name:要連接的數據庫服務名。如果遠程數據庫網絡服務監聽器配置了缺省的服務名,可以忽略,否則必須提供。通常每個數據庫提供了一個和全局數據庫名相同的服務名。全局數據庫名由DB_NAME和DB_DOMAIN初始參數組成:DB_NAME.DB_DOMAIN,如果DB_NAME為orcl,DB_DOMAIN為us.example.com,那么標准服務名為orcl.us.example.com
server:服務處理器類型,可接受值含dedicated(專用服務器)、shared(共享服務器)、pooled(共享池)
instance_name:指定要連接的實例。
edition={edition_name | DATABASE_DEFAULT}:指定啟動數據庫會話時版本。如果指定版本,則該版本必須存在且擁有對它的USE權限,不指定則使用默認版本。
注:這個比較少用
B 方式2
將方式1中的兩步合並為一步
sqlplus [logon] [AS {SYSOPER | SYSDBA}]
例1:以SYSTEM用戶身份連接
SQL> conn system
Enter password:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0
輸出說明:因為此時數據庫沒開啟,所以報錯
例2:以具有SYSDBA權限的SYS用戶身份連接到一個本地數據庫
SQL>CONNECTSYS AS SYSDBA
Enter password:
Connected to an idle instance.
說明:以SYS用戶身份連接,必須指定AS SYSDBA
例3:使用操作系統認證,以SYSDBA特權進行本地連接
SQL>CONNECT / AS SYSDBA
Connected to an idle instance
----------------遠程連接(未在本地客戶端上配置SERVICE_NAME)------------------
例4:以testacc用戶身份,並指定用戶密碼(abc123),監聽端口號,遠程連接到運行於主機172.25.75.14上,數據庫服務名為oracl11g的數據庫
SQL> CONNECT testacc/abc123@"172.25.75.14:1521/orcl11g"
Connected.
注意:
1.如果未在本地客戶端上配置tnsname.ora文件,則必須指定服務名,否則會報錯誤,如下:
ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
2.如果未在本地客戶端上配置tnsname.ora文件,如果涉及遠程連接,則必須指定服務名
例5:不指定用戶密碼外
SQL> CONNECT testacc@"172.25.75.14:1521/orcl11g"
Enter password:
Connected.
例6:指定實例名
SQL> CONNECT testacc/abc123@"172.25.75.14:1521/orcl11g/orcl11g"
Connected.
注:這里有兩個oracl11g,從左到右,第一個是服務名SERVICE_NAME,第二個是實例名,以下例子也一樣
例7:指定服務器類型
SQL> CONNECT testacc/abc123@"172.25.75.14:1521/orcl11g:server/orcl11g"
Connected.
例8:不指定端口號
SQL> CONNECT testacc/abc123@"172.25.75.14/orcl11g"
Connected.
例9:不指定實例名,指定服務器類型
SQL> CONNECT testacc/abc123@"172.25.75.14:1521/orcl11g:server"
Connected.
例10:以sqlplus一步到位方式連接
d:\>sqlplus testacc/abc123@"172.25.75.14:1521/orcl11g:server/orcl11g"
SQL*Plus: Release 11.2.0.1.0 Production on Tue Nov 18 10:18:51 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
-----------------------end----------------------
參考鏈接:
http://docs.oracle.com/cd/E11882_01/server.112/e25494/start.htm#ADMIN004