Oracle筆記(十四)使用者管理

2021-12-30 02:32:24 字數 2923 閱讀 3503

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...