国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
oracle新手入門指導之八—數(shù)據(jù)庫遠程訪問小知識[天源迪科論壇]
oracle新手入門指導之八—數(shù)據(jù)庫遠程訪問小知識

在平常的工作中,會遇到這樣的需求:我新建一個數(shù)據(jù)庫環(huán)境,里面的數(shù)據(jù)比較少,我想從其他地方導入數(shù)據(jù)進來。這包括很多方法,比如使用imp/exp工具,又或者使用sqlloader,還可以直接使用pl/sql工具直接copy數(shù)據(jù)到表中,再或者直接引用其它用戶的表數(shù)據(jù),還有通過創(chuàng)建databaselink鏈接到遠程數(shù)據(jù)庫來取數(shù)據(jù),等等??傊椒ê芏?,只要你喜歡,就可以任你挑。

下面我就來詳細講述一下各種方法的具體實現(xiàn)步驟(限于帖子篇幅大小只有15K,所以不能弄些圖片上來,只好以文字說明,不夠詳細的地方,請大家見諒

1:使用imp/exp工具
這個比較簡單,借助pl/sql developer工具,菜鳥也可以輕松的掌握數(shù)據(jù)導入和數(shù)據(jù)導出的方法。這個就不多說了,動手試一下,就會了的。

2:使用sql loader
使用這個命令工具,需要2個基本文件。
1——原始數(shù)據(jù)文件,2——控制文件

舉個例子如下:
原始數(shù)據(jù)文件
3|551|1|5513180000|10328|2002.12.21|2008.04.11|1|
53|551|1|5512875744|18700|2002.12.25|2007.03.01|3|
279|558|10|5583380564|-1867|2003.01.02|2007.07.28|2|
280|558|10|5583389887|-4031|2003.01.02|2007.06.28|2|
287|558|10|5583281357|201|2003.01.02|2007.11.18|1|
294|558|10|5583380246|567|2003.01.02|2009.06.03|1|
297|558|10|5583381199|7541|2003.01.02|2008.06.22|1|
298|558|10|5583386077|-1789|2003.01.02|2007.08.08|2|
301|558|10|5583281041|-3553|2003.01.02|2007.01.13|3|
307|558|10|5583381002|-73|2003.01.02|2007.09.13|2|

控制文件zte_userbasnews.ctl
load data
infile userbasnews.data
truncate into table zte_userbasnews
fields terminated by ‘|‘
(
 user_unique_id ,
 latn_id ,
 service_area_id ,
 phs_number ,
 balance ,
 created_date Date ‘YYYY.MM.DD‘,
 eff_day Date ‘YYYY.MM.DD‘,
 state  
)

以上文件要注意存放路徑,當他們保存在同一目錄下時,執(zhí)行如下命令即可。
sqlldr ODSB/ODSB@AH_OCS control=zte_userbasnews.ctl direct=true

那么,原始數(shù)據(jù)文件的每一行,會被以 ‘|‘ 分割,而逐個字段的導入相應表中。

3:直接使用pl/sql工具直接copy數(shù)據(jù)到表中
如果你使用過pl/sql工具,應該熟悉.csv文件和.tsv文件,這是PL/SQL DEVELOPER 導出數(shù)據(jù)時候可以選擇的一種文件存儲格式。
當你執(zhí)行了如下的命令: ‘select * from test for update;‘  的時候,你可以把你的.tsv和.csv文件直接copy到pl/sql developer的表中去。然后,提交,成功。
本來想截圖演示的,可惜圖片太大,所以抱歉拉!
其實pl/sql developer的這種數(shù)據(jù)導入格式也支持excel文檔。

4:引用其它用戶的表
比如在同一個數(shù)據(jù)庫db1中有兩個用戶uesr1和user2。如何在登陸user1的時候也能操作user2的表呢?
很簡單,在user2的表名稱前面加上用戶前綴user2.
例如登陸為user1的用戶想訪問user2的某張表test_table.
執(zhí)行如下命令即可:
select * from user2.test_table;
這樣就跟訪問自己的表是一樣的。千萬要注意:默認情況下,這種訪問方式的權(quán)限是很大的,select,insert,update,delete,以上權(quán)限都支持,要注意數(shù)據(jù)的安全性。

5:通過創(chuàng)建database link鏈接到遠程數(shù)據(jù)庫來取數(shù)據(jù)
關于database link的概念,請去下面這個網(wǎng)址上查看詳細介紹。
http://www.haidao8.net/read.php?tid=1309

怎么創(chuàng)建database link?
-- Create database link
 --在知道tns名稱的情況下,創(chuàng)建DATABASE LINK?
create [public] database link test_dblink (連接名稱)
  connect to user (login 帳戶) identified by password
  using ‘TNS_NAME‘ (login SID對應的TNS NAME);
 
  --在不知道tns名稱的情況下,如何創(chuàng)建DATABASE LINK?
create database link test_dblink
  connect to user identified by password
  using
‘(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVER = DEDICATED)
      (SERVICE_NAME = testdb)
    )
  )‘;

