Oracle以實例爲單位啓動運行。想啓動oracle,需要在服務,啓動oracle Service實例名和OracleoraHome90TNSListener
一.一般操作命令
1.Connect user/password使用某個用戶連接到數據庫實例
2.Disconnect 斷開到數據庫實例的連接
3.password修改密碼
4.show user顯示當前登錄的用戶名
5.exit
二.文件操作命令
1.start和@
說明:運行sql腳本
舉例:在某個目錄下用notepad.exe編寫一個txt命令,在命令行用start D:\sql.txt;
2.edit
Edit D:\sql.txt;
3.spool
將sqlplus屏幕上的內容輸出到指定的文件中去
Spool D:\bb.sql把當前屏幕上的內容保存到D盤下爲一個叫bb.sql的文件中
三.交互式命令
1.&
說明:這個地址符命令可以替代變量,而該變量在執行時,需要用戶輸入。
舉例:select * from emp where job=’&job’此時屏幕會彈出一個對話框,讓你輸入emp表中job項中的一個值,查詢的結果就返回你輸入的這個值這一項。
2.edit
Edit D:\sql.txt;
3.spool
將sqlplus屏幕上的內容輸出到指定的文件中去
Spool D:\bb.sql把當前屏幕上的內容保存到D盤下爲一個叫bb.sql的文件中,並輸入spool off
四.顯示和設置環境變量
用來控制輸出的各種格式,setshow如果希望永久的保存相關的設置,可以去修改glogin.sql腳本
1.linesize
這個參數是用來設置顯示行的寬度,默認是80個字符
Show linesize
Set linesize 90
2.pagesize
設置每頁顯示的行數目,默認是14,用法和linesize一樣
3.至於其它環境參數的使用也和這兩個大同小異
1.創建用戶命令create user
創建用戶需要管理員權限sysdba
Create user xiaoming identified by m123;”oracle的用戶密碼必須字母開頭
2.給用戶修改密碼
如果給自己修改密碼,用password 用戶名。如果給別人修改密碼,需要sysdba權限,或者是擁有alter user的系統權限
Alter user 用戶名 identified by 新密碼
3.刪除用戶
一般以dba的身份去刪除某個用戶,如果用其它用戶去刪除用戶則需要具有drop user的權限。
比如drop user 用戶名【cascade】
在刪除用戶時,注意:如果要刪除的用戶已經創建了表,那麼就要在刪除時帶一個參數【cascade】
4.用戶管理的綜合案例
創建的新用戶是沒有任何權限的,甚至連登錄數據庫的權限都沒有,需要爲其指定相應的權限。給一個用戶賦權限使用命令grant,回收權限使用revoke。
Oracle權限:一.系統權限,是指用戶對數據庫的相關權限。二.對象權限,是指用戶對其他用戶的數據對象操作的權限,比如表,視圖,存儲過程。
角色:權限的批量打包。比如:connect有七種權限
舉例:grant connect to xiaoming; “授予xiaoming具有connect角色的權限。
Dba,resource這兩個角色具有很大的權限。
舉例:授予xiaoming的對象權限,具有查詢emp表的權限。
授予xiaoming的對象權限,具有查詢scott擁有的emp表的權限
Grant select on emp to xiaoming “授予xiaoming查詢emp表的權限
Select * from scott.emp;查詢scott下emp表
希望xiaoming用戶可以去修改,刪除,查詢,添加scott的權限
Grant allon emp to xiaoming
Scott希望收回xiaoming修改emp表的權限:
Revoke update on emp from xiaoming
對象的維護和傳遞:(授予用戶可以把權限傳遞給其他用戶的權限)
如果是對象權限,就在後面加入with grant option
舉例:grant select on emp to xiaoming with grant option
如果是系統權限,則加入with admin option
System 給xiaoming權限時:
Grant connect to xiaoming with admin option
使用profile管理用戶口令:
Profile是口令限制,資源限制的命令集合,當建立數據庫時,oracle會自動建立名稱爲default的profile.當建立用戶沒有指定profile選項,那oracle就會將default分配給用戶。
1.帳戶鎖定:
指定該帳戶登錄時最多可以輸入密碼的次數,也可以指(天)一般用dba身份去執行該命令,例子:指定scott這個用戶最多隻能嘗試3次登錄,鎖定時間爲2天,讓我們看看如何實現:
Sql>create profile lock_account limit注:lock_account是用戶定義的一個名稱
Failed_login_attempts 3 password_lock_time 2;
Sql>alter usertea profile lock_account;
2.給帳戶(用戶)解鎖:
Alter user tea account unlock;
3.終止口令:
爲了讓用戶定期修改密碼可以使用終止口令的指令來完成,同樣這個命令也需要dba身份來操作。
例子:
給前面創建的用戶tea創建一個profile文件,要求該用戶每隔10天修改自己的登錄密碼,寬限期爲2天
sql>create profile myprofile limit password_life_time 10 password_grace_time 2;
Sql>alter user tea profile myprofile;
4.口令歷史:
就是修改的密碼不能與以前使用的密碼相同,並且不能太簡單。
Sql>create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10
Password_reuse_time指定口令可重設之前相同密碼的時間,這裏就是10天。
再把這個profile分配給某個用戶,命令如下:
Sql>alter user tea profilepassword_history
5.刪除profile:
當不需要某個profile文件時,可以刪除該文件,命令如下:
Sql>drop profile password_history 【cascade】