Oracle sqlplus基礎
前提條件:
CentOS7.6
已安裝Oracle 11g R2
擁有使用者Oracle
一、安裝rlwrap
Linux下sqlplus不能使用游標箭頭,解決辦法:安裝rlwrap。
獲取rlwrap
# wget https://github.com/hanslub42/rlwrap/releases/download/v0.43/rlwrap-0.43.tar.gz
安裝readline*(rlwrap依賴)
# yum -y install readline*
解壓安裝rlwrap包
# tar -xzvf rlwrap-0.43.tar.gz
# cd rlwrap-0.43
# ./configure# make
# make install
切換Oracle,新增sqlplus別名
# su - oracle
$ cd
$ vim .bash_profile
在檔案中新增
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
:wq
$ source .bash_profile #立即生效
這樣在sqlplus中就敲命令就很方便了,類似mysql。
二、oracle使用者sys和system
Oracle安裝會自動的生成sys使用者和system使用者
(1)、sys使用者是超級使用者,具有最高許可權,具有sysdba角色,有create database的許可權,該使用者預設的密碼是change_on_install
(3)、一般講,對資料庫維護,使用system使用者
sys和system這兩個使用者最大的區別是在於有沒有create database的許可權。
三、sqlplus工具簡介
Oracle的sql*plus是與oracle進行互動的客戶端工具。在sql*plus中,可以執行sql*plus命令與sql語句。
我們通常所說的DML、DDL、DCL語句都是sql語句,它們執行完後,都可以儲存在一個被稱為sql buffer的記憶體區域中,
並且只能儲存一條最近執行的sql語句,我們可以對儲存在sql buffer中的sql語句進行修改,然後再次執行,sql*plus一般都與資料庫打交道。
除了sql語句,在sql*plus中執行的其它語句我們稱之為sql*plus命令。它們執行完後,不儲存在sql buffer的記憶體區域中,
它們一般用來對輸出的結果進行格式化顯示,以便於製作報表。
四、sqlplus常用命令
連線命令
1.conn[ect]
用法:conn 使用者名稱/密碼@網路服務名 [as sysdba/sysoper]
說明:當用特權使用者身份連線時,必須帶上as sysdba或是as sysoper
例如:
SQL> show user USER 為 "SCOTT" SQL> conn system/oracle@orcl 已連線。 SQL> show user USER 為 "SYSTEM"
LINUX中以系統身份連線:
SQL>connect / as sysdba
或者
# sqlplus / as sysdba
以上命令實現類似切換使用者的效果
2.disc/disconn/disconnect
說明: 該命令用來斷開與當前資料庫的連線
3.pssw[ord]
說明: 該命令用於修改使用者的密碼,如果要想修改其它使用者的密碼,需要用sys/system登入。
例如:
SQL> conn scott/oracle 已連線。 SQL> passw 更改 SCOTT 的口令 舊口令: 新口令: 重新鍵入新口令: 口令已更改 SQL>
4.show user
說明: 顯示當前使用者名稱
5.exit
說明: 該命令會斷開與資料庫的連線,同時會退出sql*plus
5.clear screen
清空螢幕
檔案操作命令
1.start和@
說明: 執行sql指令碼
案例:
sql>@ /home/oracle/a.sql
或是
sql>start /home/oracle/a.sql
2.edit
說明: 該命令可以編輯指定的sql指令碼
案例:
sql>edit /home/oracle/a.sql
這樣會把/home/oracle/a.sql這個檔案開啟
3.spool
說明:該命令可以將sql*plus螢幕上的內容輸出到指定檔案中去。
案例:
sql>spool /home/oracle/a.sql
sql>select * from emp;
sql>spool off