亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2079 | 回復: 0
打印 上一主題 下一主題

[數(shù)據(jù)庫] Linux下Oracle GoldenGate(OGG)的配置 [復制鏈接]

論壇徽章:
8
數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-04-29 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-04-30 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-05-13 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-05-15 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-05-19 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-05-20 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-06-02 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-06-05 06:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2016-05-16 14:36 |只看該作者 |倒序瀏覽
本帖最后由 我忒忙 于 2016-05-18 17:13 編輯

首先解壓下載的OGG軟件,并授權(quán):

圖片

圖片

之后,設(shè)置必要變量
注意修改ORACLE_SID,ORACLE_HOME,LD_LIBRARY_PATH變量值
[oracle@upgg ~]$ cat ~/.bash_profile
# .bash_profile


# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi


# User specific environment and startup programs
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=/u01/oracle/11g
export GG_HOME=/u01/goldengate/112101
PATH=$ORACLE_HOME/binPATHHOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/libGG_HOMELD_LIBRARY_PATH
export ORACLE_SID=updb
export PATH
然后source ~/.bash_profile使之生效


初始化GG

圖片



這樣就OK了呀,然后就是數(shù)據(jù)庫的一些配置了:
1. 歸檔
GoldenGate 的原理是基于對日志變化的捕獲(CDC )。所以 Oracle 的 redo 對于GoldenGate 至關(guān)重要。為了保證 GoldenGate 能讀取到完整的事務日志,必須打開歸檔。
在數(shù)據(jù)庫負載較大的情況下,redo 會頻繁切換日志組,我們知道,Redo 日志組在 Oracle 中有限且會被重復利用的。如果打開歸檔,被切換過的 redo log 就會被歸檔為 archive log,這樣即使一個事務過長,等到提交的時候,部分可能已經(jīng)歸檔,這時 GoldenGate 就會到 archive log 中查找對應的記錄,從而保證了信息的完整性。

Oracle 10g /11g 版本的 Oracle 打開歸檔較簡單:首先,在使用 sysdba 用戶登錄在SQLPLUS 下執(zhí)行以下命令,確認歸檔是否已經(jīng)開啟:

圖片


如上結(jié)果表述已經(jīng)運行在歸檔模式下,不需要任何處理。

圖片

看到如上結(jié)果的,表述運行非歸檔模式下,則執(zhí)行如下命令:


圖片

圖片

下面的步驟是可選的,不配置GG在使用中將出現(xiàn)如下警告信息:
WARNING OGG-01423  No valid default archive log destination directory found for thread 1.

我的習慣不想看到這個警告,所以做如下操作:

圖片

2. 附加日志
當數(shù)據(jù)庫啟用了Supplemental Logging之后,對于修改操作,Oracle就會同時附加一些能夠唯一標識修改記錄的列到redo log中,如果這個表是有主鍵或唯一鍵的表,只需要附加主鍵或唯一鍵的信息即可,這樣生成的redo日志量是最少的,如果某些表可能無法創(chuàng)建主鍵或者唯一鍵,抑或數(shù)據(jù)表本來不存在主鍵/唯一鍵,這種情況下Oracle會將所有列都做為附加信息記錄到redo中,那么redo就可能增長很快,同時對性能產(chǎn)生較大的負面影響。所以O(shè)racle 建議所有需要復制的表都存在主鍵或者唯一鍵。Supplemental Logging可以在數(shù)據(jù)庫級設(shè)置,也可以精確到表級設(shè)置,對于數(shù)據(jù)庫級有兩種類型:minimal logging和identification key logging,其主要區(qū)別就在于寫入redolog中的數(shù)據(jù)詳盡程度不同。
從上述分析可以得出:GoldenGate要準確的知道源端的數(shù)據(jù)修改了哪些列,就需要更為詳細的日志信息,所以需要數(shù)據(jù)庫開啟supplemental log?梢园凑障铝蟹绞酱蜷_數(shù)據(jù)庫級別的supplemental log。



圖片

確認附加日志是否打開



圖片

返回YES或IMPLICIT表示附加日志被打開。
3. 回收站
在gg 11之前版本需要關(guān)閉回收站才能完成DDL同步
在gg 11 版本開始可以開啟回收站也能完成DDL同步


SQL> select value from v$parameter where name='recyclebin';


VALUE
--------------------------------------------------------------------------------
on


