1. 程式人生 > >使用Oracle DBLink進行資料庫之間物件的訪問操作

使用Oracle DBLink進行資料庫之間物件的訪問操作

Oracle中自帶了DBLink功能,它的作用是將多個oracle資料庫邏輯上看成一個數據庫,也就是說在一個數據庫中可以操作另一個數據庫中的物件,例如我們新建了一個數據database1,我們需要操作資料庫database2中的表,或者我們需要操作遠端機器上資料庫database3中的表,我們就可以使用dblink這個強大的功能!

1、我們如果要建立全域性的DBLink,就是說無論什麼角色都可以使用,那麼我們需要先確定使用者是否有DBLink許可權,如果沒有則需要使用sysdba角色給使用者授權:

檢視使用者是有有DBLink許可權:

select * from user_sys_privs where privilege like upper('%DATABASE LINK%');  
沒有,則使用sysdba授權:
grant create public database link to dbusername; 

2、使用語句建立DBLink:
create database link 要建立的dblink名稱
connect to 要連線資料庫的使用者名稱 identified by 要連線資料的密碼
using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 連線資料庫主機IP地址)(PORT = 埠號))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = 連線資料庫服務名)
    )
)';
如果建立全域性 dblink,必須使用 systm 或 sys 使用者,在 database 前加 public:
create public database....
例如,在testdb2中建立test_dblink,來操作主機192.168.1.254中testdb1資料庫:
create database link tset_dblink
connect to username identified by password1
using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = testdb1)
    )
)';

3、使用DBLink:

查詢另一個數據庫中的資料,其他修改、刪除是一樣的使用,都是另一個數據庫表名@本資料庫建立dblink名稱:

select xxx FROM 表名@dblink名稱; 

例如我們在testdb2中使用dblink檢視testdb1中tb_user表中的資料:

select * from [email protected]_dblink;

檢視資料中建立的dblink:

select owner,object_name from dba_objects where object_type='DATABASE LINK';
select * from dba_db_links;
刪除相應的dblink:
drop database link dblink名稱;
關閉dblink連線:
alter session close database link 'dblink_name'
建立和刪除檢視:
create or replace view 檢視名 as (select 欄位 from 使用者.表名@dblink1);  
drop view 檢視名;  

相關推薦

使用Oracle DBLink進行資料庫之間物件訪問操作

Oracle中自帶了DBLink功能,它的作用是將多個oracle資料庫邏輯上看成一個數據庫,也就是說在一個數據庫中可以操作另一個數據庫中的物件,例如我們新建了一個數據database1,我們需要操作資料庫database2中的表,或者我們需要操作遠端機器上資料庫datab

oracle使用dblink進行資料庫直連操作

1.若多個數據庫之間有業務連線的需求,最簡單的辦法是進行資料庫的直連(DbLink)(而非採用程式程式碼開發)】  (1)oracle連線sqlserver   有兩張方案可選:在伺服器建立透明閘道器,或建立關於sqlserver的資料來源,具體配置如下: &n

Oracle DBLink資料庫訪問SQL server資料同步 踩坑實錄

  專案需求:這裡暫且叫A公司吧,A公司有一套人事管理軟體,需要與我們公司的軟體做人員資訊同步,A公司用的是SQL server資料庫,我們公司用的Oracle,介面都不會開發(一萬句“fuck you”),就單單給我們公司提供了一個SQL server的賬戶和密碼,還有一個檢視。後來百度一番,可以通過DBL

Oracle和SqlServer資料庫之間的查詢

from:http://blog.csdn.net/zjfstudio/article/details/4929941 一、在SQLServer中連線另一個SQLServer庫資料 在SQL中,要想在本地庫中查詢另一個資料庫中的資料表時,可以建立一個連結伺服器: EXEC ma

SQL Server 跨伺服器 不同資料庫之間的表操作

--建立連結 EXEC sp_addlinkedserver '伺服器別名', '', 'SQLOLEDB', '139.196.*.*(IP地址)' EXEC sp_addlinkedsrvlogin '伺服器別名', 'false', NULL, '使用者名稱', '密碼' --表操作

利用Oracle DBLink現實資料庫更新功能

1、DBLink作用:將多個不同地點的伺服器的Oracle資料庫連線起來,邏輯上可看成一個數據庫來對待,實現資料庫之間的單向操控。 2、要使用DBLink,首先你要有操作DBLink的許可權; grant CREATE DATABASE LINK to ywgl; 3、建立

SQLServer中跨伺服器跨資料庫之間的資料操作

