乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      產(chǎn)品體驗官:Tapdata Cloud && Oracle 數(shù)據(jù)庫實時同步(詳細版)

       LuciferLiu 2021-12-10

      Tapdata 數(shù)據(jù)同步

      🌲 前言

      最近新接觸了一個數(shù)據(jù)同步的產(chǎn)品:Tapdata Cloud 。

      Tapdata Cloud 是由 Tapdata 提供的集數(shù)據(jù)同步、數(shù)據(jù)融合(即將上線)、數(shù)據(jù)服務(即將上線)為一體的實時數(shù)據(jù)融合服務,能夠在跨云、跨地域、多類型數(shù)據(jù)源的場景下,提供毫秒級的實時數(shù)據(jù)同步服務和數(shù)據(jù)融合服務。

      官網(wǎng)地址:https://cloud./

      本文主要演示通過 Tapdata Cloud 來進行 Oracle 數(shù)據(jù)同步。ヾ(?°?°?)ノ゙

      ?? 環(huán)境準備

      Tapdata 部署支持 Windows64Linux64docker 三種環(huán)境;本文使用 Linux64 環(huán)境進行同步測試。

      💻 Linux 環(huán)境部署

      使用 Vagrant 快速部署環(huán)境,想玩的朋友可以參考:保姆級教程:Vagrant 從入門到超神玩法

      ?? 順便分享一下 Vagrant 安裝 Oracle 數(shù)據(jù)庫系列:

      Vagrant安裝Oracle系列

      1、添加 Vagrant box

      使用 Vagrant 快速部署一套 Linux 環(huán)境,主機版本 Centos7.9在這里插入圖片描述

      2、初始化啟動 Linux 主機

      通過新添加的 box 初始化 Vagrantfile:
      在這里插入圖片描述
      Vagrant 啟動主機:
      在這里插入圖片描述

      3、Vagrant 連接主機

      通過 vagrant ssh 連接已成功部署的 Centos 環(huán)境:
      在這里插入圖片描述
      修改 root 用戶密碼:
      在這里插入圖片描述
      修改玩 root 密碼后,通過 su - 切換到 root 用戶。

      🌩 Tapdata Agent 本地部署

      ?? 為什么要部署 Tapdata Agent 到本地環(huán)境???

      Tapdata Agent是數(shù)據(jù)同步、數(shù)據(jù)異構(gòu)、數(shù)據(jù)開發(fā)場景中的關(guān)鍵程序。以上場景對數(shù)據(jù)的流轉(zhuǎn)有著極高的實時性要求,因此,通過下載Tapdata Agent并將其部署在你的本地環(huán)境,基于低延遲的本地網(wǎng)絡,Tapdata Agent能夠發(fā)揮最大性能以確保數(shù)據(jù)流轉(zhuǎn)的實時性。

      1、安裝 Java 環(huán)境

      Tapdata Agent 的運行依賴本地 Java 環(huán)境,因此,在部署前你需要檢查本地否已經(jīng)安裝java環(huán)境,例如在命令行中使用下方命令:

      java -version
      

      在這里插入圖片描述
      如圖 java -version 返回異常,則說明java環(huán)境可能未安裝,可參考下方的命令為本地安裝java環(huán)境(本提示中的openjdk版本僅用于示例):

      yum -y install java-1.8.0-openjdk
      

      在這里插入圖片描述
      在本地java環(huán)境安裝完畢后,即可開始下載Tapdata Agent。

      2、下載 Tapdata Agent 并部署

      安裝前請確認您的部署環(huán)境中已安裝Java1.8版本并正確配置環(huán)境變量。

      Tapdata Agent 下載界面:https://cloud./console/#/fastDownload
      在這里插入圖片描述
      下載 Tapdata Agent ,官方非常建議在一個獨立、干凈的文件夾內(nèi)部署 Tapdata Agent

      #通過wget下載Tapdata Agent至本地環(huán)境
      mkdir /tapdata
      cd /tapdata
      wget "https://resource./package/feagent/dfs-1.0.4-prod/tapdata"
      

      在這里插入圖片描述
      下載、部署 Tapdata Agent 無需 root 權(quán)限,只需要對部署目錄具備讀寫權(quán)限即可,因此創(chuàng)建 tapdata 用戶:

      groupadd tapdata
      useradd -g tapdata tapdata
      

      在這里插入圖片描述
      授權(quán)用戶 tabpdata 訪問目錄 /tapdata 權(quán)限:

      chown -R tapdata:tapdata /tapdata
      chmod +x /tapdata/tapdata
      

      在這里插入圖片描述
      切換到 tapdata 用戶,開始安裝部署 tapdata :

      su - tapdata
      cd /tapdata
      ./tapdata start backend --downloadUrl https://resource./package/feagent/dfs-1.0.4-prod/ --token a/HZzXh5MDbwPGd8hCzZYYF0XXgDZ287oY34Sx3QAq5Z7zikkMRcI62kZHXq8RRJj6VrJcSY6ehw4iM8d8LW1YDkAXDfFv6XW/comFuRjivUKI0bU2CJbyb9YX2hukWTYG7rnIlkqV6c1QG//tczPtDt4Bvjy5eqwShMLprhyrzjDysD0Zqfag0tfN0rKB8YbGn87/61rWjizqFuByrG+V2RQCKmccHqWLwjAKLeMEYFUW6imRIHTrEHFQ9u5qDEDB4xza6Nz+ZeDgwNTHYQAChlL1rg+2B6g8C55dTKdQvOTiumURSbnY3Z8IURjYOw4INb5NmhUFvlcceX6OMguQVMrKfiV2vYzpSAcFKB+3KGJVj71tKGRxaSuZI5AINPxECZg+kgE2vUTMhFwZ9I2oPLDGntSWSnYp2MVqUnTNq446ikmUIuEsTTPhsiTcHO2/8oniGzy4gMGvSmofZI2w==
      

      在這里插入圖片描述
      待上方命令執(zhí)行完畢后,出現(xiàn)如圖所示日志則代表Agent啟動成功。

      3、Tapdata Agent 管理命令

      在本地對 Tapdata Agent 進行管理,建議設置 /tapdata 環(huán)境變量:

      cat <<EOF>~/.bash_profile
      export TAPDATA_HOME=/tapdata
      export PATH=$TAPDATA_HOME:$PATH
      EOF
      
      source ~/.bash_profile
      

      在這里插入圖片描述

      #關(guān)閉 Tapdata Agent
      tapdata stop
      
      #啟動 Tapdata Agent
      tapdata start 
      
      #查看 Tapdata Agent 狀態(tài)
      tapdata status
      

      在這里插入圖片描述
      Tapdata Agent本地目錄結(jié)構(gòu)及功能簡介:
      在這里插入圖片描述
      至此,Tapdata 環(huán)境準備已經(jīng)完成。🎉

      🔆 Oracle 環(huán)境部署

      同樣使用 Vagrant 安裝兩套 Linux 主機環(huán)境,使用 Oracle 一鍵安裝腳本 安裝數(shù)據(jù)庫:

      1、部署 oracle11g 主機

      創(chuàng)建安裝目錄并上傳安裝介質(zhì):

      mkdir oracle11g
      mkdir oracle12c
      mkdir software
      

      在這里插入圖片描述
      ?? 安裝介質(zhì)獲取方式:Oracle安裝包Oracle一鍵安裝腳本

      3、配置 Shell 腳本

      分別進入 oracle11goracle12c 目錄下,創(chuàng)建 scripts 目錄:

      mkdir scripts
      cat <<EOF>ora_preinstall.sh
      #change root password
      echo oracle | passwd --stdin root
      #change sshd_config
      sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
      systemctl reload sshd.service
      #mkdir software dir
      mkdir /soft
      #cp software to softdir
      cp /vagrant/* /soft
      #chmod shell script
      chmod +x /soft/OracleShellInstall.sh
      #install oracle database
      cd /soft
      ./OracleShellInstall.sh -i 192.168.1.140 -installmode single -dbv 11g -iso N
      EOF
      

      需要注意 -dbv-i 參數(shù),需要根據(jù)實際情況修改,12C 需要修改為對應 12c。

      3、配置 Vagrantfile 腳本

      Oracle 11G:

      cd oracle11g
      cat <<EOF>Vagrantfile
      Vagrant.configure("2") do |config|
        config.vm.box = "centos79"
        config.vm.provision :shell, path: "/Volumes/DBA/vagrant/oracle11g/scripts/ora_preinstall.sh"
        config.vm.synced_folder "/Volumes/DBA/vagrant/software", "/vagrant"
        config.vm.network :forwarded_port, guest: 1521, host: 1521
        config.vm.network :forwarded_port, guest: 22, host: 22
        config.vm.network "public_network", ip: "192.168.1.140"
        config.vm.provider "virtualbox" do |vb|
        vb.name = "orcl11g"
        vb.memory = 2048
        vb.cpus = 2
        end
      end
      EOF
      

      Oracle 12C:

      cd oracle12c
      cat <<EOF>Vagrantfile
      Vagrant.configure("2") do |config|
        config.vm.box = "centos79"
        config.vm.provision :shell, path: "/Volumes/DBA/vagrant/oracle12c/scripts/ora_preinstall.sh"
        config.vm.synced_folder "/Volumes/DBA/vagrant/software", "/vagrant"
        config.vm.network :forwarded_port, guest: 1521, host: 1522
        config.vm.network :forwarded_port, guest: 22, host: 23
        config.vm.network "public_network", ip: "192.168.1.150"
        config.vm.provider "virtualbox" do |vb|
        vb.name = "orcl12c"
        vb.memory = 2048
        vb.cpus = 2
        end
      end
      EOF
      

      4、啟動部署 Oracle 數(shù)據(jù)庫

      cd oracle11g
      vagrant up --provider=virtualbox
      cd oracle12c
      vagrant up --provider=virtualbox
      

      在這里插入圖片描述
      在這里插入圖片描述
      在這里插入圖片描述

      5、Oracle 11G+12C 創(chuàng)建測試數(shù)據(jù)

      create user tapdata identified by tapdata;
      grant dba to tapdata;
      conn tapdata/tapdata;
      create table tapdata (id number,name varchar(100));
      insert into tapdata values (1,'lucifer');
      insert into tapdata values (2,'lucifer1');
      insert into tapdata values (3,'lucifer2');
      commit;
      

      在這里插入圖片描述
      ?? 想了解的朋友可參考:??

      • Vagrant 一鍵搞定 Oracle 數(shù)據(jù)庫安裝
      • 我寫了4000多行Shell腳本,終于實現(xiàn)了一鍵安裝Oracle RAC!!!

      💛 數(shù)據(jù)同步 Oracle 11GR2 --> 12C

      ?? 數(shù)據(jù)同步介紹

      工作原理:
      在這里插入圖片描述

      數(shù)據(jù)同步功能是 Tapdata 數(shù)據(jù)中臺的重要功能,同時也是 Tapdata 的核心優(yōu)勢。如上圖所示,在兩個數(shù)據(jù)存儲節(jié)點中,Tapdata Agent 作為處理的橋梁,在用戶簡單設置后即可全自動的將數(shù)據(jù)從一個節(jié)點中讀取(源端),并寫入至另一個節(jié)點(目標端)。在整個過程中,Tapdata Agent 僅作為數(shù)據(jù)的處理層確保處理的流程符合用戶的預期,Tapdata Agent 不會對用戶數(shù)據(jù)做任何形式的上傳、保存。

      接入、同步、異構(gòu):

      在數(shù)據(jù)同步功能中,Tapdata 中臺支持多種數(shù)據(jù)存儲的接入,其不僅支持同類型數(shù)據(jù)存儲(如 MySQL 到MySQL,Oracle 到Oracle)之間的數(shù)據(jù)同步,同時也支持不同類型數(shù)據(jù)存儲(如 Oracle 到 MySQL,MySQL 到 MongoDB)之間以異構(gòu)方式進行數(shù)據(jù)同步。

      任務類型:

      基于Tapdata Agent的可配置性,其支持全量同步、全量及增量兩種任務類型。用戶可根據(jù)對應的數(shù)據(jù)場景選擇對應的同步模式來滿足需求。如全量同步適合一次性的數(shù)據(jù)遷移、異構(gòu)場景,而全量及增量同步則適合實時的數(shù)據(jù)遷移、異構(gòu)場景。

      在這里插入圖片描述

      ?? ORACLE 配置 Tapdata(源端+目標端)

      確保在 Tapdata 中成功添加和使用Oracle數(shù)據(jù)庫,注意:Oracle 實時同步基于Oracle Redo Log,因此需要提前執(zhí)行某些配置。

      1、開啟歸檔日志

      以具有 DBA 權(quán)限的用戶身份登錄數(shù)據(jù)庫

      sqlplus / as sysdba
      

      查看數(shù)據(jù)庫的 logging mode

      select log_mode from v$database;
      

      在這里插入圖片描述
      如果返回的結(jié)果是 NOARCHIVELOG , 繼續(xù)按照以下步驟操作:

      關(guān)閉數(shù)據(jù)庫:

      shutdown immediate;
      

      在這里插入圖片描述
      啟動并掛載數(shù)據(jù)庫:

      startup mount;
      

      在這里插入圖片描述
      開啟歸檔模式并打開數(shù)據(jù)庫:

      alter database archivelog;
      alter database open;
      

      在這里插入圖片描述

      2、開啟 Supplemental Logging

      11G:

      alter database add supplemental log data;
      alter system switch logfile;
      ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
      ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
      SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_all FROM v$database;
      

      在這里插入圖片描述
      在這里插入圖片描述
      12C:

      ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
      ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
      ALTER SYSTEM SWITCH LOGFILE;
      SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_all FROM v$database;
      

      在這里插入圖片描述

      3、創(chuàng)建用戶賬號

      創(chuàng)建用戶帳戶并分配權(quán)限:

      --前面已經(jīng)創(chuàng)建,這里不再創(chuàng)建用戶
      --CREATE USER tapdata IDENTIFIED BY tapdata;
      GRANT create session, alter session, execute_catalog_role, select any dictionary, select any transaction, select any table, create any table, create any index, unlimited tablespace to tapdata;
      

      在這里插入圖片描述
      至此,已配置完 Oracle 11G 源端數(shù)據(jù)庫。

      ?? Tapdata Cloud 連接 Oracle 11G+12C

      首先需要打開 Tapdata Cloud 控制臺。

      1、創(chuàng)建連接

      在這里插入圖片描述

      2、選擇 Oracle

      在這里插入圖片描述

      3、填寫關(guān)鍵信息

      根據(jù)提示填寫信息,具體可參考:Oracle 創(chuàng)建連接
      在這里插入圖片描述
      注意:這里的 Schema 值需要大寫!

      4、測試連接

      測試連接是否成功,具體可參考:Oracel 的連接測試與常見問題
      在這里插入圖片描述
      以同樣的方式添加 Oracle 12C ,添加成功后顯示如下:
      在這里插入圖片描述

      🌀 創(chuàng)建同步任務

      創(chuàng)建好連接之后,需要創(chuàng)建任務來配置進行數(shù)據(jù)同步。

      1、創(chuàng)建任務

      配置源端和目標端連接,選擇上一步中新建的連接:
      在這里插入圖片描述

      2、配置任務

      設置任務,本次選擇 全量+增量 類型,全量寫入模式
      在這里插入圖片描述

      3、選擇同步表

      這里選擇需要同步的表,添加到目標端:
      在這里插入圖片描述
      同時還支持 改名字段映射
      在這里插入圖片描述
      點擊完成按鈕,即可。如果點擊沒有反應,可以嘗試退回上一步,再回來點擊完成。

      4、啟動任務

      點擊完成后,任務狀態(tài)為 待啟動,可以通過啟動任務來開始:
      在這里插入圖片描述
      先去目標端 Oracle 12C 查詢表 Lucifer 是否存在:

      select * from lucifer;
      

      在這里插入圖片描述
      確認沒有表 Lucifer,啟動任務:
      在這里插入圖片描述

      5、運行監(jiān)控

      點擊 運行監(jiān)控 可以看到同步情:
      在這里插入圖片描述

      6、報錯處理

      可以看到,這里報錯了,看了一下日志記錄:
      在這里插入圖片描述
      由于我之前創(chuàng)建表時,沒有創(chuàng)建主鍵,咨詢官方之后,確認必須需要表帶主鍵才可以,因此,新增表主鍵:

      alter table lucifer add constraint tb_lucifer_pk primary key (id);
      alter table tapdata add constraint tb_tapdata_pk primary key (id);
      

      新增表主鍵之后,需要重新加載數(shù)據(jù)源,即連接管理那里連接測試即可。
      在這里插入圖片描述
      回到運行監(jiān)控頁面,重置之后重新同步:
      在這里插入圖片描述
      重置 即清除進度,回到最初,然后點擊啟動即可。
      在這里插入圖片描述

      7、同步測試

      連接 Oracle 12C 目標端,查詢 Lucifer 表的數(shù)據(jù):
      在這里插入圖片描述
      發(fā)現(xiàn)數(shù)據(jù)已經(jīng)同步成功。

      測試源端 Oracle 11G 寫入數(shù)據(jù)之后,目標端是否同步:

      源端:

      insert into tapdata values (17,'haha');
      insert into lucifer values (26,'hah1a');
      delete from tapdata where id=1;
      delete from lucifer where id=2;
      commit;
      

      目標端:

      select * from lucifer;
      select * from tapdata;
      

      在這里插入圖片描述
      查看監(jiān)控頁面,可以發(fā)現(xiàn)源端的操作記錄均已同步:
      在這里插入圖片描述
      ?? 至此,Oracle 不同版本間的實時數(shù)據(jù)同步測試已經(jīng)完成。

      🌊 寫在最后

      首先,給 Tapdata 的文檔點贊一波,寫的真的很詳細易懂!

      本文從無到有地展示了所有環(huán)境的安裝部署,數(shù)據(jù)同步的完整步驟以及一些需要注意的事項,可以說是盡善盡美了。之后,應該還會寫異構(gòu)數(shù)據(jù)庫之間的同步教程。

      總體體驗來說,Tapdata Cloud 在安裝部署和使用方面,大大降低了技術(shù)難度,相較于其他一些數(shù)據(jù)同步產(chǎn)品,在入門體驗上更好。關(guān)于實時同步的效率,由于沒有實測生產(chǎn),不做過多的評價。

      感興趣的朋友可以多多測試,希望 Tapdata 能夠越做越好!同時還可以參加 Tapdata 的新活動:推薦 | 異構(gòu)數(shù)據(jù)庫同步云平臺 Tapdata Cloud 開啟有獎公測,?? 獎品確實很豐厚!

        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多