on 表示開啟回收站
off 表示關(guān)閉回收站
關(guān)閉回收站
SQL> alter system set recyclebin=off scope=spfile;
System altered.
如果你不配置DDL同步的本步驟可以不做
Recyclebin 在 10.1 中是隱含參數(shù),關(guān)掉 recyclebin 的命令為:
SQL>ALTER SYSTEM SET “_ recyclebin” = false;
4. GG軟件用戶設(shè)置
gg用戶有2種:


管理用戶
管理用戶是管理,維護GG軟件的用戶,此用戶必須在后臺數(shù)據(jù)庫建立起來,并分配必要的權(quán)限。管理用戶需要在原數(shù)據(jù)端建立,也需要在目標數(shù)據(jù)端建立。而原數(shù)據(jù)端與目標數(shù)據(jù)端需要的權(quán)限最小化也不相同。為了方便可以授予dba權(quán)限,甚至不建立管理用戶,直接使用system用戶。


數(shù)據(jù)用戶  
數(shù)據(jù)用戶是gg運行中數(shù)據(jù)加載,數(shù)據(jù)同步的用戶。比如需要將scott用戶數(shù)據(jù)加載與同步到s1用戶下。scott為原數(shù)據(jù)端用戶,s1為目標數(shù)據(jù)端用戶。數(shù)據(jù)用戶存在就可以了,但管理用戶必須有相應操作數(shù)據(jù)用戶的權(quán)限。 比如原數(shù)據(jù)端管理用戶至少有查詢,修改,閃回數(shù)據(jù)用戶對象的權(quán)限,目標數(shù)據(jù)端管理用戶至少需要dml操作數(shù)據(jù)用戶的權(quán)限.
在源端和目標端創(chuàng)建 GoldenGate 管理用戶,并授予下列權(quán)限。
SQL>create tablespace ggdata datafile '$ORACLE_BASE/oradata/$ORACLE_SID/ggdata01.dbf' size 200m;
SQL>create userggs identified by ggm default tablespace ggdata;
SQL>grant connect,resource,unlimited tablespace to ggm ; SQL>grant execute on utl_file to ggm;
在源端還需要授予 ggm 用戶以下權(quán)限:
SQL>grant connect,resource to ggm ;
SQL>grant select any dictionary,select any table to ggm;
SQL>grant alter any table to ggm;
SQL>grant flashback any table to ggm;
SQL>grant execute on DBMS_FLAHBACK TO ggm;
在目標端需要授予 ggm 用戶以下權(quán)限:
grant insert any table to ggm;
grant delete any table to ggm;
grant update any table to ggm;


上面的 insert、delete、update 沒有指定模式,表示在所有模式都能進行 insert、 delete、update 操作。


原數(shù)據(jù)端用戶設(shè)置   略
目標數(shù)據(jù)端用戶設(shè)置 略
5. 添加表級的transdata
這里的表級的 trandata 就是指表級的 supplemental log。
表級supplemental log 需要在數(shù)據(jù)庫級別最小supplemental log 打開的情況下才起作用。如果數(shù)據(jù)庫沒有開啟 minimal supplemental log,即使指定了表級supplemental log,實際在redo log 輸出描述的記錄仍只記錄rowid和相關(guān)列值,所以我們還需要同時開啟表級的transadata。添加表級的 transdat 可以理解為你需要將源端的哪些schema下的哪些表傳輸?shù)侥繕藥熘,那么就需要你手動添加這些transdata。按照上一小節(jié)的內(nèi)容創(chuàng)建GoldenGate管理用戶并授予必要的權(quán)限之后,就可以使用dblogin 登錄數(shù)據(jù)庫,然后添加特定表的trandata。


操作步驟如下:


在 scott 用戶下創(chuàng)建一張表 demo,用來作為需要同步的表:

圖片

對這個表添加 trandata:

圖片


提示:在對表添加 trandata 的時候,表名可以使用通配符。例如如果我要添加 scott 用戶下所有的表,則語句可以這樣寫:


GGSCI(source 4) add trandata scott.*;
查看表有沒有附加日志:
GGSCI(source 5) info trandata scott.*;
enabled 表示開啟附加日志
disabled 表示沒開啟附加日志
當然也可以在oracle中執(zhí)行sql命令增加附加日志

SQL> alter table  t1 add supplemental log data(all) columns;



更多精彩Oracle內(nèi)容 請關(guān)注我:


您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP