一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

承上 DBlink 與 SCN | 新增視圖找出外部 SCN 跳變

 數(shù)據(jù)和云 2020-07-01

 綜述 

眾所周知,當(dāng)在兩個(gè)數(shù)據(jù)庫之間建立 dblink連 接時(shí),SCN 將被同步,以維持分布式事務(wù)讀取一致性。 這將導(dǎo)致在較低 SCN 的數(shù)據(jù)庫的 SCN 跳變。 

在分布式事務(wù)中很難找到 SCN 跳變的來源。從 12.2 開始,視圖DBA_EXTERNAL_SCN_ACTIVITY 以及 DBA_DB_LINK_SOURCES 和 DBA_DB_LINKS 使我們能夠跟蹤這些跳轉(zhuǎn)。視圖DBA_DB_LINK_SOURCES 也為 12.2 版本的新增視圖。

Oracle 官網(wǎng)文檔原文:

Finding out External SCN jump using DBA_EXTERNAL_SCN_ACTIVITY in 12.2 (Doc ID 2171090.1)

讓我們看看下面的例子,如何在 dblink 連接中涉及的兩個(gè)數(shù)據(jù)庫中捕獲這些跳轉(zhuǎn)。

我們將使用以下示例視圖,基于 DBA_EXTERNAL_SCN_ACTIVITY,DBA_DB_LINK_SOURCES,DBA_DB_LINKS 三個(gè)視圖收集信息。

創(chuàng)建示例視圖 SQL 文本:

create or replace view check_ext_scn as

(SELECT RESULT, OPERATION_TIMESTAMP, EXTERNAL_SCN, SCN_ADJUSTMENT,

HOST_NAME, DB_NAME, SESSION_ID, SESSION_SERIAL#

FROM DBA_EXTERNAL_SCN_ACTIVITY a, DBA_DB_LINK_SOURCES s

WHERE a.INBOUND_DB_LINK_SOURCE_ID = s.SOURCE_ID)

UNION

(SELECT RESULT, OPERATION_TIMESTAMP, EXTERNAL_SCN, SCN_ADJUSTMENT,

dbms_tns.resolve_tnsname(HOST) HOST_NAME, NULL DB_NAME, SESSION_ID, SESSION_SERIAL#

FROM DBA_EXTERNAL_SCN_ACTIVITY a, DBA_DB_LINKS o, DBA_DB_LINK_SOURCES s

WHERE a.OUTBOUND_DB_LINK_NAME = s.SOURCE_ID

AND OUTBOUND_DB_LINK_OWNER = o.OWNER)

UNION

(SELECT RESULT, OPERATION_TIMESTAMP, EXTERNAL_SCN, SCN_ADJUSTMENT,

s.MACHINE HOST_NAME, NULL DB_NAME, SESSION_ID, SESSION_SERIAL#

FROM DBA_EXTERNAL_SCN_ACTIVITY a, V$SESSION s

WHERE a.SESSION_ID = s.SID AND a.SESSION_SERIAL#=s.SERIAL#

AND INBOUND_DB_LINK_SOURCE_ID IS NULL

AND OUTBOUND_DB_LINK_NAME IS NULL

AND OUTBOUND_DB_LINK_OWNER IS NULL);

上面輸出中每列的描述如下:

  • RESULT:SCN 推進(jìn)是否接受或拒絕

  • OPERATION_TIMESTAMP:推進(jìn)發(fā)生的時(shí)間

  • EXTERNAL_SCN:當(dāng)前 SCN 跳變到的新 SCN 值

  • SCN_ADJUSTMENT:SCN 的增量有多大

  • HOST_NAME:dblink 源于哪個(gè)主機(jī)

  • DB_NAME:dblink 源自哪個(gè)數(shù)據(jù)庫

  • SESSION_ID:此條目的本地實(shí)例的會話 ID

  • SESSION_SERIAL#:此條目的本地實(shí)例的序列號

創(chuàng)建監(jiān)測SQL腳本

創(chuàng)建一個(gè)腳本名為 check_ext_scn.sql 內(nèi)容如下:

select * from check_ext_scn;

 使用Dblink前查看SCN 號與推進(jìn)

檢查兩個(gè)數(shù)據(jù)庫中的 SCN:

Database 1:

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

12693736

SQL> set pages 100 lines 200

col result for a15

col OPERATION_TIMESTAMP for a35

col HOST_NAME for a15

col DB_NAME for a15

SQL> @check_ext_scn

no rows selected

Database 2:

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

1574865

##數(shù)據(jù)庫2的 SCN 是否遠(yuǎn)遠(yuǎn)小于數(shù)據(jù)庫1。

