Oracle11g新特性:Flashback Data Archive续
上一篇文章简单的介绍了这个新特性,但是没有做太多的试验来对一些说法进行验证,piner也写了一篇来进一步说明这个新引入的flashback方式。本文准备补充一些相关的其他内容。
一.后台进程
Oracle11g为Flashback data archive特性专门引入了一个新的后台进程FBDA,用于将追踪表(traced table,也就是将指定使用flashback data archive的table)的历史变化数据转存到闪回归档区。
NAME DESCRIPTION
------------------------------ ----------------------------------------
FBDA Flashback Data Archiver Process
Oracle10g新特性:Language and Character Set File Scanner(LCSSCAN)
Oracle10gR1引入了一个叫做Language and Character Set Detection (LCSD) 的新特性,可以快速高效的确定一个文件中的字符所适用的字符集。LCSD可以通过Oracle提供的GDK(Globalization Development Kit) java API接口调用。基于该特性,Oracle也提供了一个命令行工具LCSSCAN(Language and Character Set File Scanner)。从Oracle10gR2开始该工具还支持对HTML文件的扫描。
LCSSCAN的语法很简单,基本上一看就会使用:
D:\>lcsscan help
Language and Character Set File Scanner v2.1
(c) Copyright 2003, 2004 Oracle Corporation. All rights reserved.
You can control how LCSSCAN runs by entering the LCSSCAN command
followed by the required parameters. To specify parameters, you use
keywords:Example: LCSSCAN RESULTS=2 END=1000 FORMAT=HTML FILE=index.html
Keyword Description (Default)
——————————————————————–
RESULTS number of language and character set pairs to return (1)
BEGIN beginning byte offset of file (1)
END ending byte offset of file (end of file)
FORMAT file format TEXT, HTML or AUTO detect (TEXT)
FILE name of input file
HELP show help screen (this screen)
FILE就是要扫描的文件,BEGIN和END则指定只扫描文件的部分内容。RESULTS指明要返回几组可用的结果,因为一个文件可能兼容于多种字符集。FORMAT指明文件的类型。
D:\>lcsscan file=test.txt
Language and Character Set File Scanner v2.1
(c) Copyright 2003, 2004 Oracle Corporation. All rights reserved.
test.txt: SIMPLIFIED CHINESE ZHS16CGB231280;
Oracle11g新特性:Flashback Data Archive
Oracle9i引入flashback query,使得数据库第一次可以查询到之前的数据,而不再需要利用log和备份进行时间点恢复。Oracle10g更是引入flashback version query,flashback transaction query,flashback database,flashback table,flashback drop等特性,并且大大简化了flashback query的使用。Oracle11g则为flashback家族又带来一个新的成员:flashback data archive。
初看起来,flashback data archive和flashback query没有太大的不同,都是通过as of能够查询之前的数据,但是他们的实现机制是不一样的。Flashback query是通过直接从undo中读取信息来构造旧数据,这样就有一个限制,就是undo中的信息不能被覆盖。而undo段是循环使用的,只要事务提交,之前的undo信息就可能被覆盖,虽然可以通过undo_retention等参数来延长undo的存活期,但这个参数会影响所有的事务,设置过大,可能导致undo tablespace快速膨胀。
Falshback data archive特性则通过将变化数据另外存储到创建的flashback archive中,以和undo区别开来,这样就可以通过为flashback archive单独设置存活策略,使得可以闪回到指定时间之前的旧数据而不影响undo策略。并且可以根据需要指定哪些数据库对象需要保存历史变化数据,而不是将数据库中所有对象的变化数据都保存下来,这样可以极大的减少空间需求。

Oracle11g密码区分大小写导致database link无法连接
Oracle11g的密码默认是区分大小写的,该特性通过初始化参数sec_case_sensitive_logon控制,默认TRUE表示区分大小写。但是Oracle11g之前的版本密码都是不区分大小写的,所以在Oracle10g等以前版本创建到Oracle11g的database link时,可能会碰到以下问题:
2 connect to ning identified by ning
3 using '11g';
Database link created.
10g> select * from v$version@oracle11g;
select * from v$version@oracle11g
*
ERROR at line 1:
ORA-01017: invalid username/password; logon denied
ORA-02063: preceding line from ORACLE11G