Oracle資料庫使用者許可權控制 - Role - Synonym
為了控制使用者對Production資料庫的更改,現在建立一個新使用者Production_query和一個新角色V_TD_USR_QUERY_PRD_ROLE,該角色只對Production的table及view有查詢許可權,並且將該角色賦予給Production_query。 為了Production_query使用者查詢時方便,不用再table及view前加schema名字,可以再Production_query使用者下建立Synonyms.
步驟如下:
執行1_CREATE_QUERY_PRD_ROLE.cmd,呼叫V_TD_USR_QUERY_PRD_ROLE.sql,執行2_CREATE_SYNONYM.cmd,建立Synonym.
[@more@]
1_CREATE_QUERY_PRD_ROLE.cmd
set
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
sqlplus
sys/password@dbtest as sysdba @./V_TD_USR_QUERY_PRD_ROLE.sql
>1_CREATE_QUERY_PRD_ROLE.log
@echo
off
echo.
echo Grant
select on all tables and views of production schema to PRODUCTION_QUERY!
Pause
V_TD_USR_QUERY_PRD_ROLE.sql
SET
PAGESIZE 0
SET
LINESIZE 160
SET
DEFINE OFF;
-- Create a new user
CREATE
USER PRODUCTION_QUERY
IDENTIFIED
BY PRODUCTION_QUERY
DEFAULT
TABLESPACE USERS
TEMPORARY
TABLESPACE TEMP
PROFILE
DEFAULT
ACCOUNT
UNLOCK;
-- Create new role
CREATE
ROLE V_TD_USR_QUERY_PRD_ROLE NOT IDENTIFIED;
-- Grant select on all tables and views of production schema to
PRODUCTION_QUERY
SPOOL
grant_select_all_tables_views.sql
SELECT
'GRANT SELECT ON PRODUCTION.'||table_name||' TO V_TD_USR_QUERY_PRD_ROLE;'
FROM
dba_tables
WHERE
owner='PRODUCTION';
SELECT
'GRANT SELECT ON PRODUCTION.'||view_name||' TO V_TD_USR_QUERY_PRD_ROLE;'
FROM
dba_views
WHERE
owner='PRODUCTION';
SPOOL
OFF
@grant_select_all_tables_views.sql
GRANT
V_TD_USR_QUERY_PRD_ROLE TO PRODUCTION_QUERY;
ALTER
USER PRODUCTION_QUERY DEFAULT ROLE ALL;
GRANT
CREATE SESSION TO PRODUCTION_QUERY;
-- Edit SQL : Create synonym for all tables and views of production
schema
grant
create synonym to production_query;
SPOOL
create_synonym_for_tables_views.sql
SELECT
'CREATE SYNONYM '||view_name||' FOR PRODUCTION.'||view_name||';'
FROM
dba_views
WHERE
owner='PRODUCTION';
SELECT
'CREATE SYNONYM '||table_name||' FOR PRODUCTION.'||table_name||';'
FROM
dba_tables
WHERE
owner='PRODUCTION';
SPOOL
OFF
SET
PAGESIZE 14
SET
LINESIZE 80
quit
2_CREATE_SYNONYM.cmd
set
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
sqlplus
production_query/production_query@dbtest @./create_synonym_for_tables_views.sql
> create_synonym_for_tables_views.log
@echo
off
echo.
echo
Create synonym for all tables and views of production schema!
pause
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12472709/viewspace-1036315/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle角色許可權之Default RoleOracle
- oracle資料庫使用者建立、許可權分配Oracle資料庫
- oracle實驗記錄 (許可權,role)Oracle
- Oracle 使用者許可權管理與常用許可權資料字典列表Oracle
- 提取使用者許可權或是不同資料庫使用者許可權的同步資料庫
- PostgreSQL資料庫使用者許可權管理SQL資料庫
- Oracle資料庫scott使用者建立view檢視許可權Oracle資料庫View
- 資料分析的許可權控制
- 資料安全之許可權控制
- MySQL資料庫許可權體系入門(3)---管理使用者許可權MySql資料庫
- Oracle 資料庫安全許可權配置標準Oracle資料庫
- Oracle建立表空間、建立資料庫使用者、賦許可權Oracle資料庫
- MySQL資料庫許可權體系入門(5)---管理資料庫許可權MySql資料庫
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- oracle列級許可權控制Oracle
- oracle使用者許可權Oracle
- oracle 使用者許可權Oracle
- 資料庫的許可權管理資料庫
- Oracle 9i資料庫的使用者建立以及許可權分配Oracle資料庫
- 【許可權管理】Oracle中檢視、回收使用者許可權Oracle
- Oracle資料庫的系統和物件許可權Oracle資料庫物件
- Oracle使用者與許可權Oracle
- 使用者許可權 plsql OracleSQLOracle
- Oracle使用者許可權管理Oracle
- 資料庫學習:許可權管理資料庫
- Mysql資料庫許可權問題MySql資料庫
- 資料許可權
- MYSQL學習筆記13: DCL許可權控制(使用者許可權操作)MySql筆記
- 角色許可權(Role)和系統許可權(System)的幾個澄清實驗
- 怎麼控制報表的資料許可權
- ORACLE FGAC(細粒度許可權控制)(轉)Oracle
- 【DIRECTORY】普通使用者建立Oracle DIRECTORY資料庫物件的許可權需求及探索Oracle資料庫物件
- Elasticsearch 許可權控制Elasticsearch
- 查詢資料庫使用者角色和許可權檢視資料庫
- mysql 修改使用者許可權,允許遠端連線資料庫MySql資料庫
- Jenkins使用者許可權管理-Role-based Authorization Strategy外掛Jenkins
- Oracle使用者角色許可權管理Oracle
- Oracle查詢使用者許可權Oracle