Oracleグラントについて
権限
権限とはデータベースにログインしたユーザに許可する操作の事です。
例えば、更新や削除は行って欲しくないというユーザには、検索の権限のみ与えるというような使い方をします。
Oracleの権限には「オブジェクト権限」と「システム権限」があります。詳しくは順を追ってみていきましょう。
オブジェクト権限
オブジェクト権限は、他人の所有しているオブジェクトに対して何ができるのかを設定します。
所有者が異なる表やビューなどのオブジェクトを参照したい場合は、その所有者から「SELECTしてもいいよ」とか「更新してもいいよ」といった権限を与えてもらう必要があります。
- 構文(ユーザにオブジェクト権限を付与する)
-
GRANT [オブジェクト権限名] ON [オブジェクト名] TO [ユーザ名 | PUBLIC]
[WITH ADMIN OPTION]
;
※「PUBLIC」を指定すると全てのユーザに権限を与える意味になります。
WITH ADMIN OPTION を付けると与えた権限やロールを他のユーザやロールへ付与する権限も与えます。
オブジェクト権限をユーザではなくロールに対して付与することもできます。
- 構文(ロールにオブジェクト権限を付与する)
-
GRANT [オブジェクト権限名] ON [オブジェクト名] TO [ロール名];
オブジェクト権限名 | 説明 |
---|---|
ALTER | 表や順序を変更する権限 |
DELETE | 表のデータを削除する権限 |
EXECUTE | プロシージャやパッケージを実行する |
INDEX | 表に索引を作成する権限 |
INSERT | 表にデータを挿入する権限 |
REFERENCES | 参照整合性制約を作成する権限 |
SELECT | 表やビューを検索する権限 |
UPDATE | 表のデータを更新する権限 |
システム権限
システム権限は、ユーザがDBに対して何ができるのかを設定します。
この権限を与えてもらわなければ自分のオブジェクトを操作できないどころか、データベースに接続することすらできません。
システム権限は以下表のようにかなりの種類がありますので権限を与える時は、権限をロールにまとめたものをユーザに付与するのが一般的です。
権限の一覧は以下のSQLで確認できます。
- 権限の一覧を確認するSQL
- SELECT PRIVILEGE FROM SESSION_PRIVS ORDER BY PRIVILEGE;
権限の付与は以下のように実行します。
- システム権限付与の構文
-
<ユーザにシステム権限を付与する>
GRANT [システム権限名] TO [ユーザ名] [WITH ADMIN OPTION]; <ロールにシステム権限を付与する>
GRANT [システム権限名] TO [ロール名]; <ユーザにロールを付与する>
GRANT [ロール名] TO [ユーザ名] [WITH ADMIN OPTION];
WITH ADMIN OPTION を付けると与えた権限やロールを他のユーザやロールへ付与する権限も与えます。
システム権限名 | 説明 |
---|---|
ADMINISTER DATABASE TRIGGER | |
ADMINISTER RESOURCE MANAGER | |
ADMINISTER SECURITY | |
ALTER ANY CLUSTER | 任意のスキーマ内のクラスタを変更する権限 |
ALTER ANY DIMENSION | |
ALTER ANY INDEX | 索引を変更する権限 |
ALTER ANY INDEXTYPE | |
ALTER ANY LIBRARY | |
ALTER ANY OPERATOR | |
ALTER ANY OUTLINE | |
ALTER ANY PROCEDURE | プロシージャを変更する権限 |
ALTER ANY ROLE | ロールを変更する権限 |
ALTER ANY SECURITY PROFILE | |
ALTER ANY SEQUENCE | シーケンスを変更する権限 |
ALTER ANY SNAPSHOT | |
ALTER ANY TABLE | 表を変更する権限 |
ALTER ANY TRIGGER | |
ALTER ANY TYPE | |
ALTER DATABASE | データベースを変更する権限 |
ALTER PROFILE | プロファイルを変更する権限 |
ALTER RESOURCE COST | |
ALTER ROLLBACK SEGMENT | |
ALTER SESSION | セッションのパラメータが変更できる権限 |
ALTER SYSTEM | |
ALTER TABLESPACE | |
ALTER USER | 他ユーザを変更する権限 |
ANALYZE ANY | 表・索引を分析する権限 |
AUDIT ANY | スキーマオブジェクトを監査する権限 |
AUDIT SYSTEM | |
BACKUP ANY TABLE | |
BECOME USER | |
COMMENT ANY TABLE | 表にコメントを作成する権限 |
CREATE ANY CLUSTER | 任意のスキーマ内にクラスタを作成する権限 |
CREATE ANY CONTEXT | |
CREATE ANY DIMENSION | |
CREATE ANY DIRECTORY | |
CREATE ANY INDEX | 任意のスキーマ内に索引を作成する権限 |
CREATE ANY INDEXTYPE | |
CREATE ANY LIBRARY | |
CREATE ANY OPERATOR | |
CREATE ANY OUTLINE | |
CREATE ANY PROCEDURE | 任意のスキーマ内にプロシージャを作成する権限 |
CREATE ANY SECURITY PROFILE | |
CREATE ANY SEQUENCE | 任意のスキーマ内に順序を作成する権限 |
CREATE ANY SNAPSHOT | |
CREATE ANY SYNONYM | 任意のスキーマ内に別名を作成する権限 |
CREATE ANY TABLE | 任意のスキーマに表を作成する権限 |
CREATE ANY TRIGGER | 任意のスキーマ内にトリガーを作成する権限 |
CREATE ANY TYPE | |
CREATE ANY VIEW | 任意のスキーマにビューを作成する権限 |
CREATE CLUSTER | クラスタセグメントを作成する権限 |
CREATE DATABASE LINK | プライベートデータベースリンクを作成する権限 |
CREATE DIMENSION | |
CREATE INDEXTYPE | |
CREATE LIBRARY | |
CREATE OPERATOR | |
CREATE PROCEDURE | 自スキーマ内にプロシージャを作成する権限 |
CREATE PROFILE | プロファイルを作成する権限 |
CREATE PUBLIC DATABASE LINK | |
CREATE PUBLIC SYNONYM | パブリックシノニムを作成するための権限 |
CREATE ROLE | ロールを作成する権限 |
CREATE ROLLBACK SEGMENT | |
CREATE SECURITY PROFILE | |
CREATE SEQUENCE | 自スキーマ内に順序を作成する権限 |
CREATE SESSION | |
CREATE SNAPSHOT | |
CREATE SYNONYM | 自スキーマ内に別名を作成する権限 |
CREATE TABLE | 自スキーマに表を作成する権限 |
CREATE TABLESPACE | 表領域を作成する権限 |
CREATE TRIGGER | 自スキーマにトリガーを作成する権限 |
CREATE TYPE | |
CREATE USER | ユーザを作成する権限 |
CREATE VIEW | 自スキーマにビューを作成する権限 |
DEBUG ANY PROCEDURE | |
DEBUG CONNECT ANY | |
DEBUG CONNECT SESSION | |
DEBUG CONNECT USER | |
DELETE ANY TABLE | 表・ビューの行を削除する権限 |
DEQUEUE ANY QUEUE | |
DROP ANY CLUSTER | クラスタを削除する権限 |
DROP ANY CONTEXT | |
DROP ANY DIMENSION | |
DROP ANY DIRECTORY | |
DROP ANY INDEX | 索引を削除する権限 |
DROP ANY INDEXTYPE | |
DROP ANY LIBRARY | |
DROP ANY OPERATOR | |
DROP ANY OUTLINE | |
DROP ANY PROCEDURE | プロシージャを削除する権限 |
DROP ANY ROLE | ロールを削除する権限 |
DROP ANY SECURITY PROFILE | |
DROP ANY SEQUENCE | シーケンスを削除する権限 |
DROP ANY SNAPSHOT | |
DROP ANY SYNONYM | シノニムを削除する権限 |
DROP ANY TABLE | 表を削除する権限 |
DROP ANY TRIGGER | トリガーを削除する権限 |
DROP ANY TYPE | |
DROP ANY VIEW | ビューを削除する権限 |
DROP PROFILE | プロファイルを削除する権限 |
DROP PUBLIC DATABASE LINK | |
DROP PUBLIC SYNONYM | パブリックシノニムを削除する権限 |
DROP ROLLBACK SEGMENT | |
DROP TABLESPACE | 表領域を削除する権限 |
DROP USER | ユーザを削除する権限 |
ENQUEUE ANY QUEUE | |
EXECUTE ANY INDEXTYPE | |
EXECUTE ANY LIBRARY | |
EXECUTE ANY OPERATOR | |
EXECUTE ANY PROCEDURE | プロシージャを実行する権限 |
EXECUTE ANY TYPE | |
EXEMPT ACCESS POLICY | |
FORCE ANY TRANSACTION | |
FORCE TRANSACTION | |
GLOBAL QUERY REWRITE | |
GRANT ANY PRIVILEGE | |
GRANT ANY ROLE | |
INSERT ANY TABLE | 表・ビューに行を挿入する権限 |
LOCK ANY TABLE | 表・ビューをロックする権限 |
MANAGE ANY QUEUE | |
MANAGE TABLESPACE | |
ON COMMIT REFRESH | |
QUERY REWRITE | |
READUP | |
READUP DBHIGH | |
RESTRICTED SESSION | |
RESUMABLE | |
SELECT ANY DICTIONARY | |
SELECT ANY SEQUENCE | シーケンスを読み込む権限 |
SELECT ANY TABLE | 表・ビュー・スナップショットを検索する権限 |
SYSDBA | DBの起動・停止、オブジェクトの作成など何でも出来る権限 |
SYSOPER | DBの起動・停止はできるが、データディクショナリへはアクセス不可 |
UNDER ANY TABLE | |
UNDER ANY TYPE | |
UNDER ANY VIEW | |
UNLIMITED TABLESPACE | |
UPDATE ANY TABLE | 表・ビューを更新する権限 |
WRITEDOWN | |
WRITEDOWN DBLOW | |
WRITEUP | |
WRITEUP DBHIGH |
Oracleグラントについて的更多相关文章
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- Oracle 的基本操作符
!= 不等于 select empno,ename,job from scott.emp where job!='manager' ^= 不等于 select empno,ename,job from ...
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- 基于Oracle安装Zabbix
软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传 ...
- Oracle Database 12c Data Redaction介绍
什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...
- 使用Oracle官方巡检工具ORAchk巡检数据库
ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...
- 利用Oracle RUEI+EM12c进行应用的“端到端”性能诊断
概述 我们知道,影响一个B/S应用性能的因素,粗略地说,有以下几个大的环节: 1. 客户端环节 2. 网络环节(可能包括WAN和LAN) 3. 应用及中间层环节 4. 数据库层环节 能够对各个环节的问 ...
- 使用技术手段限制DBA的危险操作—Oracle Database Vault
概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...
随机推荐
- 2018/03/28 每日一个Linux命令 之 mkdir/rmdir
用于建立空文件夹和删除文件夹 -- 两命令重要参数 -p 递归建立/删除 -- 例如 mkdir -p demo1/demo2/demo3 建立demo3空文件夹,如果demo1/demo2没建立也建 ...
- oracle行转列,列转行
多行转字符串这个比较简单,用||或concat函数可以实现 SQL Code select concat(id,username) str from app_userselect id||userna ...
- 【Python】if相关知识点
1.9选课中心前两页课程名称打印到固定系统文件夹的某个csv文件中. #-*- coding: UTF-8 -*- #coding==utf-8 #from selenium.webdriver.su ...
- 简单mysql常用命令
在命令行 输入 mysql -uroot -p123456 (-u账号 -p密码)登入mysql服务器 1.设置mysql密码set password for 'root'@'localhost' = ...
- Python安装sqlite3
今天使用PYthon时,发现错误 ImportError: No module named sqlite 这是因为缺少 SQLITE3的缘故. 下面分享一下解决此问题的方法步骤: 1. 查看是Pyth ...
- 小P的故事——神奇的换零钱&&人活着系列之平方数
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2777&cid=1219 这题不会,看了别人的代码 #include <iostre ...
- Hat's Fibonacci
http://acm.hdu.edu.cn/showproblem.php?pid=1250 大数斐波那契 %08d是什么东西,为什么我用flag交不上,唉,不刷大数了,没劲.暑假再讲. 就是交不上 ...
- 机器学习理论基础学习13--- 隐马尔科夫模型 (HMM)
隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他名字命名的.隐含马尔可夫模型一直被认为是解决大多数自然语言处理问题最为 ...
- Ajax棵
ajax 1.什么是ajax?(异步请求,局部刷新) ajax是一个改善用户体验的技术,实质上是利用浏览器端ajax对象()向服务器发送异步(ajax对象在向服务器发送请求的时候,用户可以继续其他操作 ...
- shell应用技巧
Shell 应用技巧 Shell是一个命令解释器,是在内核之上和内核交互的一个层面. Shell有很多种,我们所使用的的带提示符的那种属于/bin/bash,几乎所有的linux系统缺省就是这种she ...