標籤:a10 ant 函數 deb 擷取 amp 帳號 hba cascade
一)使用者
Oracle中的使用者分為二大類
1)Oracle資料庫伺服器建立時,由系統自動建立的使用者,叫系統使用者,如sys。
2)利用系統使用者建立的使用者,叫普通使用者,如scott,hr,c##tiger,zhaojun,...
》用sys登入,查詢當前Oracle資料庫伺服器中已有使用者的名字和狀態
username表示登入名稱
expired&locked表示帳號到期和鎖定
open表示帳號現在可用
sqlplus / as sysdba;
col username for a10;
col account_status for a10;
set pagesize 100;
select username,account_status from dba_users;
查詢Oracle中有哪些使用者
select * from all_users;
二)建立與刪除普通使用者
可以在Oracle中建立新的普通使用者,建立普通使用者命令是:create user,在建立普通使用者的同時,應該為其分配一個具體的資料表空間,通常叫users。
》用sys登入,查詢Oracle中有哪些可用儲存空間,所有普通使用者預設為users儲存空間
select * from v$tablespace;
》用sys登入,建立普通使用者c##tiger,密碼為abc,預設使用users儲存空間,即對應硬碟上的一個DBF二進位檔案
sqlplus / as sysdba;
create user c##tiger identified by abc default tablespace users;
》用sys登入,為c##tiger分配users空間無限制使用,即資料庫中DBF檔案可以無限增加,一個DBF檔案不夠,會建立第二個DBF檔案
sqlplus / as sysdba;
alter user c##tiger quota unlimited on users;
》用c##tiger登入,能進orcl資料庫嗎?
sqlplus c##tiger/abc
進不去orcl資料庫
》用sys登入,刪除普通使用者c##tiger
sqlplus / as sysdba;
drop user c##tiger cascade;
三)瞭解系統使用者
sys是Oracle中一個重要的系統使用者,sys是Oracle中最高許可權使用者,其角色為SYSDBA(系統管理員)
sqlplus / as sysdba
四)許可權
許可權的最終作用於使用者。即所有使用者在資料庫內的操作對象和可執行檔動作都是受到限制的。
Oracle中許可權分為二大類:
1)系統許可權
2)對象許可權
五)系統許可權
針對資料庫中特定操作的許可,例如:讓c##tiger能登入到orcl資料庫,能在orcl資料庫中建立表
》用sys登入,擷取系統許可權的相關資訊,例如:select any table表示針對所有表的select許可權
sqlplus / as sysdba;
select distinct privilege from dba_sys_privs;
》用sys登入,為c##tiger分配create session與資料庫建立會話的許可權,即允許該使用者登入
sqlplus / as sysdba;
grant create session to c##tiger;
》用c##tiger登入,能進orcl資料庫嗎?
sqlplus c##tiger/abc
能進去orcl資料庫
》用c##tiger登入,建立一張tiger的表,能建立嗎?
sqlplus c##tiger/abc
create table tiger(
name varchar2(20)
);
這時c##tiger沒有許可權建立表
》用sys登入,為c##tiger分配create table許可權,即允許建立表
sqlplus / as sysdba;
grant create table to c##tiger;
》用c##tiger登入,建立一張tiger的表,能建立嗎?
sqlplus c##tiger/abc
create table tiger(
name varchar2(20)
);
可以建立c##tiger表
》用sys登入,查詢c##tiger所擁有的系統許可權
sqlplus / as sysdba;
select grantee,privilege from dba_sys_privs where lower(grantee) = ‘c##tiger‘;
grantee表示普通使用者名稱
privilege許可權名
》用sys登入,撤銷c##tiger的create table許可權
sqlplus / as sysdba;
revoke create table from c##tiger;
六)對象許可權
使用者對已有對象的操作許可權,包括:
1)select可用於表,視圖和序列
2)insert向表或視圖中插入新的記錄
3)update更新表中資料
4)delete刪除表中資料
5)execute函數,過程的執行
6)index為表建立索引
7)references為表建立外健
8)alter修改表或者序列的屬性
》用sys登入,查詢c##tiger所擁有的對象許可權
sqlplus / as sysdba;
col grantee for a10;
col table_name for a10;
col privilege for a20;
select grantee,table_name,privilege from dba_tab_privs where lower(grantee) = ‘c##tiger‘;
》用sys登入,為c##tiger分配對tiger表的所有許可權,即增刪改查操作
sqlplus / as sysdba;
grant all on c##tiger.tiger to c##tiger;
注意:c##tiger表示空間名
tiger表示該空間下的表名
C##TIGER TIGER FLASHBACK
C##TIGER TIGER DEBUG
C##TIGER TIGER QUERY REWRITE
C##TIGER TIGER ON COMMIT REFRESH
C##TIGER TIGER REFERENCES
C##TIGER TIGER UPDATE
C##TIGER TIGER SELECT
C##TIGER TIGER INSERT
C##TIGER TIGER INDEX
C##TIGER TIGER DELETE
C##TIGER TIGER ALTER
》用c##tiger登入,對tiger表進行增刪改查操作
sqlplus c##tiger/abc;
insert into tiger(name) values(‘AA‘);
update tiger set name = ‘BB‘;
delete from tiger where rownum = 1;
select * from tiger;
Oracle許可權管理