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資料庫scott使用者建立view檢視許可權Oracle資料庫View
- Oracle 資料庫安全許可權配置標準Oracle資料庫
- PostgreSQL資料庫使用者許可權管理SQL資料庫
- 授權|取消授權MYSQL資料庫使用者許可權MySql資料庫
- 資料分析的許可權控制
- 資料庫的許可權管理資料庫
- Oracle使用者角色許可權管理Oracle
- 許可權控制
- mysql 床架新資料庫並分配使用者許可權MySql資料庫
- Jenkins使用者許可權管理-Role-based Authorization Strategy外掛Jenkins
- 資料庫學習:許可權管理資料庫
- Mysql資料庫許可權問題MySql資料庫
- MYSQL學習筆記13: DCL許可權控制(使用者許可權操作)MySql筆記
- 怎麼控制報表的資料許可權
- shiro許可權控制
- MySQL使用者許可權控制一例MySql
- 許可權系統:一文搞懂功能許可權、資料許可權
- win10使用者許可權管理資料夾怎麼設定_win10資料夾完全控制許可權操作方法Win10
- k8s結合jumpserver做kubectl許可權控制 使用者在多個namespaces的訪問許可權 rbac許可權控制K8SServernamespace訪問許可權
- DBA 日常:規模使用者資料庫訪問許可權管理資料庫訪問許可權
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- MySQL資料庫Root許可權MOF方法提權研究MySql資料庫
- Oracle資料泵建立使用者避坑(表空間配額、許可權)Oracle
- Linux的許可權控制Linux
- PostgreSQL_通過schema控制使用者許可權SQL
- 七、許可權管理和資料庫備份資料庫
- 報表如何透過引數控制資料許可權
- 關於SQL Server資料庫中的使用者許可權和角色管理SQLServer資料庫
- 帶你學習DWS資料庫使用者許可權設計與管理資料庫
- Laravel——使用者角色許可權控制包 Laravel-permissionLaravel
- [資料庫]MYSQL之授予/查驗binlog許可權資料庫MySql
- Laravel實現許可權控制Laravel
- 【USER】Oracle 一個普通使用者有多少許可權Oracle
- 許可權控制庫 Casbin 在 Slim 中的應用
- MySQL新增新使用者、為使用者建立資料庫、為新使用者分配許可權MySql資料庫
- linux使用者許可權Linux
- 登入失敗,提示“資料庫目錄許可權寫入不足”,可以操作設定資料庫目錄許可權為 777。資料庫
- 複製建立已有資料庫使用者、表空間、許可權的指令碼資料庫指令碼
- 許可權維持專題:域控制器許可權維持