Oracle將指定表分配給乙個新使用者進行檢視資料

2021-07-08 12:33:06 字數 1067 閱讀 6635

有兩個使用者,乙個是a,乙個是b

現在在a使用者下有很多表,將來也會增加一些表,

我如何通過許可權設定,讓b擁有查詢(僅僅查詢)a使用者下所有表的許可權。

1,執行下面這個查詢語句

select 'grant select on a.'||t.table_name||' to b;' from dba_tables t where t.owner='a';

2,執行上面查詢出來的結果

這種訪問只能對已知表賦給select許可權,但是如果這個使用者有新加表的話,我還是不能訪問。

或者conn user1

spool grant.sql

select  'grant select on '|| table_name|| ' to user2 ;' from user_tables;

最近在使用oracle的時候,為了安全,需要將指定表分配給乙個新使用者進行檢視資料,看了很多例子,都不是很好,說的很模糊,後來經過實踐,找出來了乙個比較適當的方法,下面給大家分享。

system:資料庫管理賬戶 ,  myoracle:被訪問使用者 ,  youroracle:訪問使用者  , 密碼:password  ,testtable 被分配查詢的表名

1.首先使用myoracle進行登入oracle: 使用命令視窗輸入以下sql語句建立youroracle使用者: create user youroracle identified by password;

2.使用system賬戶登入 :使用命令視窗建立session條件:grant create session to youroracle;

3.使用myoracle登入oracle:使用命令視窗分配訪問許可權 :grant select on testtable to youroracle;

4.使用youroracle賬戶 密碼是:password 進行登入,在檢視自己的tables中就會看到  myoracle.testtable的表了。

使用以上步驟就可以完成oracle中乙個使用者訪問另乙個使用者的表了,如果想訪問說有的表,但都是select許可權的話 可以使用 grant select on any tables to youroracle;即可。

Oracle 建立表空間並分配給使用者

rem 建立臨時表空間 create temporary tablespace pksniq temp tempfile d pksniq temp.dbf size 32m autoextend on next 32m extent management local rem 設定表空間的區管理為本...

乙個ip分配給兩個介面卡不能上網如何解決

前兩天我也遇到了乙個問題就是上網時候提示乙個ip分配給兩個介面卡,如下圖所示,2.這時首先進行診斷,讓計算機自己發現問題,自己解決問題,這個比你去刪掉一些東西強多了,之前看其他部落格上說把那個隱藏的介面卡刪掉,結果自己把有線網的介面卡給刪掉了,造成很多麻煩,不過刪掉之後我也是讓電腦自己診斷,這樣就會...

oracle將乙個表資料插入到另乙個表

一 插入部分表資料,示列 將table name new表中五個字段對應插入到table name表中,where後面是條件判斷可去掉 where forgid 0 插入指定行資料 insert into table name t t.val1,t.val2,t.val3,t.val4,t.val5...