Oracle創建用戶並給用戶授權查詢指定表或視圖的權限


MSV31賬戶登錄數據庫進行如下操作:

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登錄后查詢的時候要在視圖前加上DNINMSV31,否則會報表或視圖不存在。
        例如:
        select * from DNINMSV31.V_DNDEVICE;     --可以正常執行

        select * from DNINMSV31.TB_DEVICE where rownum<5;   --執行的時候會報表或視圖不存在

 

 

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

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.標准角色
CONNECT
RESOURCE

2.系統權限
CREATE VIEW
CREATE DATABASE LINK
CREATE JOB
CREATE SYNONYM
UNLIMITED TABLESPACE
更改定額
命令:ALTER USER 名稱 QUOTA 0 ON 表空間名
ALTER USER 名字 QUOTA (數值)K|M|UNLIMITED ON 表空間名;
使用方法:
A、控制用戶數據增長
B、當用戶擁有一定的數據,而管理員不想讓他在增加新的數據的時候。
C、當將用戶定額設為零的時候,用戶不能創建新的數據,但原有數據仍可訪問。

3.對象權限
DBA_PENDING_TRANSACTIONS (SELECT)  — XA事務支持

grant select on sys.dba_pending_transactions to user;
4.建議開放
DEBUG CONNECT SESSION                — 調試存儲過程
例如:
GRANT debug any procedure, debug connect session TO hr;

Oracle創建表空間、創建用戶、授權、授權對象的訪問以及查看權限
1.創建臨時表空間
Oracle臨時表空間主要用來做查詢和存放一些緩沖區數據。臨時表空間消耗的主要原因是需要對查詢的中間結

果進行排序。
臨時表空間的主要作用:
索引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.創建用戶表空間
CREATE TABLESPACE “TEST_DATA”
    LOGGING
    DATAFILE ‘D:ORACLEPRODUCT10.2.0ORADATAGISTEST_DATA.ora’
    SIZE 20M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;

3.創建用戶並設置其表空間
username:usertest
password:userpwd

CREATE USER usertest IDENTIFIED BY userpwd
DEFAULT TABLESPACE TEST_DATA
TEMPORARY TABLESPACE TEST_TEMP;

4.給用戶授權
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;

首先授權用戶testuser兩個基本的角色權限

CONNECT角色:    –是授予最終用戶的典型權利,最基本的      
   CREATE    SESSION    –建立會話 

RESOURCE角色:    –是授予開發人員的     
   CREATE    CLUSTER         –建立聚簇  
   CREATE    PROCEDURE    –建立過程  
   CREATE    SEQUENCE      –建立序列  
   CREATE    TABLE              –建表  
   CREATE    TRIGGER          –建立觸發器  
   CREATE    TYPE                –建立類型
   CREATE    OPERATOR       –創建操作者
   CREATE    INDEXTYPE      –創建索引類型
   CREATE    TABLE              –創建表

授權角色給用戶的sql語句:
GRANT role TO username;

 

5.查看用戶權限

查看所有用戶
SELECT * FROM DBA_USERS;
SELECT * FROM ALL_USERS;
SELECT * FROM USER_USERS;

查看用戶系統權限
SELECT * FROM DBA_SYS_PRIVS;
SELECT * FROM USER_SYS_PRIVS;

查看用戶對象或角色權限
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;

 

創建表空間-創建用戶-授權

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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM