本文力在從oracle的基礎出發,從oracle的基礎結束,從資料庫的連接、用戶管理、sqlplus使用、plsql工具、存儲過程、函數、包、觸發器等一個DBA經常進行的操作與維護方面入手,旨在從這條最淺顯易懂的學習道路上,瞭解oracle的日常使用。相信對於初學者是個不錯的選擇,也希望自己的這篇整... ...
原創作品,轉載請在文章開頭顯眼位置註明出處:https://www.cnblogs.com/sunshine5683/p/10059955.html
一、oracle的基本命令
1、連接命令
用法:conn 用戶名/密碼 @網路服務名 as sysdba/sysoper
2、disc[onnection] 斷開與當前資料庫的連接
3、passw[ord]:修改用戶密碼,修改其他用戶密碼,需要sys/system用戶
4、show user:顯示當前登錄用戶
5、exit/quit:退出sqlplus,同時斷開連接
二、文件操作命令
1、start和@ :運行sql腳本
2、spool : 將屏幕上的內容輸出到制定的文件中去,註意,該命令只有spool off了才可以在文件中看到內容
查看內容
三、互動式命令
1、& :可以替代變數,該變數在執行時候需要用戶輸入參數
2、edit :用於編輯指定的sql腳本
四、用戶管理
1、創建用戶:需要sys或者system用戶,create user xiaoming identified by 123; 創建的新用戶沒有任何許可權,需要賦予許可權
2、修改密碼:password
3、賦予許可權:grant connect to xiaoming //賦予小明連接登錄資料庫的許可權(此處connect其實是一種角色)
grant resource to xiaoming //賦予小明創建數據表的許可權
grant select on scott.emp to xiaoming //賦予小明查詢emp表的許可權,此時,小明可以通過select * from scott.emp 訪問emp表,但是不能直接訪問,即select * from emp,因為emp是scott用戶的,小明只有訪問許可權,而不是小明自己的表,只有自己的表才可以直接訪問
grant update on scott.emp to xiaoming //賦予修改表的許可權
grant all on scott.emp to xiaoming //將該表的所有訪問與修改等的許可權賦予小明
註意:賦予一張表的許可權給其他用戶只有該數據表的創建者才可以,其他用戶都是不可以的。
4、許可權主要有:select、insert、delect、update、all、create index
5、如果希望小明可以去查詢scott.emp,也希望小明可以將該查詢許可權授予其他用戶,那麼就使用到了對象許可權,即在授權的後面加上 with grant option,也就是:
sql> grant select on scott.emp to xiaoming with grant option;
註意:以上的scott.emp 可以直接寫出emp,因為授權者是scott,而該表也是scott自己的表,但是如果授權者不是scott,則必須寫出scott.emp,比如此時小明也有將emp表的查詢許可權授予其他用戶的權利,但是小明要給其他用戶授權,就必須攜程scott.emp,不能攜程emp,否則會報錯:表或者視圖不存在!
如果是系統許可權,則:system給小明許可權時候:grant connect to xiaoming with admin option, 此時小明就可以給其他用戶授予連接資料庫的許可權
6、收回許可權:revoke select on scott.emp from xiaoming;
註意:收回其他用戶訪問數據表的許可權只有該數據表的創建者才可以,其他用戶都是不可以的。如果將小明的許可權收回,那麼小明給其他用戶授予的許可權也一併沒有了!
7、刪除用戶:drop user 用戶名, 註意,在刪除用戶時候,如果該用戶已經創建了表,那麼刪除用戶的時候需要加上cascade,即:drop user 用戶名 cascade,用於刪除用戶以及該用戶創建的表(級聯刪除)
8、使用profile管理用戶口令(一般使用dba許可權執行)
sql> create profile lock_account limit filed_login_attempts 3 password_lock_time 2 // 創建口令限制文件,意思是如果密碼輸入錯誤三次,那麼鎖死,鎖定時間為2天,然後再次登錄,如果在兩天之內,就算輸入正確的密碼,也是無法登錄,因為在兩天之內該賬號是鎖定狀態。
sql> alter user xiaoming profile lock_account; //給小明用戶限定
用戶解鎖:
sql> alter user xiaoming account unlock; //給小明用戶解鎖,不至於小明賬號被鎖死之後兩天內真的不能登錄,但是該命令同樣需要system為小明解鎖,如果不解鎖,就只能等兩天了!
終止口令:為了讓用戶在規定時間內修改密碼,同樣也需要dba身份
sql> create profile myprofile limit password_life_time 10 password_grace_time 2;//創建口令文件myprofile,限定用戶每隔10天修改登錄密碼,寬限期為2天,如果時間到了沒有修改,那麼斷開該用戶的連接,同時要求修改密碼!
sql> alter user xiaoming profile myprofile;//將小明用戶應用限制文件
口令歷史: 如果在用戶修改密碼時候,不能使用以前用過的密碼,那麼可以使用口令歷史,oracle會將口令修改的信息放到數據字典,進行密碼判斷
sql> create profile password_history_limit password_life_time 10 password_grace_time 2 password_reuse_time 10 //簡歷口令文件
其中:password_reuse_time 10: 指定口令可重用時間,即10天後就可以重用
然後分配給某個用戶
口令文件的刪除:當某個口令文件不想使用了,可以將其刪除!
sql> drop profile password_history_limit cascade
其中cascade表示該口令文件如果已經分配給了用戶,那麼就的加上cascade
五、oracle表管理 (下一篇繼續.....)