SQL>@check_ext_scn

no rows selected

 使用Dblink后查看SCN號與推進(jìn)記錄 

嘗試兩個(gè)數(shù)據(jù)庫之間的 Dblink 連接以同步 SCN 

Database 1:

從數(shù)據(jù)庫1到2啟動 Dblink 連接DUAL: 

SQL> select * from dual@testlnk;

D

-

X

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

12693943

SQL>@check_ext_scn

no rows selected

## 注意數(shù)據(jù)庫1中沒有發(fā)現(xiàn)記錄。

Database 2: 

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

12693956

##注意數(shù)據(jù)庫2中的 SCN 現(xiàn)在與數(shù)據(jù)庫1同步。

SQL>@check_ext_scn 


## 從上面的輸出,我們可以看到數(shù)據(jù)庫1已導(dǎo)致數(shù)據(jù)庫2中的 SCN 推進(jìn),推進(jìn)量為11118928 個(gè)SCN。當(dāng)前隱含參數(shù)_EXTERNAL_SCN_LOGGING_THRESHOLD_SECONDS 的值設(shè)置為600,因此只會記錄大于9830400(600 * 16k)的跳變。

現(xiàn)在,由于兩個(gè)數(shù)據(jù)庫的 SCN 幾乎接近,讓我們嘗試一個(gè) Dblink 連接,看看如果跳變小于9830400個(gè)SCN,是否記錄 SCN 跳變。 

Database 1: 

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

12694325

SQL> select * from dual@testlnk;

D

-

X

SQL>@check_ext_scn

no rows selected

Database 2:

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

12694325 

##Dblink連接后SCN號發(fā)生推進(jìn)。

SQL>@check_ext_scn

##注意,即使在 SCN 跳變之后,也沒有額外的記錄,因?yàn)樗奶兞啃∮?830400。

※§6 小結(jié)

A. 本質(zhì)上,DBA_EXTERNAL_SCN_ACTIVITY 捕獲 SCN 跳變將非常有用,有助于我們查找有問題的數(shù)據(jù)庫時(shí)縮小范圍。視圖 DBA_EXTERNAL_SCN_ACTIVITY 不會捕獲所有 SCN 跳變。 它只在下面的情況下捕獲 SCN 跳變。

1) SCN 跳變請求使得本地 headroom 小于 threshold 而被拒絕(由 _external_scn_rejection_threshold_hours 控制)

2) SCN 跳變請求因?yàn)?SCN 的 DELTA 增量過高而被拒絕(由 _external_scn_rejection_delta_threshold_minutes 控制)

3) SCN 跳變被接受但帶有警告(由 _external_scn_logging_threshold_seconds 控制)

B. 如果 SCN 推進(jìn)是由此數(shù)據(jù)庫發(fā)起的,則此視圖不會提供信息。 我們需要在遇到 SCN 跳變的數(shù)據(jù)庫上使用此視圖。

近期活動


ACOUG China Tour 2018

4月13日上海站

掃描二維碼

立即報(bào)名參加

資源下載

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    91亚洲熟女少妇在线观看| 免费在线观看激情小视频| 最近最新中文字幕免费| 香蕉久久夜色精品国产尤物| 欧美一区二区三区视频区| 国产精品一区二区有码| 精品久久久一区二区三| 国产成人午夜福利片片| 欧美日韩国产亚洲三级理论片| 欧美精品在线观看国产| 成人精品欧美一级乱黄| 少妇在线一区二区三区| 精品欧美一区二区三久久| 亚洲专区一区中文字幕| 国产熟女一区二区不卡| 国产成人av在线免播放观看av| 免费黄片视频美女一区| 空之色水之色在线播放| 久久99午夜福利视频| 国产精品不卡一区二区三区四区| 国产情侣激情在线对白| 日韩三级黄色大片免费观看| 搡老妇女老熟女一区二区| 国产成人午夜av一区二区| 老司机精品视频在线免费| 神马午夜福利免费视频| 好吊视频一区二区在线| 日韩aa一区二区三区| 午夜福利视频日本一区| 黄片在线免费观看全集| 国产又黄又猛又粗又爽的片| 欧美黑人暴力猛交精品| 久久成人国产欧美精品一区二区| 午夜精品福利视频观看| 亚洲中文字幕免费人妻| 亚洲国产黄色精品在线观看| 在线免费观看黄色美女| 九九九热视频免费观看| 欧美日韩高清不卡在线播放| 日本加勒比中文在线观看| 丁香六月啪啪激情综合区|