創(chuàng)建了database link之后,那么如何訪問遠程數(shù)據(jù)呢?
以上面的database link為例,我們來訪問
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVER = DEDICATED)
      (SERVICE_NAME = testdb)
    )
  )
上的某個表 liwp_test .
執(zhí)行如下命令:select * from liwp_test@test_dblink;
很簡單,只需要在表的后面加上 @test_dblink 就可以了。
這樣就跟訪問自己的表是一樣的。千萬要注意:默認情況下,這種訪問方式的權(quán)限是很大的,select,insert,update,delete,以上權(quán)限都支持,要注意數(shù)據(jù)的安全性。

接下來,講述一下在創(chuàng)建database link后常見的錯誤,及解決方法。
這后面的內(nèi)容就是轉(zhuǎn)貼自高手們的實際經(jīng)驗了,與大家共同分享。

---------------------------文章1----------------------------
ORA-02085錯誤解決過程!           
       今天看EYGLE的文章:http://www.eygle.com/archives/2005/06/oraclessoeaeaeo.html(Oracle高級復制的創(chuàng)建配置步驟-Step by Step),里面講到了:本例的先決條件:你需要設置好相應的參數(shù),job_queue_processes需要大于0,global_name=true,并且建立相應的db link.
      于是我這個菜鳥便檢查主數(shù)據(jù)庫job_queue_processes和global_names參數(shù),并通過alter system set global_names=true;修改global_names參數(shù),沒有任何問題!
   然后在主數(shù)據(jù)庫創(chuàng)建dblink:
 create database link test_link
  connect to myuser identified by pass
  using ‘mydb2‘;
創(chuàng)建過程也沒有問題!但是使用dblink進行查詢就出錯了:
SQL> select count(*) from town@test_link;
select count(*) from town@test_link
ORA-02085: database link TEST_LINK connects to STIOMDB
SQL>
經(jīng)過在網(wǎng)上搜看別人的帖子并測試發(fā)現(xiàn):
當global_name參數(shù)設置為true,則dblink必須命名為和在目標數(shù)據(jù)庫如下查詢出的結(jié)果一致:
 select * from global_name,例如:
在目標數(shù)據(jù)庫執(zhí)行查詢:
 
SQL>  select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
mydb
SQL>
 
則修改dblink:
 create database link mydb  connect to myuser identified by pass  using ‘mydb2‘;
然后執(zhí)行查詢:
SQL> select count(*) from town@mydb;
  COUNT(*)
----------
     13507
SQL>


-------------------------------文章2----------------------------------
  Q:建dblink成功,查詢時報ORA-02085,尋求高手建議!
我在自己的機子上裝了個8.1.6服務器,機子的操作系統(tǒng)是2000?,F(xiàn)在要在自己的服務器上建個dblink,指向遠端服務器 為此,我用dba帳戶建立鏈接
create database link ora817
connect to lssw
identified by lssw
using ‘lsjf‘;
成功建立,但執(zhí)行如下查詢:
select * from hdsc04@ora817;
ORA-02085: 數(shù)據(jù)庫鏈接ora817與LSJF相連結(jié)
補充:我用sqlplus 能用上述帳戶及連接串聯(lián)到遠端服務器,
ora817和遠端的sid名一樣。

service@ora817也一樣報錯
select * from service@ora817
*
ERROR 位于第 1 行:
ORA-02085: 數(shù)據(jù)庫鏈接ORA817與LSJF相連結(jié)
使用數(shù)據(jù)連接可以很方便的引用其它數(shù)據(jù)庫的數(shù)據(jù),但是設置不當可能遇到ORA-02085錯誤。如果被連接對方的GLOBAL_NAMES參數(shù)設置成了TRUE,那么要求數(shù)據(jù)庫連接與對方實例名有相同的名稱。這樣就可以通過下面3中的任意一種方法來解決:
1.修改對方的GLOBAL_NAMES參數(shù)為FALSE
alter system set global_names = false;
2.將對方的GLOBAL_NAME設置成與數(shù)據(jù)庫連接相同的名稱
alter database rename global_name to new_name;
3.將數(shù)據(jù)庫連接刪掉重新創(chuàng)建成與對方實例名相同的數(shù)據(jù)庫連接


PS:看了網(wǎng)上的一些技術(shù)帖子,我對oracle也更感興趣了,也更加欽佩這些高手們了。
其實工作中,很多時候,公司需要的并不是僅能發(fā)現(xiàn)問題的人,而是能解決問題的人!

——與大家共勉

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
[轉(zhuǎn)]在oracle下如何創(chuàng)建database link全面總結(jié) - 天堂的狼 - 博客園
分布式數(shù)據(jù)庫組件——Database Link
oracle通過透明網(wǎng)關,創(chuàng)建dblink,訪問ms sql server和其他數(shù)據(jù)庫 -...
Oracle dblink詳解(轉(zhuǎn))
深入剖析 - Oracle SCN機制詳細解讀
oracle建立dblink
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服