對於Oracle數據庫操作主要使用的是命令行方式,而所有的命令都使用sqlplus完成,對於sqlplus有兩種形式。
- 一種是dos風格的sqlplus:sqlplus.exe;
- 另一種是windows風格的sqlplus:sqlplusw.exe;
在Oracle 10g之中主要使用的是sqlplusw命令,因為其可以進行一些顯示數據的調整。

此時會找到默認的已經可以使用的數據庫實例。
范例:輸入查詢指令
SELECT * FROM emp;

此時的數據已經可以正常的顯示,但是依然會存在數據折行的問題,因為這個是默認的每行的數據大小,而現在可以通過兩個命令進行調整:
- 設置每行顯示的記錄長度:SET LINESIZE 300;
- 設置每頁顯示的記錄長度:SET PAGESIZE 30;

以后這兩個命令統一被稱為格式化命令,但是這些格式化命令在sqlplus下的設置並不是很明顯。
但是sqlplusw雖然顯示上方便一些,可是對於命令的編輯上卻不是很方便,如正常的操作,命令寫錯了,則肯定使用方向鍵移到錯誤的位置上進行修改,但是在sqlplusw之中,方向鍵只能控制屏幕的移動,所以這個命令根本就不適合於編輯,所以在sqlplusw之中提供了ed和@指令,可以進行記事本的調用和執行;
- 使用ed,調用記事本程序:ed a;
此時會提示用戶說,現在找不到“a.sql”的文件,詢問是否創建,選擇“是”,但是使用ed打開記事本之后 ,Oracle中的sqlplusw窗口會進入到阻塞狀態,無法使用。
- 使用@執行程序:@a;
但是在windows之中,由於提供了許多方便的編輯軟件,所以一般會在外部編輯程序,例如,現在在D盤上建立一個demo.txt的文件,里面保存程序代碼。
這個時候要讀取在硬盤上的文件,則必須寫上完整的路徑:@D:\demo.txt,而且如果現在這個文件的后綴是“*.sql”的話,則不用輸入文件后綴(demo.sql),輸入:@d:\demo,或者更省事直接輸入:@d:demo。
在一個數據庫之中,會有許多的用戶(現在已知的是四個用戶),這每一個用戶下都會有多張自己的數據表,所以要想查看所有的數據表,則可以使用如下的命令:
SELECT * FROM tab;
而且由於用戶眾多,所以如果要想知道當前的登錄用戶,則可以使用:SHOW USER; 命令完成。
而且在sqlplusw之中也可以直接進行用戶的登錄切換,使用如下的語法完成:
CONN 用戶名/密碼 [AS SYSDBA];
使用sys用戶登錄:CONN sys/change_on_install AS SYSDBA;
但是,一旦使用了sys連接之后,則無法直接查詢emp表數據。
對於每一張表,都有其屬於的用戶,所以一張表的完整名稱是“用戶名.表名稱”或者說是“模式名.表名稱”,所以不同的用戶要想訪問其他用戶的表,則應該加上用戶名,即現在的訪問名稱:
SELECT * FROM scott.emp;
一旦使用了超級管理員登錄的話,可以通過命令手工的控制數據庫實例的打開和關閉;
- 關閉數據庫實例:SHUTDOWN IMMEDIATE;
- 一旦關閉之后用戶無法直接連接sqlplusw命令,此時可以先使用“/nolog”登錄,之后使用管理員登錄;
SQL> conn sys/sys as sysdba; 已連接。 SQL> shutdown immediate; 數據庫已經關閉。 已經卸載數據庫。 ORACLE 例程已經關閉。 SQL>

- 啟動數據庫實例:STARTUP;

另外,sqlplusw命令窗口也可以調用本機的操作命令,使用“host”作為前綴。
HOST COPY d:\demo.sql d:\hello.txt
以上命令必須掌握,以后肯定會使用到。
