Oracle管理監控之Oracle使用者許可權

2021-09-06 19:45:55 字數 4369 閱讀 8452

資料字典

1、動態資料字典是以v$***開始的資料字典,在資料庫中約有150個左右,這些資料字典反映資料庫動態執行狀況,在不同時間查詢會得到不同的結果。

2、dba資料字典是以dba_***表示,該資料字典儲存資料庫結構,查詢dba資料字典可以反映資料庫結構設定,管理磁碟空間和表空間、事務與回退段、使用者與表空間等資訊。

3、使用者資料字典是以user_***表示,這些資料字典反應使用者所建立的實體資訊。如,user_tables、user_views,資料庫管理員具有操作全體使用者所有實體的許可權,可以查詢這類資料字典,了解使用者所建立實體狀況,必要時可以將使用者建立的不正確的實體刪除。

4、all_***類資料字典,表示使用者所建立的實體及使用者有權可以訪問的實體。

select privilege from dba_sys_privs where grantee=『username』

oracle查詢使用者許可權

-- 確定角色的許可權

select * from role_tab_privs ;              包含了授予角色的物件許可權

select * from role_role_privs ;             包含了授予另一角色的角色

select * from role_sys_privs ;              包含了授予角色的系統許可權

-- 確定使用者帳戶所授予的許可權

select * from dba_tab_privs ;   直接授予使用者帳戶的物件許可權

select * from dba_role_privs ;授予使用者帳戶的角色

select * from dba_sys_privs ;授予使用者帳戶的系統許可權

檢視當前使用者許可權:

sql> select * from session_privs;

privilege

----------------------------------------

create session

create table

create cluster

create synonym

create view

create sequence

create procedure

create trigger

8 rows selected.

.概述

與許可權,角色相關的檢視大概有下面這些:

dba_sys_privs: 查詢某個使用者所擁有的系統許可權

user_sys_privs:   當前使用者所擁有的系統許可權

session_privs:     當前使用者所擁有的全部許可權

role_sys_privs:     某個角色所擁有的系統許可權

注意: 要以sys使用者登陸查詢這個檢視,否則返回空.

role_role_privs:    當前角色被賦予的角色

session_roles:      當前使用者被啟用的角色

user_role_privs:   當前使用者被授予的角色

另外還有針對表的訪問許可權的檢視:

table_privileges

all_tab_privs   

role_tab_privs:     某個角色被賦予的相關表的許可權

. examples

1.查詢當前使用者所擁有的許可權

select * from session_privs;      

2.查詢某個使用者被賦予的系統許可權.

可以有多種方式

select * from user_sys_privs;

或者: select * from dba_sys_privs where grantee='***'

(需要當前使用者擁有dba角色)

3.查詢當前使用者被授予的角色:

1. select * from session_roles order by role  

說明: 這個查詢會返回當前使用者所被授予的全部角色, 其中包括

巢狀授權的角色. 例如將dba角色授予了乙個使用者,dba角色

已經被授予的角色(例如 exp_full_database 和 imp_full_database)

也會被查詢出來

2. select * from user_role_privs       

4.查詢某一角色被賦予的系統許可權

select privilege from role_sys_privs where role=&role

輸入 role='connect'

輸出:privilege

--------------------

alter session

create cluster

create database link

create sequence

create session

create synonym

create table

create view

5.查詢當前角色被授予的角色

select granted_role from role_role_privs where role=&role

輸入 role= 'dba'

輸出:granted_role

----------------------

delete_catalog_role

execute_catalog_role

exp_full_database

imp_full_database

plustrace

select_catalog_role

說明: plustrace這個角色是用於執行sqlauto trace的, 通過執行

$oracle_home/sqlplus/admin/plustrce.sql可以生成這個角色.

如何檢視oracle使用者許可權?

oracle資料字典檢視的種類分別為:user,all 和 dba。

user_*:有關使用者所擁有的物件資訊,即使用者自己建立的物件資訊

all_*:有關使用者可以訪問的物件的資訊,即使用者自己建立的物件的資訊加上

其他使用者建立的物件但該使用者有權訪問的資訊

dba_*:有關整個資料庫中物件的資訊

(這裡的*可以為tables,indexes,objects,users等。)

1、檢視所有使用者

select * from dba_user;

select * from all_users;

select * from user_users;

2、檢視使用者系統許可權

select * from dba_sys_privs;

select * from all_sys_privs;

select * from user_sys_privs;

3、檢視使用者物件許可權

select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

4、檢視所有角色

select * from dba_roles;

5、檢視使用者所擁有的角色

select * from dba_role_privs;

select * from user_role_privs;

6、檢視當前使用者的預設表空間

select username,default_tablespace from user_users;

7、檢視某個角色的具體許可權

如grant connect,resource,create session,create view to test;

8、檢視resource具有那些許可權

用select * from dba_sys_privs where grantee='resource';

Celery之監控與管理

celery兩種監控工具 命令列實用工具和web實時監控工具flower 一。命令列工具 1 進入shell環境 python 3.7.1 default,jun 12 2020,10 34 40 gcc 4.8.5 20150623 red hat 4.8.5 39 on linux type h...

通過複製oracle軟體方式安裝oracle資料庫

通過複製oracle軟體方式安裝oracle資料庫情況只在以下幾種情況下出現。1.在目標伺服器沒有安裝形圖介面的。2.兩作業系統版本一致,本示例同為oel5.8x64。3.oracle安裝使用者uid,gid屬性一致。本文出自 打包過程略。目錄環境與原資料庫環境一致,將資料庫打包複製到 u01目錄下...

oracle修改欄位的sql語句 Oracle

1 新增字段 create table ord table name type username varchar2 30 cust id number 4 2 刪除字段 alter table table name drop column column name 3 修改字段 alter table...