首先必須理解一個概念: select * from sys.servers         (檢視系統表,看原來的伺服器名) 要想跨域就必須在以上資訊中可以檢索到! 怎樣新增? --建立連結伺服器  exec sp_addlinkedserver   'ITS

不同伺服器資料庫之間的資料操作--複製同步(整理版)

以下實現複製步驟(以快照複製為例) 執行平臺SQL SERVER 2005 一、準備工作: 1.建立一個 WINDOWS 使用者,設定為管理員許可權,並設定密碼,作為釋出快照檔案的有效訪問使用者。 2.在SQL SERVER下實現釋出伺服器和訂閱伺服器的通訊正常(即可以互訪)。開啟1433埠,

不同伺服器資料庫之間的資料操作,資料同步

不同資料庫資料同步   INSERT INTO TB_BASE_USER_ORGANISEUNIT([GH]       ,[ORGANISEUNITID]       ,[U_ORD

oracle】使用dblink進行資料庫操作

 oracle在進行跨庫訪問時,可以通過建立dblink實現,今天就簡單的介紹下如果建立dblink,以及通過dblink完成插入、修改、刪除等操作         首先了解下環境:在tnsnames.ora中配置兩個資料庫別名:orcl(使用者名稱:wangyong 密碼:

oracle中的資料庫、使用者、方案、表空間、表物件之間的關係 .

最近在學習oracle,給我的第一個感覺就是甲骨文的體系太龐大了(因為我之前一直使用的是mysql,輕量級的資料庫)。而開始遇到的最糾結的問題,就是怎麼理清oracle中資料庫、使用者、方案、表空間、表物件之間的關係,如果這個問題搞不清楚,接下來的學習也就會雨裡霧裡了。所以,下定決心一定把它研究清楚

用SQLAlchemy例項物件進行資料庫表中資料的增刪改查操作(db.session.xx)

#encoding:utf-8 from flask import Flask from flask_sqlalchemy import SQLAlchemy import config app = Flask(__name__) app.config.from_obje

通過瀏覽器訪問操作Oracle資料庫(附Oracle修改使用者名稱和密碼)

  以前簡單的用過Oracle資料庫,都是用控制檯,通過命令操作的,然後最近學校增加了一門新的課程,又學了一招:通過瀏覽器訪問操作Oracle資料庫。   1.開啟瀏覽器;   2.在位址列輸入“localhost:8080/apex”,回車;   3.已經進入登入頁面,輸

大量使用oracle DBLINK影響本地資料庫的正常操作(過渡使用)

          在業務系統中,需要使用另外一個數據庫的部分表資料,專案開發人員選擇使用dblink然後建立同義詞來使用。在後期系統使用量變大以後,發現很多本地操作會出現操作失敗的問題。經過日誌分析,感到很莫名奇妙。因為我操作本地資料庫。這個地方的呼叫方法完全沒有涉及系

12c容器資料庫匯入操作_筆記(Linux/oracle借用shell工具匯入資料檔案操作

Linux/oracle借用shell工具匯入資料檔案操作 一、使用shell工具,遠端連線到Linux下的oracle資料庫服務上 Xshell 6 (Build 0095) Copyright (c) 2002 NetSarang Computer, Inc. All rights reserved

Oracle資料庫修改屬性基本操作

前提:     開啟簡易版Oracle需要開啟工作管理員->服務中的OracleServiceXE主服務 跟OracleXETNSListener 基本操作: 登陸方式:1.sqlplus “/as sysdba”;->按要求輸入使用者

Oracle資料庫資料物件分析 下

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Codeigniter 如何在自己的類中進行資料庫操作

自己寫了一個類,放在 libraries 下,但是類裡面不能使用 new mysqli()。因此,使用下面的方法來操作資料庫: 在 application/config/autoload.php 中增加: $autoload['libraries'] = array('datab

Holer實現oracle資料庫外網訪問

外網訪問內網Oracle資料庫 內網主機上安裝了Oracle資料庫,只能在區域網內訪問,怎樣從公網也能訪問本地Oracle資料庫? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝Java 1.7及以上版本 執行命令java -version檢查Java安裝和配置是否正確。

c#實現開啟資料庫進行查詢,修改等操作

c#連線資料庫需要引用一些東西,首先我們引用:using System.Data.OleDb。 其次我們需要拖動一些控制元件,包括button,combobox,datagridview等。。。這裡就不一一說明了。效果圖如下   1.能不能自己選擇開啟某個資料庫呢?而不是在程式碼裡面就已經