Author: mac
-
Exadata:Smart Scan(二) FAST FULL SCAN
实测了以下Exadata smart scan对于INDEX STORAGE FAST FULL SCAN似乎实际并不生效,详见以下测试。不仅普通的B*tree index也包括compressed index、reverse key index等类型。 Why is my Exadata smart scan not offloading? Exadata Smart Scan and Index Access 上面2篇文章介绍了了类似的XD offload 对index fast full scan不生效的问题, 相关的BUG有: Bug 8257122 – Exadata smart scan caching does not work for INDEX FAST FULL scan (Doc ID 8257122.8) 以下测试了对NORMAL INDEX和bitmap index fast…
-
计算Oracle数据库软件许可证License的使用量
引言: 之前在和一家代理商的讨论过程中, 在开发和测试环境的数据库是否需要购买License 这个问题上产生了分歧, 按照我当时的理解只要是不用于商业用途或者说不部署实际使用的应用程序的环境是不需要购买License 的, 而代理商的工程师说不管你的开发还是测试环境其实都是为了生产环境而存在的,所以实际也是要购买License的。 Google了一把, Oracle官方的<Database Licensing> 分别定义了Development Environment、Test Environment和Production Environment三种环境。 以下是对Development Environment的说明: Development Environment: Customers may use Oracle Full Use licenses in a development environment. Customers also may download Oracle technology products from the Oracle Technology Network (OTN) at http://otn.oracle.com/software/. In order to download an Oracle product from…
-
AIX上的JFS/JFS2 文件系统数据恢复
诗檀软件一直致力于提供AIX上的数据恢复服务和数据恢复软件,JFS2-Loader 运用于所有类型的数据恢复,包括被删除,丢失或无法访问的数据。 JFS2-Loader 曾经恢复的数据丢失灾难的例子: 恢复数据类型 数据丢失原因 恢复方案 JFS/JFS2上被删除的文件。 JFS/JFS2被删除的目录。 JFS/JFS2被删除的数据库 部分原因来自人为错误,定时任务(cron-jobs)槽糕的脚本或心怀不满的员工。 一般命令: rm * rm -r * 自动恢复工具。 咨询服务。 重建的文件系统 包含一个真正的文件系统在逻辑卷上执行的‘crfs’命令。 自动恢复工具。 咨询服务。 被删除的AIX LV逻辑卷 包含一个真正的文件系统在逻辑卷上执行的’rmlv’命令。 同样还发生在局部逻辑卷损坏的情况。 咨询服务。 JFS-Loader 7.2版在已发布。最重要的新功能包括: crfs 命令的恢复:文件系统被crfs命令重写后,JFS-Loader能恢复文件 recover dir命令现在支持递归恢复 JFS-Loader 7.2版在今天发布。最重要的新功能包括: 支持 AIX 7.1 主要性能提升 更高效的磁盘 I/O。 遇到较大的 JFS2 文件系统,在两个阶段进行分析。 第一阶段快速指示可以被恢复的数据。 第二阶段进行深入分析,恢复更多文件名和其他数据。 通过这个网站,你会发现很多关于AIX数据恢复服务的信息。 20多年来,JFS-Loader正在为AIX提供的数据恢复软件和服务。 JFS-Loader不仅限于IBM支持的AIX 版本,也提供之前的版本。目前,JFS-Loader仍支持AIX 版本 4.3和 5.x。…
-
Oracle队列锁enq:TS,Temporary Segment (also TableSpace)
有多少TS,Temporary Segment资源? 每个临时段(例如排序端)对应2个资源 正被drop掉的tablespace或CREATE ROLLBACK SEGMENT对应一个TS资源 有多少个TS lock锁资源? 1个锁资源/对应每一个进程正在执行的如下类操作 该资源有多少用户? 所有正在使用临时空间、DROP TABLESPACE 、或CREATE ROLLBACK SEGMENT的用户进程 谁使用该资源? 所有正在使用临时空间、DROP TABLESPACE 、或CREATE ROLLBACK SEGMENT的用户进程 何时被使用? 对于每一个临时段的2个临时段锁TS enqueue resource有2种不同的用途。 第一目的是为了串行化”High Water Mark”的上涨。第二目的是为了串行化创建、使用和删除一个临时段。当dropping tablespace或创建一个回滚段时将需要tablespace enqueue,目的是避免在row cache字典缓存层面出现的死锁。 ID1,ID2的组合: ID1 …
-
解决Oracle中Split Partition缓慢的问题
有这样一个case , 用户的10g产品数据库中有一张按照月份划分的RANGE分区表 , 其范围为Less than (maxvalue)的最后一个Partition分区总是为空Empty的, 用户每隔半年会对这个MaxValue Partition 执行Split Partition 操作, 以便存放后续月份的数据, 同时这个表上还有一个非分区索引Nonpartitioned indexes。 满以为Split 这样一个Empry Partition会是一个回车就结束的任务, 但是Performance issue就在这平淡无奇的分区维护工作中出现了, 实际在执行”Alter Table Split partition Pn at (value) into …” 的DDL语句时,发现需要花费超过十多分钟才能完成一次Split。问题就在于,如果是有大量数据的Partition分区 , Split 操作慢一些也是正常的(expected预期内的) , 但是实际这里的Max Partition总是为空的,没有任何一条数据, 为什么Split 一个空的分区也会是这种蜗牛的速度呢? 我们来模拟这个现象, 首先创建一张分区表,Maxvalue的Partition是Empty的,且有一个普通索引: SQL> select * from v$version; BANNER —————————————————————- Oracle Database 10g Enterprise…
-
ORA-00600
ORA-00600 Internal Error 是我们在学习使用Oracle的过程中,必然会经历的一个站点。 很多同学一遇到ORA-00600 错误信息,就认为自己碰到了Oracle Database软件的Bug,实际上这一观点是不准确的。 ORA-00600可能由多种原因造成,包括软件漏洞、Bug、程序运行异常、内存讹误和数据讹误造成。 举例来说在数据异常恢复过程中常遇到的ORA-00600[2662](Block SCN is ahead of Current SCN) 和ORA-00600[4000](回滚段rollback数据块时发现rollback segment存在讹误)错误 均是数据讹误引起的而非bug 。 我们在分析ORA-00600 Internal Error, 定位具体故障的时候,从600 trace中能够找到的最为有用的信息就是600所附带的Argument信息: 实际600 Internal Error 的Argument 可以分成 2种: a. 第一位是数字类型的Argument , 例如之前说的2662 和 4000 , 不同的数字代表不同的错误含义。 数字类型的argument 所代表的内部错误相对更为普遍、常见。 实际这些数字Argument 也是来源于 不同的Oracle Kernel Function内核函数,如kddummy_blkchk、kclchkinteg_2 等; 但是因为这些错误较为常见, 一方面为了照顾用户的使用体验( 用户对RDBMS软件的内核函数是不感兴趣的,当然可能我们感兴趣), 另一方面这些函数涉及到很多Oracle的内部原理,为了不让这些内核函数暴露在外, 所以Oracle开发部门对这些常见的Internal Error状态进行了编码,转换成数字代码的形式, 实际上这些数字代码形式的Argument…
-
了解你所不知道的SMON功能(十):维护SMON_SCN_TIME字典基表
SMON后台进程的作用还包括维护SMON_SCN_TIME基表。 SMON_SCN_TIME基表用于记录过去时间段中SCN(system change number)与具体的时间戳(timestamp)之间的映射关系,因为是采样记录这种映射关系,所以SMON_SCN_TIME可以较为较为粗糙地(不精确地)定位某个SCN的时间信息。实际的SMON_SCN_TIME是一张cluster table簇表。 SMON_SCN_TIME时间映射表最大的用途是为闪回类型的查询(flashback type queries)提供一种将时间映射为SCN的途径(The SMON time mapping is mainly for flashback type queries to map a time to an SCN)。 Metalink文档<Error ORA-01466 while executing a flashback query. [ID 281510.1]>介绍了SMON更新SMON_SCN_TIME的规律: 在版本10g中SMON_SCN_TIME每6秒钟被更新一次(In Oracle Database 10g, smon_scn_time is updated every 6 seconds hence that is the minimum time that the…
-
了解Oracle在Windows上的操作系统认证
了解Oracle在Windows上的操作系统认证 有些同学对在Windows上登陆sqlplus或plsqldeveloper时输入错误的账号/密码都能成功登陆到sysdba感到奇怪。 这实际上是很多初学Oracle的初学者都很容易遇到的问题,造成这个问题的原因很简单,就是Oracle有操作系统认证的特点。 当在Windows上安装oracle后会默认启动操作系统认证,这种认证主要是针对数据库管理员的,也就是sysdba角色。启用了操作系统认证后只要是属于合适的操作系统用户组下的用户,均可以不输入密码即登陆到sysdba。 操作系统认证的理念在于,当OS操作系统不安全时oracle数据库也并不能保证安全,所以依赖于OS的安全并不会有问题。 对应在Windows上的用户组名称为”ORA_DBA”(SYSDBA)和”ORA_OPER”(SYSOPER)。 以下几点对于Windows上的操作系统认证是重要的: 1、 对应的sqlnet.ora中有如下的记录: SQLNET.AUTHENTICATION_SERVICES = (NTS) 2、使用的用户 可能属于这几个用户组: ORA_OPER、ORA_DBA、ORA_sid_OPER、ORA_sid_DBA ORA_DBA代表对所有本机上的实例都可以以sysdba身份登录 ORA_OPER代表对所有本机上的实例都可以以sysoper身份登录 ORA_sid_OPER和ORA_sid_DBA 即只对变量$SID对应的实例生效 3、 有对应的注册表记录 所以初学的同学没必要惊讶于为什么输入错误密码也能以SYSDBA登录,一切的这些问题必要都有原因和解释,只要愿意用google搜索下那么大多数浅显的问题都能得到解释。如果一路惊讶而连google都不会了,那么才真变菜鸟了。 扩展阅读可以读下下面的文档: 视频教学 Oracle常见初学者错误ORA-1017的解决 https://zcdn.askmac.cn/1017-1080.mp4
-
TRANSACTIONAL TEXT INDEX全文索引可能消耗大量PGA内存
在版本10.2中存在<BUG 6624968 – A QUERY AGAINST A TRANSACTIONAL TEXT INDEX CONSUMES HUGE PGA MEMORY>对于文本索引的查询可能引发PGA内存过量消耗, 如以下演示: SQL> select * from v$version; BANNER —————————————————————- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bi PL/SQL Release 10.2.0.1.0 – Production CORE 10.2.0.1.0 Production TNS for Linux: Version 10.2.0.1.0 – Production NLSRTL Version 10.2.0.1.0 – Production SQL> SQL> SQL>…
-
Oracle发布Solaris 11- First Cloud OS
在东部时间2011年11月9日上午Oracle发布了其最新的操作系统产品(OS Product)- Solaris 11正式版,在甲骨文公司的宣传资料里Solaris 11被誉为第一个云操作系统(First Cloud OS)。 Oracle Solaris 11为大规模云计算环境和企业数据中心提供了突破性的安全性和服务部署的灵活性等特点。 构建云平台 在Solaris 11正式版中你会发现简化系统的生命周期管理、透过内置的虚拟化优化性能、节约数据管理的成本、部署安全的云架构是如此的简单。完全集成的新特性,包括 Oracle Solaris Zones 和网络虚拟化功能,使共有或私有云的迅速部署成为可能。管理员可以简化从应用程序开发到生产环境的整个软件生命周期管理,并且您的生意会从云的2个关键优势:敏捷和低维护成本那里受益。 最佳企业应用 在Solaris 11 中探索由其技术革新给您的企业级应用程序,带来的高级安全性、容错、服务高可用性和可扩展的数据管理模式。Oracle Solaris 11为您的生意能够可靠、安全、高效地运行定下标准。Oracle Solaris 11通过保证2进制程序能够兼容运行有效保护了企业的商业投资。使用Solaris Cluster和硬件故障管理系统保证应用的持续高可用。 Solaris 11将无缝地随着您的生意而扩展,且不产生任何额外的费用。 专为Oracle而设计的 Oracle Solaris 11 是在您的数据中心内能够提供最高级别性能与价格比的重要一环。在开发过程中已对Solaris 11充分优化,以使其能够充分利用硬件的革新,包括CPU、内存、I/O子系统的优势,并将这些创新转化到Oracle大量的软件组合中。 现在只需要注册一个OTN账号就可以从http://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.html下载到Solaris 11的安装介质了。 Solaris 分成 For Sparc 和 For x86 2个版本。 …