传播知识,分享快乐!十年以上数据库,系统运维与管理,性能优化经验。全部文章,欢迎扩散,转载请注明出处!
编译无效对象是DBA与数据库开发人员常见的工作之一。对于编译过程中的错误该如何去捕获,下面给出两种捕获错误的方法。 一、当前数据库版本信息及无效对象 1、查看当前数据库版本 SQL> select * from v$...
绑定变量是Oracle解决硬解析的首要利器,能解决OLTP系统中library cache的过度耗用以提高性能。然刀子磨的太快,使起来锋利,却容 易折断。
游标是数据库领域较为复杂的一个概念,因为游标包含了shared cursor和session cursor。两者有其不同的概念,也有不同的表现形式。
DBMS_XPLAN包中display_cursor函数不同于display函数,display_cursor用于显示SQL语句的真实的执行计划,在大多数情况下,显示真实 的执行计划有助于更好的分析SQL语句的全过程,尤其是运行此SQL语句实时的I/O开销。
DBMS_XPLAN包包括一系列函数,主要是用于显示SQL语句的执行计划,且不同的情形下使用不同的函数来显示,如预估的执行计划则使用 display函数,而实际的执行计划则是用display_cursor函数,对于awr中的执行计划,则是用display_awr函数,而SQL tuning集合中的执行计划 则由display_sqlset来完成。
在SQL语句的执行计划中,包含很多字段项和很多模块,其不同字段代表了不同的含义且在不同的情形下某些字段、模块显示或不显示,下面的描述给出了执行计划中各字段的含义以及各模块的描述。
在索引列上使用函数使得索引失效的是常见的索引失效原因之一,因此尽可能的避免在索引列上使用函数。尽管可以使用基于函数的索引来 解决索引失效的问题,但如此一来带来的比如磁盘空间的占用以及列上过多的索引导致DML性能的下降。
Oracle 临时表空间是Oracle数据库的重要组成部分,尽管该部分并没有cont体系结构上得以展现,但其重要地位也是不容忽视的。尤其是 对于大型的频繁操作,如创建索引,排序等等都需要在临时表空间完成来减少内存的开销。
SQL查询语句的性能从一定程度上影响整个数据库的性能。很多情况下,数据库性能的低下差不多都是不良SQL语句所引起。而SQL语句的执行 计划则决定了SQL语句将会采用何种方式从数据库提取数据并返回给客户端,本文描述的将是如何通过EXPLAIN PLAN 获取SQL语句执行计划来获 取SQL语句的执行计划。
Oracle负载均衡主要是指新会话连接到RAC数据库时,如何判定这个新的连接要连到哪个节点进行工作?通常情况下,负载均衡分为客户端负载均衡与服务器端负载均衡。
ORA-02019 错误提示是未找到远程数据库的连接说明,通常发生在本地数据库无法连接到远程数据库。引发该问题的原因很多,比如网络连接,连接方式(tnsnames),dblinkc的创建等等。
ORA-02409:超时:分布式事务处理等待锁定ORA-02063一、错误现象与环境 前端应用程序运行时出现下面的错误提示: 事件添加失败:ORA-02409;超时:分布式事务处理等待锁定 ORA-02063:紧接着line(源于ITSPFDB.
--=======================================================-- ORA-39126 KUPW$WORKER.
--====================== -- 只读表空间的备份与恢复 --======================一、只读表空间的特性 使用只读表空间避免对静态数据的频繁备份 当使用alter tablespace tbs read only时,数据文件会执行检查点进程(将所有脏缓冲区的内容写至磁盘), 当前的SCN号会被标注,同时存储了SCN的数据文件头部被冻结.控制文件内也会记录该数据文件的冻结信息。
--*************************************-- Oracle 常用性能视图一览表(10g)--*************************************Advisors Informatio...
--=================================-- 使用RMAN实现异机备份恢复(WIN平台)--================================= 在有些情况下,如数据库服务器处于磁盘空间的压力或成本控制需要将数据文件备份到异机,使用RMAN可以完成该工作。
--====================-- 收缩表段(shrink space)--====================一、表的增长方式 当表被创建后,随着记录的不断插入,组成表的区间会被填满,如果启用了自动扩展,则当区间填满后,会分配新的区间。
--========================-- 进程、会话、连接之间的差异--======================== 在使用Oracle database的时候,连接与会话是我们经常碰到的词语之一。
--==================================-- 设置 Oracle 监听器密码(LISTENER)--================================== 监听器也有安全?Sure!在缺省的情况下,任意用户不需要使用任何密码即通过lsnrctl 工具对Oracle Listener进行操作或关闭,从而造成任意新的会话都将无法建立连接。
--==========================-- 配置sqlnet.ora 限制IP访问Oracle--========================== 与防火墙类似的功能,Oracle 提供限制与允许特定的IP或主机名通过Oracle Net来访问数据库。
--========================-- Oracle 监听器日志配置与管理--======================== Oracle 监听器是一个服务器端程序,用于监听所有来自客户端的请求,并为其提供数据库服务。
--************************************ -- db_block_checking 与 db_block_checksum --************************************ db_block_checking与db_block_checksum两个参数都是对block进行检查,然而两者很容易混淆。
--************************ -- ORA-00054 故障处理一例 --************************ 最近index job出现失败,于是尝试手动执行试试。
--************************************************** -- 参数 CONTROL_FILE_RECORD_KEEP_TIME 和MAXLOGHISOTRY --************************************************** 参数 control_file_record_keep_time 是一 个 位于控制文件中比 较 重要的 参数 之一。
--********************** -- DBVERIFY 工具的使用 --********************** Oracle 数据库运行过程中由于硬件故障或操作系统故障导致导致Oracle无法以Oracle格式来识别或所包含的内容即为出现数据块损坏 故障,这个坏块可以分为介质损坏以及逻辑损坏。
--********************************** -- 基于Linux下 Oracle 备份策略(RMAN) --********************************** 对于 Oracle 数据库的备份与恢复,尽管存在热备,冷备以及逻辑备份之外,使用最多的莫过于使用RMAN进行备份与恢复。
--===================== -- 手动删除oracle数据库 --===================== 在很多情况下,或无法使用dbca工具的时候,我们需要手动来删除数据库。
--================================== -- 使用RMAN迁移文件系统数据库到ASM --================================== 在实际的工作过程中,由于ASM磁盘管理的便利性,因此很多时候需要将文件系统的数据库迁移到ASM,本文演示了如何将文件系统数据库迁移到ASM实例。
--*************************** -- Oracle 彻底 kill session --*************************** kill session 是DBA经常碰到的事情之一。
--******************************************* -- RMAN 备份路径困惑(使用plus archivelog时) --******************************************* 最近RMAN备份时,碰到一点疑惑。
--****************************** -- ORA-00119,ORA-00132 错误处理 --****************************** 最近系统启动时,收到了ORA-00119以及ORA-00132的错误,该错误实际上跟LISTENER有关,通常的处理办法是将spfile转储为pfile然后从pfile启动 并生成新的spfile,不过该操作方式代价太高,需要重新启动数据库。
--********************************* -- Oracle 10.2.0.1 升级到 10.2.0.4 --********************************* 数据库升级并不难,只要遵循其步骤,一般问题不大。
****************************************** Oracle 补丁全集 (Oracle 9i 10g 11g Path) ****************************************** 俗话说,金无赤足,人无完人。
--******************* -- CRS-0215 错误处理 --******************* 在安装 Clusterware 的时候, 收到下列错误提示: ...
--****************** -- ORA-01658 错误 --****************** 最近重新装个了Oracle 11g,在对分区表导入导出时碰到了ORA-01658错误的问题,因为刚刚才装的新系统,一导出就碰到了下面的问题, 自己可是纳闷了半天,后来才发现是因为磁盘空间不够引发的。
--**************************** -- 导入导出 Oracle 分区表数据 --**************************** 导入导入Oracle 分区表数据是Oracle DBA 经常完成的任务之一。
--************************************ -- Oracle 表缓存(caching table)的使用 --************************************ 1.使用caching table 的原因 在通常的情况下,应用程序访问在cache中的数据块将按照LRU算法来进行处理。
--============================== -- Buffer cache 的调整与优化(一) --============================== Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能。
--======================================= -- 共享池的调整与优化(Shared pool Tuning) --======================================= 共享池(Shared pool)是SGA中最关键的内存片段,共享池主要由库缓存(共享SQL区和PL/SQL区)和数据字典缓存组成。
--======================= -- Oracle 硬解析与软解析 --======================= Oracle 硬解析与软解析是我们经常遇到的问题,什么情况会产生硬解析,什么情况产生软解析,又当如何避免硬解析?下面的描述将给出 软硬解析的产生,以及硬解析的弊端和如何避免硬解析的产生。
--======================= -- ORA-32004 的错误处理 --======================= 启动数据库时,收到了ORA-32004 的错误,错误多是一些过时且在当前版本中不在使用的参数,如果碰到类似的错误,只需要将其 reset即可。
--=============================== -- SQL 基础--> NEW_VALUE 的使用 --=============================== 通常的使用方法为: column co...
--============================== -- 使用ASMCMD 工具管理ASM目录及文件 --============================== 在ASM实例中,所有的存储于ASM磁盘组中的文件对于操作系统命令而言是不可访问的,因此也无法使用常规的命令来操纵ASM磁盘中的文 件。
--======================== -- ASM 磁盘、目录的管理 --======================== ASM磁盘是ASM体系结构的重要组成部分,ASM磁盘由ASM实例来定位、管理,本文主要讲述ASM磁盘组、故障组等等。
--==================================== -- 表段、索引段上的LOGGING与NOLOGGING --==================================== 在有些情况下,对于表段和索引段可以采用记录日志的模式,也可以使用不记录日志的模式。
--================================================== -- 日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING) --================================================== 一、日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING) 1.三者的含义 LOGGING:当创建一个数据库对象时将记录日志信息到联机重做日志文件。
--============================ -- PL/SQL --> 动态SQL的常见错误 --============================ 动态SQL在使用时,有很多需要注意的地方,如动态SQL语句结尾处不能使用分号(;),而动态PL/SQL结尾处需要使用分号(;),但不能使用正 斜杠结尾(/),以及shcema对象不能直接作为变量绑定。
--==================== -- PL/SQL --> 动态SQL --==================== 使用动态SQL是在编写PL/SQL过程时经常使用的方法之一。
--===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --===================================== 闪回技术通常用于快速简单恢复数据库中出现的认为误操作等逻辑错误,从闪回的方式可以分为基于数据库级别闪回、表级别闪回、事务 级别闪回,根据闪回对数据的影响程度又可以分为闪回恢复,闪回查询。
--============================== -- PL/SQL --> INSTEAD OF 触发器 --============================== INSTEAD OF 触发器常用于管理编写不可更新的视图,INSTEAD-OF触发器必须是行级的。