1. 程式人生 > >Oracle跨資料庫查詢資料-使用Oracle的Database Link進行跨資料庫操作

Oracle跨資料庫查詢資料-使用Oracle的Database Link進行跨資料庫操作

有這麼一個需求,要搭建測試環境,需要把開發庫中的一部分表和資料匯入到測試庫中。咋一看這個需求有很多的實現方法,至少可以使用Oracle的匯入匯出來操作。這肯定能夠實現,但感覺比較low,下面來看一種高大上的做法,使用Oracle的DATABASE LINK。

DATABASE LINK 顧名思義,就是資料庫的連線,功能就是連線到其他的資料庫,並對其他的資料進行方便的操作。但從這一點來看,是不是就非常強大了。DATABASE LINK 有兩種,一種是公有的,一種是私有的,這裡主要介紹的是公有的。

1. 建立DATABASE LINK

create public database link DATABASE_LINK_NAME
  connect to CONNECT_DATABASE_USER identified by "CONNECT_DATABASE_PASSWORD"
  using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = CONNECT_ORACLE_SERVER)(PORT = CONNECT_ORACLE_SERVER_PORT))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = CONNECT_ORACLE_SERVICE_NAME)
    )
  )';

比如我要連線 192.168.101.111 這臺伺服器下的 埠號為 1521 的 orcl 資料庫例項。使用者名稱是 scott 密碼是 tiger

create public database link scottdl
  connect to scott identified by "tiger"
  using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.101.111)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )';

這樣就建立了一個 DATABASE LINK

2. 使用DATABASE LINK

我要把emp表的資料,同步到我的資料庫中,可以這麼做

create table EMP as (select * from EMP @scottdl );

3. 刪除DATABASE LINK

drop public database link scottdl;

這就是DATABASE LINK 的使用。是不是很強大!

相關推薦

Oracle資料庫查詢資料-使用Oracle的Database Link進行資料庫操作

有這麼一個需求,要搭建測試環境,需要把開發庫中的一部分表和資料匯入到測試庫中。咋一看這個需求有很多的實現方法,至少可以使用Oracle的匯入匯出來操作。這肯定能夠實現,但感覺比較low,下面來看一種高大上的做法,使用Oracle的DATABASE LINK。 DATABAS

資料庫查詢資料封裝到XML檔案中,進行格式化處理,並進行加密操作,和解密操作

1.pom檔案 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7&l

Oracle 修改資料庫資料提交之後進行回滾

--檢視歷史資料 select * from test1 as of timestamp to_timestamp('2018-12-23 14:41:00', 'yyyy-mm-dd hh24:mi:ss'); --開啟可移動資料命令 alter table test1 enable row move

oracle資料庫查詢,sql沒問題,資料庫也有資料,方法沒錯,專案執行就是查不出資料

這是我參與做的第一個商業專案,採用的是springboot+   mybatis-plus開發的。資料庫採用的是oracle。 這天我做了一個方法是根據兩個欄位查詢資料庫的資料列表,其中一個欄位是型別(type) 。方法很簡單,不一會兒就做出來了,這裡不得不感嘆mybati

資料庫查詢資料並輸出到前臺頁面

<?php        //獲取資料庫中的所有留言           require_once("connect.php");   &nbs

oracle分頁查詢資料重複問題、分頁排序陷阱

select * from (select rownum as rn, ab.* from (SELECT t.id, e.ehr_id, nh_code,

伺服器查詢資料

use master; go drop database mydata; go create database mydata; go use mydata; go create table t_user ( userguid uniqueidentifier not null defa

mysql實現伺服器查詢資料

在日常的開發中經常進行跨資料庫進行查詢資料。 同伺服器下跨資料庫進行查詢在表前加上資料庫名就可以查詢到資料。 mysql跨伺服器進行查詢提供了FEDERATED引擎進行對映表,然後進行查詢。 mysql資料庫federated引擎是關閉的,首先需要先啟用該引擎。

EXCEL 通過ODBC連線ORACLE, 匯出表或資料透視表進行分析

本意是通過直接匯出oracle中的表,進行快速的資料分析。 注意點: 本文是Excel中通過ODBC連線oracle,所以需要注意的一個問題是,EXCEL和ODBC,oracle的位數必須一致,在測

【java 菜鳥自動化實踐之四】將資料庫查詢資料,轉為TestNG適用的物件二維陣列資料

資料庫資料:資料庫操作:import java.sql.*; import org.apache.log4j.Logger; public class MysqlConn { private static Logger log = Logger.getLogger(My

oracle分頁查詢資料重複問題的解決

在oracle分頁查詢中,我們採用類似以下所示的公認的比較高效的資料庫分頁查詢語句(Effective Oracle by Design中有描述、眾多oracle使用者也做過測試)。 寫道 SELECT * FROM ( SELECT A.*, ROWNUM RN F

mongodb基礎系列——資料庫查詢資料返回前臺JSP(一)

經過一段時間停頓,終於提筆來重新整理mongodb基礎系列部落格了。 同時也很抱歉,由於各種原因,沒有及時整理出,今天做了一個demo,來演示,mongodb資料庫查詢的資料在JSP顯示問題。 做了一個簡單的測試,不過基本上能滿足前臺展示的問題,若有問題,可以及時聯絡

sqlserver中伺服器查詢資料

[SQL SERVER] 跨伺服器查詢 方法一: 用OPENDATASOURCE 下面是個跨SQLServer查詢的示例 Select TableA.*,TableB.* From OPENDATASOURCE(          'SQLOLEDB',         

Mycat(6):聊天訊息表,按月分表 java客戶端查詢資料

1,業務需求 但是在操作的時候還是有點小問題,但基本上是按照這個設計實現的。 首先是mycat的,mycat正式版本是1.3.0.3-release,但是這個不包括PartitionByMonth這個類,其次PartitionByMonth 這個類的

SQL遠端連線資料庫查詢資料,遠端呼叫儲存過程

以下為SQL2008環境下呼叫遠端資料庫上的儲存過程 --執行遠端儲存過程.查詢遠端資料庫 --遠端連線 if ( not exists(select * from sys.servers where name='TESTSERVER'))

sql serve 伺服器查詢資料方法

 今天在做sql server 的資料查詢時,需要用到跨伺服器連線,在這裡記錄一下,如何在sql server 中,使用跨伺服器查詢的方法,有以下步驟。 /*建立中間資料庫連結 exec sp_addlinkedserver 'MiddleData', ' ', 'SQ

python自動化測試之mysql5.0版本資料庫查詢資料時出現亂碼問題分析

1、確保資料庫編碼是utf8編碼。若不是,請將my.ini的client,mysql,mysqld三個欄位下面新增default-character-set = utf8,這樣可以永久改變在新建資料庫時的編碼時utf8。然後重新mysql服務,進入到資料庫中,輸入show variables like &ls

python對同一個資料夾下進行遍歷操作,跳過處理過的

import os path="路徑" #此處路徑為包含你要處理檔案的路徑 for filename in os.listdir(path): (fname,fename)=os.path.splittext(filename) if(fename=='.j

Oracle中獲取系統當前時間 和 進行時間間隔操作

原文轉載至:http://blog.sina.com.cn/s/blog_4ce36a780101b1rl.html 以 年-月-日 時:分:秒 格式獲取當前資料庫系統時間: select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'

postgresql 資料庫資料的匯入匯出(簡單操作+示例)

$ su postgresql &nbsp; #切換到psql使用者下</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-