Oracle Database
文章平均质量分 92
ezbit
技术或有时,梦想却无时!
个人技术网站:<a href='http://www.ezbit.ren'>http://www.ezbit.ren</a>
展开
-
Oracle 10GR2 安装手册-整理版
ORACLE 10G RAC安装手册-整理版原创 2017-06-21 17:28:10 · 3188 阅读 · 0 评论 -
使用bbed编辑研究oracle数据块结构
bbed是随oracle软件发布的一款数据块查看和编辑工具,作为一款内部工具,bbed的功能非常强大,但是如果使用不当可能给数据库造成无法挽回的损失。因此。我们建议在使用bbed修改数据块前备份被修改的数据文件,并且在成功修复数据块后立即将数据库数据导出,并新建数据库。 编辑并使用bbed 首次使用bbed前必须要经过链接编译。编译方法如下:[oraten@yue li原创 2014-10-11 11:26:27 · 2341 阅读 · 0 评论 -
模拟ORA-26040: Data block was loaded using the NOLOGGING option
我们知道通过设置nologging选项,可以加快oracle的某些操作的执行速度,这在执行某些维护任务时是非常有用的,但是该选项也很危险,如果使用不当,就可能导致数据库发生ORA-26040错误。首先,构造使用环境,SQL> select tablespace_name,logging,force_logging from dba_tablespaces;TABLESPACE_NAME原创 2014-11-13 17:37:56 · 2174 阅读 · 0 评论 -
Oracle Dump Redo Log File 说明
一. dump redo 说明 关于Dump redo log 的示例,MOS 上的文档:[ID 1031381.6] 有详细说明。Dump 有两种方式: (1)使用'alter session' 命令dumpredo header。 (2)使用'alter system dump logfile' 命令du转载 2013-10-10 13:53:38 · 1763 阅读 · 0 评论 -
oracle block corrupt 坏块
总体上来讲,oracle的坏块可以分为两种情景:物理损坏和逻辑损坏。物理损坏是由于存储等原因造成的,致使oracle在处理数据块时发现块的checksum不一致。逻辑损坏多是由于oracle的bug或者内存错误引起,通过检测数据块的checksum并不会发现什么问题,但是在逻辑上这些块已经发生了损坏。oracle通过两个参数来控制对物理损坏和逻辑损坏的检测:SQL> show parame原创 2014-10-09 17:18:57 · 1798 阅读 · 0 评论 -
检测ORACLE数据块损坏的方法汇总
1:使用初始化参数使用初始化参数db_block_checksum\db_block_checking可以设置数据库对块的物理一致性和逻辑一致性检查。Db_block_checksum:物理一致性检查,默认开启。始终对system表空间数据进行检查,如果开启还会对日志进行检查,开启后会有1~2%的性能影响,建议开启。Db_block_checking:逻辑一致性检查,默认未开启。始终对原创 2014-11-12 08:51:35 · 4074 阅读 · 0 评论 -
关于v$datafile和v$tempfile中的file#
v$datafile视图中存储的是有关数据文件的信息,v$tempfile视图中存储的是有关临时文件的信息。在两个视图中都有file#字段,先来看一下官方文档的定义:V$DATAFILEThis view contains datafile information from the control file.See Also:"V$DATAFILE_HEADER",原创 2014-11-10 08:33:31 · 4867 阅读 · 0 评论 -
validate命令---rman进行备份和回复的验证
rman作为oracle备份与恢复工具,为我们提供了强大的功能,其中包括对数据文件的物理和逻辑检测以及备份文件的有效性检测。首先,来看一下rman对数据文件的检测。我们知道,rman在备份数据时,会将数据读入读缓存,然会将数据从读缓存写入写缓存并最终写入数据库。在从读缓存到写缓存的过程中,rman会进行物理一致性的检测(db_block_checksum未true)和逻辑一致性检测(使用了ch原创 2014-11-07 10:37:43 · 7241 阅读 · 0 评论 -
ORACLE:object_id vs data_object_id
在dba_objects视图中存在object_id和data_object_id两个字段,在多数情况下,两者是相同的,但是有时两者却又不同。这两个字段到底什么含义那?首先,OBJECT_id字段代表数据库中的某对象的唯一性标识,具有主键特征,而DATA_OBJECT_ID则标识了该对象底层的数据存储段,具有外建特征。在初始情况下,两者相同,但是当我们对对象的底层存储段进行了根本性的修改后,两原创 2013-11-10 22:56:21 · 1705 阅读 · 0 评论 -
ASM下裸设备的路径更改是否会影响数据库的运行
通过asm来存储数据库文件,在linux下可以通过asmlib的方式来管理块设备,也可以直接使用裸设备来建立asm磁盘。在asmlib方式下,磁盘设备启动顺序和名称的改变不会影响到asm的使用,但如果直接使用裸设备会怎么样那?我们知道asm会在磁盘中存储与asm有关的元数据,通过这些元数据asm可以了解磁盘的相关信息,因此理论上裸设备名称的改变不会影响asm的正常使用。下面,通过实验来验证以下。原创 2014-08-31 13:17:42 · 1303 阅读 · 0 评论 -
oracle btree index 索引块结构初探
通过treedump查看索引结构语法格式:alter session set events 'immediate trace name treedump level index_object_id'SQL> create table t1(c1 varchar2(10));表已创建。SQL> create index i1 on t1(c1);索引已创建。SQL> sele原创 2013-12-13 13:21:20 · 2493 阅读 · 0 评论 -
在64位linux下安装32位oracle软件
在某些情况下,有时我们需要在64位的系统下来安装32的oracle软件(如,客户的变态要求)。虽然在理论上,这种方式是可行的,但在实际的安装过程中确往往是错误百出,为了避免不必要的错误,也为了方便以后的工作查找,记录安装过程。本示例以redhat4——64位操作系统,oracle 10g为数据库,安装过程中,仅仅使用了最小的安装包,以便尽可能多的发现问题。由于问题主要出现在软件包的安装和兼容性原创 2014-11-03 19:21:20 · 3719 阅读 · 0 评论 -
构建并修复逻辑损坏块和物理损坏块
Oracle数据块的损坏可以分为物理损坏和逻辑损坏,参照http://blog.csdn.net/yidian815/article/details/39990803 物理损坏和逻辑损坏发生的场景不同,因此处理的方式方法也就不同。在很多情况下,相同的损坏块处理方法对于物理损坏和逻辑损坏会产生不同的结果。对于物理损坏的模拟是比较容易的,而对逻辑损坏的模拟却不常见。 物理损坏:原创 2014-10-17 17:39:49 · 1856 阅读 · 0 评论 -
使用bbed恢复表数据
对于表级别的数据恢复,ORACLE提供了多种恢复方法:flashback query,logmnr等。本文通过示例演示使用bbed的copy命令恢复用户误删除或者损坏的表数据,当然我们也可以使用该方法来恢复其他数据。实验过程:SQL> select tablespace_name,file_name from dba_data_files;TABLESPACE_NAME FILE_原创 2014-10-20 08:44:39 · 1665 阅读 · 1 评论 -
alter table table_name enable row movement
Row movement从字面意思解释为行移动.默认情况下,oracle数据块中的一行其生命周期内是不会发生移动的,即其rowid不会发生改变.但是在某些情景下,我们希望行的rowid可以发生变化,这时候我们就需要启动表的row movement特性。启用row movement特性,使用如下语句: Alter table table_name enable row mov原创 2015-02-16 15:50:45 · 9246 阅读 · 0 评论 -
flashback query
FLASHBACK技术包括多个方面:flashback database,flashback drop,flashback query,flashback table其中flashbackdatabase利用的是闪回日志,flashback drop利用的回收站,flashback query和 flashbacktable利用的是undo信息。Flashbackquery原创 2015-02-16 17:15:18 · 1429 阅读 · 0 评论 -
Oracle Flashback Drop: Undo a DROP TABLE Operation
7.4 Oracle Flashback Drop: Undo a DROP TABLE OperationOracle Flashback Drop reverses the effects of a DROP TABLE operation. It can be used to recover after the accidental drop of a table. Flashbac翻译 2015-02-11 20:39:09 · 1665 阅读 · 0 评论 -
ORA-12547: TNS:lost contact 错误处理
闲来无事,配置一下oracle数据库的随系统自动重启,查阅资料得知,主要需要配置/etc/oratab 和 rc.local。 配置oracle随系统自启动主要使用了$ORACLE_HOME/bin/dbstart文件。先把dbstart的内容贴出来,方便查看#!/bin/sh## $Id: dbstart.sh 22-may-2008.05:05:45 arogers Exp $原创 2014-12-04 14:37:55 · 7784 阅读 · 0 评论 -
ORACLE NOLOGGING研究
熟悉oracle的人都知道,通过设置oracle的nologging选项,可以使某些操作快速完成,风险是数据库备份可能失效。可以使用nologging的操作有很多,搜集资料整理如下:1.索引的创建和ALTER(重建)。2.表的批量INSERT(通过/*+append */提示使用“直接路径插入“。或采用SQL*Loader直接路径加载)。表数据生成少量redo,但是所有索引修改会生成大量r原创 2014-12-18 12:11:10 · 2863 阅读 · 0 评论 -
ORACLE FLASHBACK DATABASE 总结
闪回数据库(FLASHBACK DATABASE)是oracle数据库非常重要的一项功能,与通过undo 获取表数据的历史版本进而执行逻辑错误恢复的功能相比,flashback database 的功能完全不同:undo数据是针对整个数据库的;undo数据的保存时间是有限的;undo 的本质是为了保持数据的一致性。而flashback database可以只针对某表空间保存历史数据,并且只要存储空原创 2015-01-27 15:35:31 · 3914 阅读 · 0 评论 -
dbms_repair包使用详解
Oracle提供了DBMS_REPAIR包用来发现、标识并修改数据文件中的坏块。任何工具都不是万能的,使用这个包的同时会带来数据丢失、表和索引返回数据不一致,完整性约束破坏等其他问题。因此当出现错误时,应当首先从物理备份或逻辑备份恢复,使用dbms_repair只是在没有备份的情况下使用的一种手段,这种方式一般都会造成数据的丢失。dbms_repair包的工作原理比较简单,原创 2014-11-05 17:32:31 · 2688 阅读 · 0 评论 -
将oracle数据库从32位平台迁移到64位
客户的32位oracle数据库系统磁盘出现损坏,庆幸的是oracle数据库完好无损。客户要求将数据库迁移到新购的设备上,新设备内存为64G,系统REDHAT 6.2 64位,直接拷贝数据文件肯定是不行的,因为oracle 的存储过程在32位和64位平台下的wordsize不同,虽然用户的存储过程可以在使用时自行完成重新编译,但oracle的系统存储过程确需要我们来手工转换。总结,迁移过程如下:原创 2014-11-06 09:45:27 · 3631 阅读 · 0 评论 -
使用NFS安装oracle软件
昨天,使用openfiler创建nas存储系统,并安装oracle软件,前面一切顺利,到创建数据库时报ora错误,原来使用nfs安装oracle数据库时,mount选项有特殊要求,整理总结如下,以备查:RAC In the table belowBinaries is the shared mount points where the Oracle H原创 2014-11-05 08:49:45 · 2221 阅读 · 0 评论 -
Understanding DBMS_STATS.SET_*_PREFS procedures
原文:http://optimizermagic.blogspot.com/2009/08/understanding-dbmsstatssetprefs.htmlIn previous Database releases you had to use the DBMS_STATS.SET_PARM procedure to change the default value for翻译 2013-12-31 08:50:12 · 1320 阅读 · 0 评论 -
oracle时间模型
首先让我们来看一下oracle对于时间模型的解释:Time Model StatisticsWhen tuning an Oracle database, each component has its own set of statistics. To look at the system as a whole, it is necessary to have a common sca原创 2013-12-25 08:58:05 · 1695 阅读 · 0 评论 -
详解ORACLE ROWID之来龙去脉
rowid 从字面解释为行标识,我们可以通过rowid伪列获取表中任何一行的rowid。在oracle中,通过rowid定位记录是最快和最有效的实现方式。那么rowid在oracle中是怎样定位记录的哪?并且它为什么是最有效的方式?带着这些问题,让我们一步一步揭开rowid的神秘面纱。首先,我们看一下怎样获取表中记录的rowid:通过rowid伪列SQL> select rowid,id原创 2013-11-16 11:20:12 · 3170 阅读 · 0 评论 -
Hakan factor
Hakan factorHakan factor 用来表示在表中任何一个数据块所包含的记录数量的上限。对于一个表来说,Hakan factor 受一下几方面的影响:表中列的数量列的数量类型和长度列是否具有非空约束在通常情况下,oracle认为每条记录最小占用11byte的存储空间,这是为了在发生行迁移的情况下,留出足够的空间保存行迁移信息(扩展rowid会占用10字节的空间)。原创 2013-12-11 19:36:48 · 1213 阅读 · 0 评论 -
Improvement of AUTO sampling statistics gathering feature in Oracle 11g
原文:http://optimizermagic.blogspot.com/2008/01/improvement-of-auto-sampling-statistics.htmlOptimizer statistics in Oracle are managed via a pl/sql package, dbms_stats. It provides several pl/翻译 2013-12-30 15:11:44 · 1295 阅读 · 0 评论 -
一次配置oracle em的经历
对oracle10grac配置em,原本是非常简单的事,却花费了很长时间,记录下来,备忘。首先是报如下错误:[oracle@node1 admin]$ emca -config dbcontrol dbSTARTED EMCA at Aug 17, 2014 9:06:47 AMEM Configuration Assistant, Version 10.2.0.5.0 Produc原创 2014-08-17 17:16:37 · 2412 阅读 · 0 评论 -
rman configure命令
记录rman的命令,备忘连接到目标数据库: BACK (DBID=4048592102)连接到恢复目录数据库RMAN> 2> show all; --查看参数RMAN 配置参数为:CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;CONFIGURE BACKUP OPTIMIZAT原创 2014-08-06 20:04:09 · 1162 阅读 · 0 评论 -
log_archive_dest_n和standby_archive_dest
今天查看资料,对log_archive_dest_n和standby_archive_dest的关系有点模糊了,做个简单的测试,缕清关系、加深记忆。首先看一下我们的实验环境,10grac,双节点:node1和node2SQL> host hostnamenode1SQL> select * from v$version;BANNER-----------------------原创 2014-07-07 15:15:01 · 1676 阅读 · 0 评论 -
oracle系统统计信息
系统统计信息主要描述了与系统硬件相关的某些特性,例如cpu和io系统的性能和利用率等。这些信息对于查询优化器来说是非常重要的,在选择执行计划的过程中,oracle优化器会利用系统统计信息来评估执行计划的成本,因此,准确无误的系统统计信息可以帮助优化器做出正确的选择。我们可以通过DBMS_STATS.GATHER_SYSTEM_STATS过程来收集系统统计信息,收集的方式有两种:负载统计(W原创 2013-12-27 11:20:51 · 1638 阅读 · 0 评论 -
DBA_ENABLED_TRACES
DBA_ENABLED_TRACESDBA_ENABLED_TRACES displays information about enabled SQL traces.ColumnDatatypeNULLDescriptionTRACE_TYPEVARCHAR2(21) Type of the trace:CLIEN原创 2013-12-25 16:41:01 · 1005 阅读 · 0 评论 -
dba_enabled_aggregations
DBA_ENABLED_AGGREGATIONS displays information about enabled on-demand statistic aggregation.ColumnDatatypeNULLDescriptionAGGREGATION_TYPEVARCHAR2(21) Type of the aggr原创 2013-12-23 09:36:31 · 995 阅读 · 0 评论 -
数据字典基表---COL_USAGE$
从oracle9i开始,oracle为了监控column的使用情况,引入了col_usage$基表。col_usage$会记录数据库运行期间column作为谓词被使用的情况,这些记录信息会指导oracle如何生成column的直方图。首先来看一看col_usage$的表结构:SQL> select * from v$version;BANNER--------------------原创 2013-12-18 14:35:30 · 2254 阅读 · 0 评论 -
oracle中与索引相关的视图---all_indexes
ALL_INDEXES描述了与索引有关的信息,为了使部分字段的内容更准确,我们需要通过analyze或者dbms_stats包来收集与索引有关的统计信息(这部分字段标记为带*)。首先看一下官网给出的各个字段的解释:ColumnDatatypeNULLDescriptionOWNERVARCHAR2(30)NOT NULL原创 2013-12-16 18:53:11 · 4105 阅读 · 0 评论 -
详解oracle bitmap位图索引
位图索引是oracle中非常重要的一种索引形式。本文通过总结有关位图索引的资料,尝试回答如下几个问题:1:什么是位图索引?2:位图索引适合什么场景,不适合什么场景?3:位图索引的性能如何?什么是位图索引?位图索引,顾名思义,与“位”有关。大家都知道,计算机中的所有信息最终都是通过“位bit”来运算的, 二进制位运算在计算机中是非常高效的。每一个二进制位都可以取值0或者1原创 2013-11-24 21:14:08 · 24619 阅读 · 3 评论 -
index rebuild vs index coalesce vs index shrink
shrink can release space back to dba_free_space coalesce does not. that is the main thing here. but if you ask me, you want to coalesce - because that index will need that space again soon原创 2013-11-25 10:46:22 · 1909 阅读 · 0 评论 -
what is Cardinality?
在数学意义上,cardinality (基数或者势)指集合内元素的个数。在数据库的相关资料中,往往会看到cardinality这个术语。Base cardinality is the number of rows in a base table. The base cardinality can be captured by analyzing the table. If tabl翻译 2013-11-22 18:30:22 · 6127 阅读 · 3 评论 -
对外键的一点探究
熟悉oracle的人都知道,如果外键列上没有创建索引,往往会造成表锁定的问题。下面通过实例来简单探究一下外键是如何影响锁的。首先来看一下数据库的版本SQL> select * from v$version;BANNER--------------------------------------------------------------------------------O原创 2013-11-12 15:26:30 · 1090 阅读 · 0 评论