我們需要準(zhǔn)備的材料分別是:電腦、oracle。
創(chuàng)新互聯(lián)從2013年成立,先為江油等服務(wù)建站,江油等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為江油企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1、首先打開oracle,如果想要實現(xiàn)表空間的方法,則輸入以下代碼:
2、如果想要實現(xiàn)用戶的方法,則輸入以下代碼:
3、如果想要實現(xiàn)表的方法,則輸入以下代碼:
4、如果想要實現(xiàn)索引的方法,則輸入以下代碼:
5、如果想要實現(xiàn)序列號的方法,則輸入以下代碼:
6、如果想要實現(xiàn)視圖的方法,則輸入以下代碼:
同義詞可分為兩種:1)公有同義詞。2)私有同義詞。
create public synonym 同義詞名稱 for 數(shù)據(jù)庫對象名;----公有同義詞
create synonym 同義詞名稱 from 數(shù)據(jù)庫對象;-----私有同義詞
一、背景
有兩個sid:Asid,Bsid,在Asid下有兩個用戶Auser1,Auser2,在Bsid下有一個用戶Buser1。其中Auser2和Buser1建立了dblink。現(xiàn)希望通過登錄Buser1訪問Auser1上的三張表table1,table2,table3信息和函數(shù)function1。
二、步驟
①登錄Auser1對Auser2授權(quán)(若需要刪除則加上)
grant ,select,on table1 to Auser2;
grant ,select,on table2 to Auser2;
grant ,select,on table3 to Auser2;
grant execute on function1 to Auser2;
②登錄Auser2建立同義詞
create synonym table1 for Auser1.table1;
create synonym table2 for Auser1.table1;
create synonym table3 for Auser1.table1;
create synonym function1 for Auser1.function1;
③登錄Buser1查找db_link名(例如查出來的db_link名為mydblink1)
select username,db_link from user_db_links
④建立Buser1的同義詞
create synonym table1 for Auser2.table1@mydblink1;
create synonym table2 for Auser2.table2@mydblink1;
create synonym table3 for Auser2.table3@mydblink1;
create synonym function1 for Auser2.function1@mydblink1;
⑤測試
此時登錄Buser1通過select * from table1就可以訪問table1了。
三、注意點
也可以建立procedure的`同義詞,但是這樣執(zhí)行的過程中不允許commit。如果要提交的話請在如JDBC中commit()。
Oracle的同義詞(synonyms)從字面上理解就是別名的意思,和視圖的功能類似,就是一種映射關(guān)系。它可以節(jié)省大量的數(shù)據(jù)庫空間,對不同用戶的操作同一張表沒有多少差別;它擴(kuò)展了數(shù)據(jù)庫的使用范圍,能夠在不同的數(shù)據(jù)庫用戶之間實現(xiàn)無縫交互;Oracle數(shù)據(jù)庫中提供了同義詞管理的功能。同義詞是數(shù)據(jù)庫對象的一個別名,經(jīng)常用于簡化對象訪問和提高對象訪問的安全性。在使用同義詞時,Oracle數(shù)據(jù)庫將它翻譯成對應(yīng)方案對象的名字。與視圖類似,同義詞并不占用實際存儲空間,只有在數(shù)據(jù)字典中保存了同義詞的定義
創(chuàng)建同義詞
CREATE SYNONYM SYSN_TEST FOR TEST;
查看同義詞
SELECT * FROM USER_SYNONYMS
使用同義詞
SELECT * FROM SYSN_TEST;
刪除同義詞
DROP SYNONYM SYSN_TEST;
要使用department用戶創(chuàng)建。
如果department和employee是同一個庫不同表空間。
/**?for?用戶名.表名?*/
create?public?synonym?synonym_name?for?department.部門表;
如果department和employee不是同一個庫。那么還需要加上部門所在庫的database link。
/**?for?用戶名.表名@資源連接?*/
create?public?synonym?synonym_name?for?department.部門表@link_name;