oracle資料庫逐步學習總結之基本命令(基礎一)

2021-09-03 08:28:25 字數 3423 閱讀 1344

一、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 表名 ...