專案上經常會有這樣的需求:與其他系統對接,需要提供某些資料給對方訪問,對方不能訪問到庫中其他的表。碰到這樣的情況,我們就可以通過使用者授權、建立同義詞來達到要求。
sql>create user 使用者名稱 identified by 密碼;
sql>grant create session to 使用者名稱;
2、以應用服務的使用者連線資料庫,並對某張表賦予許可權給新的使用者訪問:
conn 應用服務使用者/密碼;
sql>grant select on 表名/檢視名 to 使用者名稱;--查詢許可權
sql>grant all on 表名 to 使用者名稱;--所有許可權
這裡只給查詢許可權
3、連線新增的使用者訪問應用服務的表:
sql>conn 使用者名稱/密碼;
sql>select * from 應用服務使用者.表名;
4、建立同義詞:
首先要一管理員身份登入系統給新使用者建立同義詞的許可權:
sql>grant create synonym to 使用者名稱;
再以新增的使用者連線並建立同義詞:
sql>create synonym 名稱 for 應用服務使用者.表名;
備註:建立同義詞語法結構:
create [or replace] [public] sysnonym [當前使用者.]synonym_name
for [其他使用者.]object_name;
oracle synonym 同義詞按照訪問許可權分為私有同義詞、公有同義詞。
私有同義詞:私有同義詞只能當前使用者可以訪問,前提:當前使用者具有create synonym 許可權。
公有同義詞:公有同義詞只能具有dba使用者才能進行建立,所有使用者都可以訪問的。
同義詞刪除語法結構:
drop [public] synonym [使用者.]sysnonym_name;
同義詞刪除只能通過同義詞擁有者的使用者或者具有dba許可權的使用者才能刪除。
Oracle的同義詞
oracle中建立同義詞語句 create synonym table name foruser.table name 其中第乙個user table和第二個user table可以不一樣。此外如果要建立乙個遠端的資料庫上的某張表的同義詞,需要先建立乙個databaselink 資料庫連線 來擴充套...
Oracle的同義詞
oracle的同義詞 oracle的同義詞 synonyms 從字面上理解就是別名的意思,和試圖的功能類似,就是一種對映關係。本文介紹如何建立同義詞語句,刪除同義詞以及檢視同義詞語句。oracle的同義詞總結 從字面上理解就是別名的意思,和試圖的功能類似。就是一種對映關係。1.建立同義詞語句 cre...
oracle 序列與同義詞
建立序列需要許可權 create sequence 授權過程 建立序列的語法 create sequence 序列名 increment by n increment by n 設定序列的間隔長度 例如 預設情況下,不設定間隔長度預設為一 其他引數 start with 定義序列的起始值 maxva...