doris: Oracle

Apache Doris JDBC Catalog 支持通過標準 JDBC 接口連接 Oracle 數據庫。本文檔介紹如何配置 Oracle 數據庫連接。

使用須知?

要連接到 Oracle 數據庫,您需要

  • Oracle 19c, 18c, 12c, 11g 或 10g。

  • Oracle 數據庫的 JDBC 驅動程序,您可以從?Maven 倉庫下載 Ojdbc8 及以上版本的 Oracle JDBC 驅動程序。

  • Apache Doris 每個 FE 和 BE 節點和 Oracle 服務器之間的網絡連接,默認端口為 1521。

連接 Oracle?

CREATE CATALOG oracle PROPERTIES ("type"="jdbc","user"="root","password"="secret","jdbc_url" = "jdbc:oracle:thin:@example.net:1521:orcl","driver_url" = "ojdbc8.jar","driver_class" = "oracle.jdbc.driver.OracleDriver"
)

備注

jdbc_url?定義要傳遞給 JDBC 驅動程序的連接信息和參數。 使用 Oracle JDBC Thin 驅動程序時,URL 的語法可能會有所不同,具體取決于您的 Oracle 配置。 例如,如果您要連接到 Oracle SID 或 Oracle 服務名稱,則連接 URL 會有所不同。 有關更多信息,請參閱?Oracle 數據庫 JDBC 驅動程序文檔。 以上示例 URL 連接到名為orcl的 Oracle SID。

層級映射?

映射 Oracle 時,Apache Doris 的一個 Database 對應于 Oracle 中的一個 User。而 Apache Doris 的 Database 下的 Table 則對應于 Oracle 中,該 User 下的有權限訪問的 Table。即映射關系如下:

Apache DorisOracle
CatalogDatabase
DatabaseUser
TableTable

類型映射?

Oracle 到 Apache Doris 類型映射?

Oracle TypeApache Doris TypeComment
number(p) / number(p,0)TINYINT/SMALLINT/INT/BIGINT/LARGEINTDoris 會根據 p 的大小來選擇對應的類型:p < 3?->?TINYINT;?p < 5?->?SMALLINT;?p < 10?->?INT;?p < 19?->?BIGINT;?p > 19?->?LARGEINT
number(p,s), [ if(s>0 && p>s) ]DECIMAL(p,s)
number(p,s), [ if(s>0 && p < s) ]DECIMAL(s,s)
number(p,s), [ if(s<0) ]TINYINT/SMALLINT/INT/BIGINT/LARGEINTs<0 的情況下,Doris 會將 p 設置為 p+|s|,并進行和 number(p) / number(p,0) 一樣的映射
numberDoris 目前不支持未指定 p 和 s 的 oracle 類型
decimalDECIMAL
float/realDOUBLE
DATEDATETIME
TIMESTAMPDATETIME
CHAR/NCHARSTRING
VARCHAR2/NVARCHAR2STRING
LONG/ RAW/ LONG RAW/ INTERVALSTRING
OtherUNSUPPORTED

查詢優化?

謂詞下推?

  1. 當執行類似于?where dt = '2022-01-01'?這樣的查詢時,Apache Doris 能夠將這些過濾條件下推到外部數據源,從而直接在數據源層面排除不符合條件的數據,減少了不必要的數據獲取和傳輸。這大大提高了查詢性能,同時也降低了對外部數據源的負載。

  2. 當變量?enable_ext_func_pred_pushdown?設置為 true,會將 where 之后的函數條件也下推到外部數據源。

    目前支持下推到 Oracle 的函數有:

    Function
    NVL

行數限制?

如果在查詢中帶有 limit 關鍵字,Apache Doris 會將 limit 轉義為 Oracle 的?rownum?語法,以減少數據傳輸量。

轉義字符?

Apache Doris 會在下發到 Oracle 的查詢語句中,自動在字段名與表名上加上轉義符:(""),以避免字段名與表名與 Oracle 內部關鍵字沖突。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72781.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72781.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72781.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

im即時聊天客服系統SaaS還是私有化部署:成本、安全與定制化的權衡策略

