plsql授權
A. Oracle把視圖查詢許可權給某用戶的SQL是什麼
oracle給某用戶授權試圖查詢的SQL語句為:
SQL> grant select on v_$mystat to test1;
Grant succeeded.
這樣 test1用戶就擁有了 查詢v$mystat視圖的許可權了
收回許可權命令:
SQL>revoke select on v_$mystat from test1;
(1)plsql授權擴展閱讀
oracle 的用戶管理的常用命令介紹:
1、創建用戶:create user 用戶名 identified by 密碼;
SQL> create user scw identified by 123;
2、修改其他用戶密碼 需要許可權;
SQL> conn system/123;
已連接。
SQL> alter user scw identified by 123;
3、賦予用戶連接資料庫的許可權:
SQL>grant create session to zhansgan;
4、查看當前用戶所有表的表名:
SQL> select table_name from user_tables;
B. plsql用戶授權是什麼意思
plsql創建用戶首先是要有許可權,有許可權下,創建用戶的命令是
create user username identified by password default tablespace tablespacename
如果沒有指定表空間default tablespace tablespacename,則會把這個用戶添加到系統默認的表空間中;
授權:grant dba,resource,connect....(各種許可權) to username;
添加一個用戶基本的流程應該是這樣:
創建一個該用戶的表空間,當然也可以跟其他用戶共用某個表空間
create tablesapce tablespacename datafile '指定一個目錄/username.dbf' size 100m autoextend on next 100m mazsize 300m 這些指定的大小可以自定義
創建用戶
create user username identified by password default tablespace tablespacename
授權
grant dba,resource,connect to username 需要具體哪些許可權也可以自定義指定
碼字不容易,望採納!!
C. 如何在一個grant語句里授權多個庫
GRANT 在安全系統中創建項目,使當前資料庫中的用戶得以處理當前資料庫中的數據或執行特定的 Transact-SQL 語句。 語法 語句許可權: GRANT { ALL | statement [ ,...n ] } TO security_account [ ,...n ] 對象許可權: GRANT { ALL [ PRIVILEGES ] | permission [ ,...n ] } { [ ( column [ ,...n ] ) ] ON { table | view } | ON { table | view } [ ( column [ ,...n ] ) ] | ON { stored_procere | extended_procere } | ON { user_defined_function } } TO security_account [ ,...n ] [ WITH GRANT OPTION ] [ AS { group | role } ] 參數 ALL 表示授予所有可用的許可權。對於語句許可權,只有 sysadmin 角色成員可以使用 ALL。對於對象許可權,sysadmin 和 db_owner 角色成員和資料庫對象所有者都可以使用 ALL。 statement 是被授予許可權的語句。語句列表可以包括: CREATE DATABASE CREATE DEFAULT CREATE FUNCTION CREATE PROCEDURE CREATE RULE CREATE TABLE CREATE VIEW BACKUP DATABASE BACKUP LOG n 一個佔位符,表示此項可在逗號分隔的列表中重復。 TO 指定安全帳戶列表。 security_account 是許可權將應用的安全帳戶。安全帳戶可以是: Microsoft® SQL Server™ 用戶。 SQL Server 角色。 Microsoft Windows NT® 用戶。 Windows NT 組。 當許可權被授予一個 SQL Server 用戶或 Windows NT 用戶帳戶,指定的 security_account 是許可權能影響到的唯一帳戶。若許可權被授予 SQL Server 角色或 Windows NT 組,許可權可影響到當前資料庫中該組或該角色成員的所有用戶。若組或角色和它們的成員之間存在許可權沖突,最嚴格的許可權 (DENY) 優先起作用。security_account 必須在當前資料庫中存在;不可將許可權授予其它資料庫中的用戶、角色或組,除非已為該用戶在當前資料庫中創建或給予了訪問許可權。 兩個特殊的安全帳戶可用於 GRANT 語句。授予 public 角色的許可權可應用於資料庫中的所有用戶。授予 guest 用戶的許可權可為所有在資料庫中沒有用戶帳戶的用戶使用。 當授予某個 Windows NT 本地組或全局組許可權時,請指定在其上定義該組的域名或計算機名,然後依次輸入反斜線和組名。但是,若要授予訪問 Windows NT 內置本地組的許可權,請指定 BUILTIN 而不是域名或計算機名。 PRIVILEGES 是可以包含在符合 SQL-92 標準的語句中的可選關鍵字。 permission 是當前授予的對象許可權。當在表、表值函數或視圖上授予對象許可權時,許可權列表可以包括這些許可權中的一個或多個:SELECT、INSERT、DELETE、REFENENCES 或 UPDATE。列列表可以與 SELECT 和 UPDATE 許可權一起提供。如果列列表未與 SELECT 和 UPDATE 許可權一起提供,那麼該許可權應用於表、視圖或表值函數中的所有列。 在存儲過程上授予的對象許可權只可以包括 EXECUTE。在標量值函數上授予的對象許可權可以包括 EXECUTE 和 REFERENCES。 為在 SELECT 語句中訪問某個列,該列上需要有 SELECT 許可權。為使用 UPDATE 語句更新某個列,該列上需要有 UPDATE 許可權。 為創建引用某個表的 FOREIGN KEY 約束,該表上需要有 REFERENCES 許可權。 為使用引用某個對象的 WITH SCHEMABINDING 子句創建 FUNCTION 或 VIEW,該對象上需要有 REFERENCES 許可權。 column 是當前資料庫中授予許可權的列名。 table 是當前資料庫中授予許可權的表名。 view 是當前資料庫中被授予許可權的視圖名。 stored_procere 是當前資料庫中授予許可權的存儲過程名。 extended_procere 是當前資料庫中授予許可權的擴展存儲過程名。 user_defined_function 是當前資料庫中授予許可權的用戶定義函數名。 WITH GRANT OPTION 表示給予了 security_account 將指定的對象許可權授予其它安全帳戶的能力。WITH GRANT OPTION 子句僅對對象許可權有效。 AS {group | role} 指當前資料庫中有執行 GRANT 語句權力的安全帳戶的可選名。當對象上的許可權被授予一個組或角色時使用 AS,對象許可權需要進一步授予不是組或角色的成員的用戶。因為只有用戶(而不是組或角色)可執行 GRANT 語句,組或角色的特定成員授予組或角色權力之下的對象的許可權。 注釋 不允許有跨資料庫許可權;只能將當前資料庫中的對象和語句的許可權授予當前資料庫中的用戶。如果用戶需要另一個資料庫中的對象的許可權,請在該資料庫中創建用戶帳戶,或者授權用戶帳戶訪問該資料庫以及當前資料庫。 說明 系統存儲過程是例外,因為 EXECUTE 許可權已經授予 public 角色,允許任何人去執行。但是在執行系統存儲過程後,將檢查用戶的角色成員資格。如果此用戶不是運行此存儲過程所需要的適當的固定伺服器或資料庫角色的成員,則此存儲過程不會繼續執行。 REVOKE 語句可用於刪除已授予的許可權,DENY 語句可用於防止用戶通過 GRANT 語句獲得許可權給他們的用戶帳戶。 授予許可權刪除所授予級別(用戶、組或角色)上的已拒絕許可權或已廢除許可權。在另一級別(諸如包含此用戶的組或角色)上被拒絕的同一許可權優先起作用。但是,雖然在另一級別上所廢除的同一許可權仍然適用,但它並不阻止用戶訪問該對象。 如果用戶激活應用程序角色,對此用戶通過該應用程序角色訪問的任何對象,GRANT 的作用為空。因此,盡管一個用戶可能被授予了對當前資料庫中的指定對象的訪問許可權,但是如果此用戶使用對此對象無訪問許可權的應用程序角色,則在應用程序角色激活期間,此用戶也沒有此對象的訪問許可權。 sp_helprotect 系統存儲過程報告在資料庫對象或用戶上的許可權。 許可權 GRANT 許可權依賴於所授予的語句許可權和許可權中涉及的對象。sysadmin 角色中的成員可在任何資料庫中授予任何許可權。對象所有者可為他們所擁有的對象授予許可權。db_owner 或 db_securityadmin 角色的成員可授予其資料庫中任何語句或對象上的任何許可權。 需要許可權的語句是那些在資料庫中增加對象,或對資料庫執行管理活動的語句。每條需要許可權的語句都有一個特定的角色集,自動有許可權執行此語句。例如,sysadmin、db_owner 和 db_ddladmin 角色的成員默認有CREATE TABLE 許可權。sysadmin 和 db_owner 角色以及表的所有者默認有對表執行 SELECT 語句的許可權。 有一些 Transact-SQL 語句不能被授予許可權;執行這些語句要求有固定角色中的成員資格,此角色有默示執行特殊語句的許可權。例如,若要執行 SHUTDOWN 語句,用戶必須添加為 serveradmin 角色中的成員。 dbcreator、processadmin、securityadmin 和 serveradmin 固定伺服器角色的成員僅有權執行以下 Transact-SQL 語句。 語句 dbcreator processadmin securityadmin serveradmin bulkadmin ALTER DATABASE X CREATE DATABASE X BULK INSERT X DBCC X (1) DENY X (2) GRANT X (2) KILL X RECONFIGURE X RESTORE X REVOKE X (2) SHUTDOWN X (1) 有關更多信息,請參見 DBCC 語句。 (2) 僅適用於 CREATE DATABASE 語句。 說明 diskadmin 和 setupadmin 固定伺服器角色的成員沒有許可權執行任何 Transact-SQL 語句,他們只能執行特定的系統存儲過程。但是,sysadmin 固定伺服器角色的成員有許可權執行所有的 Transact-SQL 語句。 下面的固定資料庫角色的成員有許可權執行指定的 Transact-SQL 語句。 語句 db_owner db_datareader db_datawriter db_ddladmin db_backupoperator db_securityadmin ALTER DATABASE X X ALTER FUNCTION X X ALTER PROCEDURE X X ALTER TABLE X (1) X ALTER TRIGGER X X ALTER VIEW X (1) X BACKUP X X CHECKPOINT X X CREATE DEFAULT X X CREATE FUNCTION X X CREATE INDEX X (1) X CREATE PROCEDURE X X CREATE RULE X X CREATE TABLE X X CREATE TRIGGER X (1) X CREATE VIEW X X DBCC X X (2) DELETE X (1) X DENY X X DENY on object X DROP X (1) X EXECUTE X (1) GRANT X X GRANT on object X (1) INSERT X (1) X READTEXT X (1) X REFERENCES X (1) X RESTORE X REVOKE X X REVOKE on object X (1) SELECT X (1) X SETUSER X TRUNCATE TABLE X (1) X UPDATE X (1) X UPDATE STATISTICS X (1) UPDATETEXT X (1) X WRITETEXT X (1) X (1) 許可權也適用於對象所有者。 (2) 有關更多信息,請參見 DBCC 語句。 說明 db_accessadmin 固定資料庫角色的成員沒有執行任何 Transact-SQL 語句的許可權,只可執行特定的系統存儲過程。 不需要許可權即可執行的 Transact-SQL 語句有(已自動授予 public): BEGIN TRANSACTION COMMIT TRANSACTION PRINT RAISERROR ROLLBACK TRANSACTION SAVE TRANSACTION SET 有關執行系統存儲過程所需許可權的更多信息,請參見相應的系統存儲過程。 示例 A. 授予語句許可權 下面的示例給用戶 Mary 和 John 以及 Windows NT 組 Corporate\BobJ 授予多個語句許可權。 GRANT CREATE DATABASE, CREATE TABLE TO Mary, John, [Corporate\BobJ] B. 在許可權層次中授予對象許可權 下例顯示許可權的優先順序。首先,給 public 角色授予 SELECT 許可權。然後,將特定的許可權授予用戶 Mary、John 和 Tom。於是這些用戶就有了對 authors 表的所有權限。 USE pubs GO GRANT SELECT ON authors TO public GO GRANT INSERT, UPDATE, DELETE ON authors TO Mary, John, Tom GO C. 給 SQL Server 角色授予許可權 下面的示例將 CREATE TABLE 許可權授予 Accounting 角色的所有成員。 GRANT CREATE TABLE TO Accounting D. 用 AS 選項授予許可權 用戶 Jean 擁有表 Plan_Data。Jean 將表 Plan_Data 的 SELECT 許可權授予 Accounting 角色(指定 WITH GRANT OPTION 子句)。用戶 Jill 是 Accounting 的成員,他要將表 Plan_Data 上的 SELECT 許可權授予用戶 Jack,Jack 不是 Accounting 的成員。 因為對表 Plan_Data 用 GRANT 語句授予其他用戶 SELECT 許可權的許可權是授予 Accounting 角色而不是顯式地授予 Jill,不能因為已授予 Accounting 角色中成員該許可權,而使 Jill 能夠授予表的許可權。Jill 必須用 AS 子句來獲得 Accounting 角色的授予許可權。 /* User Jean */ GRANT SELECT ON Plan_Data TO Accounting WITH GRANT OPTION /* User Jill */ GRANT SELECT ON Plan_Data TO Jack AS Accounting
D. 賦予oracle資料庫中某一用戶表許可權的問題
開通其中2張表的查詢許可權,方法如下:
grant select on bas_checkcycle to jdc;這個是整個語句。
語句分析:
grant select on bas_checkcycle to jdc;
這個顏色為執行語句。
這個顏色是數據表。
這個顏色是用戶;就是需要許可權的用戶。
下面這個是查看,更新,刪除,增加的許可權都開啟。
grant select,update,delete,insert on UserTagPool to [app_webservice];
grant select,update,delete,insert on UserTagPoolMap to [app_webservice];
(4)plsql授權擴展閱讀
Oracle許可權管理
許可權分類:
系統許可權:系統規定用戶使用資料庫的許可權。(系統許可權是對用戶而言)。
實體許可權:某種許可權用戶對其它用戶的表或視圖的存取許可權。(是針對表或視圖而言的)。
系統許可權分類:
DBA: 擁有全部特權,是系統最高許可權,只有DBA才可以創建資料庫結構。
RESOURCE:擁有Resource許可權的用戶只可以創建實體,不可以創建資料庫結構。
CONNECT:擁有Connect許可權的用戶只可以登錄Oracle,不可以創建實體,不可以創建資料庫結構。
E. oracle建立資料庫後 有很多的默認表在plsql中怎麼設置不顯示啊 還有就是怎麼把這個新庫授權給新建的用戶
這些都是系統的視圖,你用sys或system登錄就能看得見.
創建用戶 create user username identified by password;
授予連接角色 grant connect to username;
授予使用資源的角色 grant resource to username;
創建表空間 create tablespace tablespacename
datafile 『/路徑/名稱' size 大小;
設置默認表空間 alter user username default tablespace tablespacename;
F. plsql怎麼給用戶創建用戶許可權
雙擊運行PLSQL Developer軟體復,連接oracle資料庫制伺服器
在「對象」下,找到users,右擊選擇「新建」
在彈出的「創建用戶」窗口中,輸入新用戶的名稱、口令,默認表空間、臨時表空間等
賦予新用戶許可權,賦予其角色許可權:connect、resource,這樣用戶才能登錄操作資料庫
G. oracle中為什麼以sys的身份在plsql中無法給其他用戶授權,在命令窗口中又可以
在plsql中你應該使用命令窗口,不能使用sql窗口進行賦權,plsql是很強大的
H. oracle創建用戶並分配訪問指定視圖的許可權
首先創來建用戶和授權不需要自commit,commit只在insert,update,delete時用。
假如有賬戶A和B,密碼都為123
如果需要授權A訪問B中視圖的許可權,需要先登錄B通過賬戶B授權給A,代碼如下
conn B/123
grant select on View to A;
這時A才能訪問B中的視圖,訪問時需要在視圖名前加上schema,如下
select * from B.view;
如果想直接通過視圖名來訪問可通過創建「同義詞」的方式實現
希望能幫助到你
I. oracle 怎樣查詢某用戶下的所有表的表名
如果是用該用戶登錄使用以下語句:
SELECT*
FROMUSER_TABLES;
如果是用其他用戶(在dba許可權下):
SELECT*
FROM ALL_TABLESWHEREOWNER='USER_NAME'
(9)plsql授權擴展閱讀:
1、查詢「c001」課程比「c002」課程成績高的所有學生的學號;
select * from sc a
where a.cno='c001'
and exists(select * from sc b where b.cno='c002' and a.score>b.score
and a.sno = b.sno)
2、查詢平均成績大於60 分的同學的學號和平均成績;
select sno,avg(score) from sc group by sno having avg(score)>60;
3、查詢所有同學的學號、姓名、選課數、總成績;
select a.*,s.sname from (select sno,sum(score),count(cno) from sc group by sno) a ,student s where a.sno=s.sno
4、查詢姓「劉」的老師的個數;
select count(*) from teacher where tname like '劉%';