Oracle创建用户并给用户授权查询指定表或视图的权限
MSV31賬戶登錄數(shù)據(jù)庫(kù)進(jìn)行如下操作:
CREATE USER?NORTHBOUND IDENTIFIED BY?NORTHBOUND
?DEFAULT TABLESPACE "TBS_DNINMSV31"
?TEMPORARY TABLESPACE "TEMP2"
?QUOTA UNLIMITED ON "TBS_DNINMSV31";
GRANT "CONNECT" TO?NORTHBOUND;
ALTER USER?NORTHBOUND DEFAULT ROLE NONE;
GRANT CREATE?SESSION TO?NORTHBOUND;
GRANT SELECT ON "DNINMSV31"."V_DNDEVICE" TONORTHBOUND;
GRANT SELECT ON "DNINMSV31"."V_DNSUBNE" TO?NORTHBOUND;
GRANT SELECT ON "DNINMSV31"."V_DNPACKAGE" TO?NORTHBOUND;
GRANT SELECT ON "DNINMSV31"."V_DNPORT" TO?NORTHBOUND;
【注】:在用NORTHBOUND登錄后查詢的時(shí)候要在視圖前加上DNINMSV31,否則會(huì)報(bào)表或視圖不存在。
??????? 例如:
??????? select * from?DNINMSV31.V_DNDEVICE;?????--可以正常執(zhí)行
??????? select * from?DNINMSV31.TB_DEVICE where rownum<5;???--執(zhí)行的時(shí)候會(huì)報(bào)表或視圖不存在
?
?
--------------------------------------------------------------------------------------------------
GRANT debug any procedure, debug connect session TO hnckb;
grant select on sys.dba_pending_transactions to hnckb;
grant CREATE VIEW,CREATE JOB,CREATE SYNONYM to hnckb;
grant CONNECT,RESOURCE to hnckb;
1.標(biāo)準(zhǔn)角色
CONNECT
RESOURCE
2.系統(tǒng)權(quán)限
CREATE VIEW
CREATE DATABASE LINK
CREATE JOB
CREATE SYNONYM
UNLIMITED TABLESPACE
更改定額
命令:ALTER USER 名稱 QUOTA 0 ON 表空間名
ALTER USER 名字 QUOTA (數(shù)值)K|M|UNLIMITED ON 表空間名;
使用方法:
A、控制用戶數(shù)據(jù)增長(zhǎng)
B、當(dāng)用戶擁有一定的數(shù)據(jù),而管理員不想讓他在增加新的數(shù)據(jù)的時(shí)候。
C、當(dāng)將用戶定額設(shè)為零的時(shí)候,用戶不能創(chuàng)建新的數(shù)據(jù),但原有數(shù)據(jù)仍可訪問(wèn)。
3.對(duì)象權(quán)限
DBA_PENDING_TRANSACTIONS (SELECT)? — XA事務(wù)支持
grant select on sys.dba_pending_transactions to user;
4.建議開(kāi)放
DEBUG CONNECT SESSION??????????????? — 調(diào)試存儲(chǔ)過(guò)程
例如:
GRANT debug any procedure, debug connect session TO hr;
Oracle創(chuàng)建表空間、創(chuàng)建用戶、授權(quán)、授權(quán)對(duì)象的訪問(wèn)以及查看權(quán)限
1.創(chuàng)建臨時(shí)表空間
Oracle臨時(shí)表空間主要用來(lái)做查詢和存放一些緩沖區(qū)數(shù)據(jù)。臨時(shí)表空間消耗的主要原因是需要對(duì)查詢的中間結(jié)
果進(jìn)行排序。
臨時(shí)表空間的主要作用:
索引create或rebuild
Order by 或 group by
Distinct 操作
Union 或 intersect 或 minus
Sort-merge joins
CREATE TEMPORARY TABLESPACE “TEST_TEMP”
??? TEMPFILE ‘D:ORACLEPRODUCT10.2.0ORADATAGISTEST_DATA.ora’
??? SIZE 20M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
2.創(chuàng)建用戶表空間
CREATE TABLESPACE “TEST_DATA”
??? LOGGING
??? DATAFILE ‘D:ORACLEPRODUCT10.2.0ORADATAGISTEST_DATA.ora’
??? SIZE 20M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
3.創(chuàng)建用戶并設(shè)置其表空間
username:usertest
password:userpwd
CREATE USER usertest IDENTIFIED BY userpwd
DEFAULT TABLESPACE TEST_DATA
TEMPORARY TABLESPACE TEST_TEMP;
4.給用戶授權(quán)
GRANT
CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
ALTER ANY TABLE, ALTER ANY PROCEDURE,
DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
TO username;
首先授權(quán)用戶testuser兩個(gè)基本的角色權(quán)限
CONNECT角色:??? –是授予最終用戶的典型權(quán)利,最基本的??????
?? CREATE??? SESSION??? –建立會(huì)話?
RESOURCE角色:??? –是授予開(kāi)發(fā)人員的?????
?? CREATE??? CLUSTER???????? –建立聚簇??
?? CREATE??? PROCEDURE??? –建立過(guò)程??
?? CREATE??? SEQUENCE????? –建立序列??
?? CREATE??? TABLE????????????? –建表??
?? CREATE??? TRIGGER????????? –建立觸發(fā)器??
?? CREATE??? TYPE??????????????? –建立類型
?? CREATE??? OPERATOR?????? –創(chuàng)建操作者
?? CREATE??? INDEXTYPE????? –創(chuàng)建索引類型
?? CREATE??? TABLE????????????? –創(chuàng)建表
授權(quán)角色給用戶的sql語(yǔ)句:
GRANT role TO username;
?
5.查看用戶權(quán)限
查看所有用戶
SELECT * FROM DBA_USERS;
SELECT * FROM ALL_USERS;
SELECT * FROM USER_USERS;
查看用戶系統(tǒng)權(quán)限
SELECT * FROM DBA_SYS_PRIVS;
SELECT * FROM USER_SYS_PRIVS;
查看用戶對(duì)象或角色權(quán)限
SELECT * FROM DBA_TAB_PRIVS;
SELECT * FROM ALL_TAB_PRIVS;
SELECT * FROM USER_TAB_PRIVS;
查看所有角色
SELECT * FROM DBA_ROLES;
查看用戶或角色所擁有的角色
SELECT * FROM DBA_ROLE_PRIVS;
SELECT * FROM USER_ROLE_PRIVS;
遇到no privileges on tablespace ‘tablespace ‘
alter user userquota 10M[unlimited] on tablespace;
?
創(chuàng)建表空間-創(chuàng)建用戶-授權(quán)
create tablespace hrm datafile 'D:\oracle\product\10.1.0\oradata\orcl\hrm.dbf' size 100M autoextend on;
create user frankdun identified by frankdun default tablespace hrm temporary tablespace temp;
grant resource,connect,debug connect session to frankdun;
總結(jié)
以上是生活随笔為你收集整理的Oracle创建用户并给用户授权查询指定表或视图的权限的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Oracle 查看表空间的大小及使用情况
- 下一篇: ora 12541无监听程序