隨著即時通訊技術的不斷發展&#xff0c;IM即時聊天客服系統已經成為企業與客戶溝通、解決問題、提升用戶體驗的重要工具。在選擇IM即時聊天客服系統時&#xff0c;企業面臨一個重要決策&#xff1a;選擇SaaS&#xff08;軟件即服務&#xff09;解決方案&#xff0c;還是進行私…

mysql中in和exists的區別?

大家好&#xff0c;我是鋒哥。今天分享關于【mysql中in和exists的區別?】面試題。希望對大家有幫助&#xff1b; mysql中in和exists的區別? 1000道 互聯網大廠Java工程師 精選面試題-Java資源分享網 在 MySQL 中&#xff0c;IN 和 EXISTS 都用于進行子查詢&#xff0c;但它…

element-plus中table組件的使用

1、table組件的基本使用 注意&#xff1a; ①對象集合&#xff0c;要從后端查詢。 ②prop是集合中的對象的屬性名&#xff1b;label是表格表頭的名稱。 2、將性別一列的71轉為男&#xff0c;72轉為女 問題描述&#xff1a; 解決步驟&#xff1a; ①將el-table-column變成雙標簽…

Django小白級開發入門

1、Django概述 Django是一個開放源代碼的Web應用框架&#xff0c;由Python寫成。采用了MTV的框架模式&#xff0c;即模型M&#xff0c;視圖V和模版T。 Django 框架的核心組件有&#xff1a; 用于創建模型的對象關系映射為最終用戶設計較好的管理界面URL 設計設計者友好的模板…

使用 display: flex 實現動態布局:每行兩個 item,單數時最后一個占滿整行

文章目錄 使用 display: flex 實現動態布局&#xff1a;每行兩個 item&#xff0c;單數時最后一個占滿整行 &#x1f3af;一、需求分析二、實現思路三、代碼實現1. HTML 結構2. CSS 樣式關鍵點解析&#xff1a; 四、效果演示HTML 示例&#xff1a;效果&#xff1a; 五、完整代碼…

preloaded-classes裁剪

系統預加載了哪些class類&#xff1f;system/etc/preloaded-classes 修改源代碼&#xff1f; frameworks\base\config\preloaded-classes 默認位置&#xff0c;如果改了不生效&#xff0c;可能有其它模塊的mk文件指定了preloaded-classes覆蓋了framework模塊&#xff0c;例如…

華為配置篇-OSPF基礎實驗

OSPF 一、簡述二、常用命令總結三、實驗3.1 OSPF單區域3.2 OSPF多區域3.3 OSPF 的鄰接關系和 LSA 置底 一、簡述 OSPF&#xff08;開放式最短路徑優先協議&#xff09; 基本定義 全稱&#xff1a;Open Shortest Path First 類型&#xff1a;鏈路狀態路由協議&#xff08;IGP&…

Orale數據文件加錯位置,你直接rm引發的故障

數據庫可能面臨硬件故障、人為錯誤、惡意攻擊、自然災害等多種潛在風險&#xff0c;那么今天這個故障就是由于業務人員加錯數據文件的位置&#xff0c;然后直接從物理層面rm -f了&#xff0c;導致了生產的故障&#xff01; 以下是針對Oracle數據庫物理刪除數據文件后的快速修復…

ChromeDriver下載 最新版本 134.0.6998.35

平時為了下個驅動&#xff0c;到處找挺麻煩&#xff0c;收集了很多無償分享給需要的人&#xff0c;僅供學習和交流。 ChromeDriver及瀏覽器134.0.6998.35 ChromeDriver及瀏覽器133.0.6943.141 ChromeDriver 102.0.5005.61 ChromeDriver 105.0.5195.102 ChromeDriver 108.0…

QEMU源碼全解析 —— 塊設備虛擬化(2)

接前一篇文章:QEMU源碼全解析 —— 塊設備虛擬化(1) 本文內容參考: 《趣談Linux操作系統》 —— 劉超,極客時間 《QEMU/KVM源碼解析與應用》 —— 李強,機械工業出版社 特此致謝! 上一回講解了幾種虛擬化方式(全虛擬化、半虛擬化和硬件輔助虛擬化)的優缺點及其對比…

