最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

如何获得当前数据库的SCN值

来源:动视网 责编:小采 时间:2020-11-09 16:03:02
文档

如何获得当前数据库的SCN值

如何获得当前数据库的SCN值:欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 主要可以通过两种方式: 1.在Oracle9i及以上版本中 可以使用dbms_flashback.get_system_change_number来获得 SQL select dbms_flashback.get_system_change_nu
推荐度:
导读如何获得当前数据库的SCN值:欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 主要可以通过两种方式: 1.在Oracle9i及以上版本中 可以使用dbms_flashback.get_system_change_number来获得 SQL select dbms_flashback.get_system_change_nu


欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 主要可以通过两种方式: 1.在Oracle9i及以上版本中 可以使用dbms_flashback.get_system_change_number来获得 SQL select dbms_flashback.get_system_change_number from dual; GET_SYSTEM_CHANGE_NUM

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

主要可以通过两种方式:

1.在Oracle9i及以上版本中

可以使用dbms_flashback.get_system_change_number来获得

SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
2982184

2.在Oracle9i之前

可以通过查询x$ktuxe获得最接近当前系统scn值

X$KTUXE-------------[K]ernel [T]ransaction [U]ndo Transa[x]tion [E]ntry (table)

SQL> select max(ktuxescnw*power(2,32)+ktuxescnb) from x$ktuxe;
MAX(KTUXESCNW*POWER(2,32)+KTUXESCNB)
------------------------------------
2980613

3.通过oradebug获取

以前在l2g32003的站点上看到使用oradebug获取SCN的方法,转引在这里:

[oracle@neirong oracle]$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on Wed Dec 21 21:04:24 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL> col a for 999999999999
SQL> oradebug setmypid
Statement processed.
SQL> oradebug DUMPvar SGA kcsgscn_
kcslf kcsgscn_ [1200BC68, 1200BC88) = 00000003 BA84F392 00071266 00000000 00000000 00000000 00000000 1200B948
SQL> select to_number('3BA84F392','xxxxxxxxxxxx') a from dual;
 A
-------------
16014177170
SQL> select dbms_flashback.get_system_change_number a from dual;
 A
-------------
16014177255
SQL> 

方法有多种,但是涉及的知识各有巧妙不同,深入研究一下都是很有意思的.

文档

如何获得当前数据库的SCN值

如何获得当前数据库的SCN值:欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 主要可以通过两种方式: 1.在Oracle9i及以上版本中 可以使用dbms_flashback.get_system_change_number来获得 SQL select dbms_flashback.get_system_change_nu
推荐度:
标签: 进入 获取 如何
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top