Oracle访问同义词连接超时,利用同义词解决oracle用户访问其它schema的对象
由于應用需要,aa能訪問bb的所有表。
SQL> create user aa identified by oracle;
User created.
SQL> grant connect,resource to aa;
Grant succeeded.
SQL> create user bb identified by oracle;
User created.
SQL> grant connect,resource to bb;
Grant succeeded.
SQL> grant create synonym to bb;
Grant succeeded.
SQL> conn aa/oracle
Connected.
SQL> create table t1(id number);
Table created.
SQL> insert into t1 values(1);
1 row created.
SQL> insert into t1 values(2);
1 row created.
SQL> commit;
Commit complete.
SQL> show user;
USER is "AA"
通過下面語句可以產生出授權的批量語句:
SQL> select 'grant select on '||object_name||' to bb;' from user_objects;
'GRANTSELECTON'||OBJECT_NAME||'TOBB;'
------------------------------------------------------------------------------------------------------------------------
grant select on T1 to bb;
SQL> grant select on T1 to bb;
Grant succeeded.
通過下面語句可以批量產生出創建同義詞的語句:
SQL> select 'create or replace synonym '||object_name||' for aa.'||object_name||';' from user_objects;
'CREATEORREPLACESYNONYM'||OBJECT_NAME||'FORAA.'||OBJECT_NAME||';'
------------------------------------------------------------------------------------------------------------------------
create or replace synonym T1 for aa.T1;
將上面產生的語句用bb用戶執行:
SQL> conn bb/oracle
Connected.
SQL> create or replace synonym T1 for aa.T1;
Synonym created.
SQL> select object_name,object_type from user_objects;
OBJECT_NAME??????????????????? OBJECT_TYPE
------------------------------ -------------------
T1???????????????????????????? SYNONYM
SQL> select * from t1;
ID
----------
1
2
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Oracle访问同义词连接超时,利用同义词解决oracle用户访问其它schema的对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 购物车的收货地址js php,Javas
- 下一篇: 不孕不育是检查妇科吗