oracle筆記(十四)使用者管理
相關鏈結:
oracle筆記(一)oracle簡介及安裝
oracle筆記(二)sqlplus命令
oracle筆記(三)scott使用者的表結構
oracle筆記(四)簡單查詢、限定查詢、資料的排序
oracle筆記(五)單行函式
oracle筆記(六)多表查詢
oracle筆記(七)資料更新、事務處理、資料偽列
oracle筆記(八)複雜查詢及總結
oracle筆記(九)表的建立及管理
oracle筆記(十)約束
oracle筆記(十一)建表、更新、查詢綜合練習
oracle筆記(十二)集合、序列
oracle筆記(十三)檢視、同義詞、索引
sql語句分為三類:dml、ddl、dcl,之前已經講解完了dml和ddl,現在就差dcl操作的,dcl主要表示的是資料庫的控制語句,控制的就是操作許可權,而在dcl之中,主要有兩個語法:grant、revoke;
許可權的操作基礎是需要有使用者的,而這個時候就需要通過乙個新的使用者進行演示,而要想建立新使用者則首先必須是具備管理員許可權的sys、system兩個使用者操作。
範例:建立乙個dog使用者,密碼為wangwang
conn sys/change_on_install as sysdba;
create user dog identified by wangwang;
此時乙個新的使用者就建立完成了。 www.2cto.com
注意:「ora-00988:口令缺失或無效」 錯誤,這種情況通常發生於建立 oracle 例程時指定了非正常的全域性資料庫名稱或系統使用者密碼。請注意全域性資料庫名稱不能以數字開頭,口令密碼也不能由數字開頭。
oracle對密碼的要求如下:
系統使用者(sys、system)口令長度不能小於7個字元;
密碼由1 到 30 個字元 (characters)組成;
必須以字母開頭,不能是符號或者數字;
只接受字母,數字,以及三個符號 "#", "_" and "$";
密碼不能包含像"select","delete","create"這類的 oracle/sql 關鍵字;
但是此時這個新建立的使用者並不能登入,會提示如下的錯誤資訊:
ora-01045: user dog lacks create session privilege; logon denied
提示使用者現在沒有建立session的許可權,在之前曾經解釋過,對於sqlplusw而言,每乙個使用者都表示乙個session,如果沒有建立session的許可權就意味著不能登入,所以下面要授權。
範例:將create session的許可權給dog使用者
grant create session to dog;
現在新使用者登入成功之後,下面就可以執行表的建立操作。
create sequence myseq; www.2cto.com
create table mytab(
id number primary key,
name varchar2(50)
);解釋:關於資料表的儲存問題
在oracle之中所有的資料表都是儲存在硬碟上的,但不是每一張資料表都儲存在硬碟上的,而是表空間儲存在硬碟上,而資料表儲存在表空間之中。
如果把硬碟表示成整個乙個圖書館的話,那麼表空間就表示每乙個書櫃,每一張表就表示櫃子上的一本書。
範例:將建立表的許可權給dog使用者
grant create table to dog;
此時只是將資料表的建立許可權給了dog使用者,但是並沒有把錶空間的操作許可權給dog使用者,所以使用者仍然無法建立表,因為表沒有地方可以儲存。
為了解決使用者的授權操作,在oracle之中為使用者提供了許多的角色,每乙個角色會包含多個許可權,而角色主要有兩個:connect、resource;
範例:將connect和resource to dog;
grant connect,resource to dog;
但是現在一旦存在了使用者的操作,那麼就需要有使用者的管理操作,最簡單的乙個功能,使用者有可能丟掉自己的密碼。
範例:修改密碼
alter user dog identified by miaomiao;
但是當管理員為乙個使用者重置乙個密碼之後,往往會希望使用者在第一次登入的時候可以修改密碼,所以此時可以通過如下的命令讓密碼失效:
alter user dog password expire;
也可以控制乙個使用者的鎖定操作:
alter user dog account lock;
alter user dog account unlock;
以上是針對於乙個基本的使用者操作,但是在之前也學習過,不同的使用者可以訪問其他使用者的資料表,此時只需要加上完整的「使用者名稱.表名稱」即可。
範例:使用dog使用者查詢scott.emp表
select * from scott.emp; www.2cto.com
但是現在卻無法查詢,此時需要將scott使用者的許可權授予dog使用者才可以讓dog使用者訪問scott使用者的資源,主要的許可權有四個:insert、delete、update、select。
範例:將scott.emp表的select和insert許可權給dog使用者
grant select,insert on scott.emp to dog;
既然現在有授權的功能,那麼就可以進行許可權的**,許可權的**使用revoke指令。
範例:**dog使用者的許可權
revoke select,insert on scott.emp from dog;
revoke connect,resource,create table,create session from dog;
既然使用者連許可權都沒了,那麼按照中國的一句話:「捲鋪蓋走人」。
drop user dog cascade;
以上的所有操作都是由dba負責。
Oracle筆記十四 使用者管理
sql語句分為三類 dml ddl dcl,之前已經講解完了dml和ddl,現在就差dcl操作的,dcl主要表示的是資料庫的控制語句,控制的就是操作許可權,而在dcl之中,主要有兩個語法 grant revoke 許可權的操作基礎是需要有使用者的,而這個時候就需要通過乙個新的使用者進行演示,而要想建...
oracle 使用者管理(筆記)
oracle 使用者管理 建立使用者 create user xiaoming identified by m123 更改使用者密碼 password xiaoming 刪除使用者drop user xiaoming 在刪除使用者時,如果已經建立了表,那麼就需要刪除時帶乙個引數 cascade 建立...
Oracle之使用者管理筆記
使用者是資料庫最基本的物件之一,oracle中的使用者可以分為三類 在正式開發中,使用sysytem是不安全的。建立乙個名為lisa的普通使用者,口令為abc,指定預設表空間users create user lisa identified by abc default tablespace use...