Redis——緩存穿透、擊穿、雪崩

緩存穿透 什么是緩存穿透 緩存穿透說簡單點就是大量請求的 key 根本不存在于緩存中&#xff0c;導致請求直接到了數據庫上&#xff0c;根本沒有經過緩存這一層。舉個例子&#xff1a;某個黑客故意制造我們緩存中不存在的 key 發起大量請求&#xff0c;導致大量請求落到數據庫…

DELETE/ UPDATE/ INSERT 語句會自動加鎖

在數據庫系統中&#xff0c;DELETE、UPDATE 和 INSERT 語句通常會自動加鎖&#xff0c;以確保數據的一致性和并發控制。具體的鎖類型和效果取決于數據庫的實現&#xff08;如 MySQL、PostgreSQL 等&#xff09;以及事務的隔離級別。以下是這些操作通常加鎖的行為和效果&#xf…

【從零開始學習計算機科學】硬件設計與FPGA原理

硬件設計 硬件設計流程 在設計硬件電路之前,首先要把大的框架和架構要搞清楚,這要求我們搞清楚要實現什么功能,然后找找有否能實現同樣或相似功能的參考電路板(要懂得盡量利用他人的成果,越是有經驗的工程師越會懂得借鑒他人的成果)。如果你找到了的參考設計,最好還是…

SpringCloud—概述—01

一、微服務 1&#xff09;單體架構 業務的所有功能實現都打包在一個 war 包或者 jar 包中&#xff0c;這種方式就稱為 單體架構 例如&#xff0c;學校中實現的博客系統&#xff0c;前端后端數據庫實現&#xff0c;都是在一個項目中 把所有模塊都寫在一個 web 項目中&#x…

C++ 學生成績管理系統

一、項目背景與核心需求 成績管理系統是高校教學管理的重要工具,本系統采用C++面向對象編程實現,主要功能模塊包括: 學生信息管理(學號/姓名/3門課程成績) 成績增刪改查(CRUD)操作 數據持久化存儲 統計分析與報表生成 用戶友好交互界面 二、系統架構設計 1. 類結構設計 …

go的grpc

GRPC介紹 目錄 單體架構微服務架構問題原始的grpc 服務端客戶端原生rpc的問題 grpc的hello world 服務端客戶端 proto文件proto語法 數據類型 基本數據類型其他數據類型 編寫風格多服務 單體架構 只能對整體擴容一榮俱榮&#xff0c;一損俱損代碼耦合&#xff0c;項目的開…

1.12.信息系統的分類【ES】

專家系統&#xff08;ES&#xff09;技術架構深度解析 一、ES核心定義 &#x1f9e0; 智能決策中樞 由三大核心能力構建的領域專家模擬系統&#xff1a; 存儲專家級領域知識&#xff08;10^4規則量級&#xff09;支持不確定性推理&#xff08;置信度>85%&#xff09;動態…

考研數一非數競賽復習之Stolz定理求解數列極限

在非數類大學生數學競賽中&#xff0c;Stolz定理作為一種強大的工具&#xff0c;經常被用來解決和式數列極限的問題&#xff0c;也被譽為離散版的’洛必達’方法&#xff0c;它提供了一種簡潔而有效的方法&#xff0c;使得原本復雜繁瑣的極限計算過程變得直觀明了。本文&#x…

html播放本地音樂

本地有多個音樂文件&#xff0c;想用 html 逐個播放&#xff0c;或循環播放&#xff0c;并設置初始音量。 audio 在 html 中播放音樂文件用 audio 標簽&#xff1a; controls 啟用控制按鈕&#xff0c;如進度條、播放、音量、速度等。不加不顯示任何 widget。autoplay 理應啟…

DeepSeek-Manus精品課合集【附下載】

AI消息不斷&#xff0c;繼DeepSeek之后&#xff0c;又出了一個顛覆性的AI產品Manus&#xff0c;號稱全球第一個通用型AI。相比與DeepSeek&#xff0c; Manus擁有更強的自主性和執行力。 如果說DeepDeek是一個最強大腦&#xff0c;那么Manus就是一個完整的人&#xff01; DeepS…