一、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、& :可以替代變數,該變數在執行時候需要使用者輸入引數
四、使用者管理
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,也就是:
注意:以上的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資料庫學習總結 spool
oracle資料庫學習總結 spool 在生產中常會遇到需要將數量比較大的錶值匯入到本地文字檔案中.方法有很多種,比較常用的就是spool命令 要輸出符合要求格式的資料檔案只需在select時用字元連線來規範格式。比如有如下表 sql select id,username,password from...
Oracle學習總結(二) 資料庫基礎
資料管理工作至今的發展經過了三個階段 1 人工管理階段 20世紀50年代中期以前是人工管理階段,那是對於計算機來說,儲存資訊的裝置沒有磁碟,只有磁帶 卡片等儲存裝置 計算機中也沒有作業系統和管理軟體 處理資料的方式只有批處理方式。在人工管理階段,主要負責管理的都是人。這一階段主要由以下4個特點 2 ...
oracle資料庫學習
最近在做使用者資料篩選的時候發現使用者資料載入和查詢比較慢,所以,參考網上資料進行了寫小優化,在資料庫中執行快了那麼一些,在這裡記錄下相關命令。做法 建立字段索引,使用instr函式。1 使用instr代替like 開頭會導致索引失效 instr的基本用法 select count from 表名 ...