数据库
文章平均质量分 78
Fangrn
这个作者很懒,什么都没留下…
展开
-
一次改变PUSHED PREDICATE方式进行SQL调优的案例
早上某数据库服务器CPU不断报警,应用系统管理员同时反馈应用响应明显变慢。登陆数据库主机查看,应用连接上来的几个进程占用了大量的CPU资源,造成CPU空闲率很低。登陆数据库查询,发现有不少buffer cache chains的等待,初步判断是应用上出现了某些性能糟糕的SQL语句。 通过进程捕获了几条耗资源的SQL语句,发现大部分都是类似同一条语句造成的。手工执行一下,...原创 2009-12-02 12:41:36 · 237 阅读 · 0 评论 -
CRS-0184: Cannot communicate with the CRS daemon
RAC节点重起有问题,查看crs 状态有如下错误CRS-0184: Cannot communicate with the CRS daemon前几天搭建了两节点的一个RAC数据库发现一个问题,当我重起两台主机的时候,有如下的问题:虚拟IP全跑到其中一个节点上去了# ifconfig -aen0:flags=5e080863,c0<UP,BROADCAST,N...原创 2009-12-07 17:05:45 · 258 阅读 · 0 评论 -
设备文件引起的10gRAC-CRS服务故障
IBM CSC中心的一次计划性完全断电,(主机、存储的初始化)引起了测试环境上的RAC故障。在故障恢复中,通过排查问题,了解了不少以前从没关注的OCR相关知识点。系统环境系统结构:2节点Oracle 10gR2 RAC 主机系统:P570 AIX 5300 存储:DS4800问题描述主机重启后,RAC的1个节点故障,CRS服务不可用、尝试重启失...原创 2009-12-07 17:21:43 · 196 阅读 · 0 评论 -
oracle索引整理
一,oracle的索引陷阱一个表中有几百万条数据,对某个字段加了索引,但是查询时性能并没有什么提高,这主要可能是oracle的索引限制造成的。 oracle的索引有一些索引限制,在这些索引限制发生的情况下,即使已经加了索引,oracle还是会执行一次全表扫描,查询的性能不会比不加索引有所提高,反而可能由于数据库维护索引的系统开销造成性能更差。 下面是一些常见的索引限制问...2010-03-24 13:11:34 · 91 阅读 · 0 评论 -
Oracle创建索引 小贴士
索引( Index )是常见的数据库对象,它的设置好坏、使用是否得当,极大地影响数据库应用程序和Database 的性能。虽然有许多资料讲索引的用法, DBA 和 Develo per 们也经常与它打交道,但笔者发现,还是有不少的人对它存在误解,因此针对使用中的常见问题,讲三个问题。此文所有示例所用的数据库是Oracle 8.1.7 OPS on HP N se ries ,示例全...2010-03-24 13:13:56 · 105 阅读 · 0 评论 -
Oracle 分区(partition)表
分区表的好处:一:提高数据的可用性,分区表逻辑上是一个表,实际各分区的数据是独立存放的,一个分区可以离线的 同时,其他分区可以正常操作.二:减轻管理负担,对一个20g的对象多备份,移动,收缩等操作,显然要比在20个1g的对象上执行同 样的操作要更有挑战性,分区采用分而治之的方法,而且分区实际上独立存放,从而可以用这些小对 象上的...2010-03-31 10:57:06 · 195 阅读 · 0 评论 -
分区表用哪个级别的统计信息
这几天有几个分区表上的SQL执行计划不正常, 感觉上不应当, 已经设置了几个容易引起优化器选错执行计划的参数了. ALTER SYSTEM SET OPTIMIZER_DYNAMIC_SAMPLING=0;ALTER SYSTEM SET "_optim_peek_user_binds"=false; 按照现行的表分析原则, 只统计了表的全局索引, 不统计表分区...2010-03-31 10:58:51 · 107 阅读 · 0 评论 -
分析性能数据
Oracle中有很多的性能数据可以分析, 有些数据反应的不仅仅是数据库的, 而且可以反应出应用的或架构上的信息, 作为DBA应当主动分析, 并提供给相关的人员, 以协助技术决策. 比如, 系统中会有很多种不同类型的应用服务器, 但数据库往往是少数几个, 在进行多机房应用及数据布局时, 就需要知道各个应用服务器和数据库的交互量, 同一个库上各个不同的应用发起的SQL的百分比. ...2010-03-31 11:01:46 · 270 阅读 · 0 评论 -
linux db2安装及卸载
在虚拟机上的redhat linux enterpise v5 上安装 db2 express_c 9.5 1、将db2 linux版本安装包通过ftp 上传到linux服务器上 2、解压 tar -zxvf db2文件包 3、cd expc 进入到解压后的目录中 4、执行命令《这个是安装向导,最好使用这个,而不用db2_install》 ./db2setup 5、打开...2009-12-17 12:38:32 · 226 阅读 · 0 评论 -
oracle数据库字符集编码问题
1,查询数据库服务器字符集,其来源于props$,是表示数据库的字符集select * from nls_database_parameters; 2,客户端字符集环境select * from nls_instance_parameter,其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表3,会话字符集环境 select ...2009-12-17 15:19:40 · 146 阅读 · 0 评论 -
基于LINUX的Oracle 10G RAC管理维护学习手记
本节分2部分,该部分介绍CRS管理维护,下部分介绍RAC下的RDBMS管理维护三 RAC管理维护同Single instance相比,RAC的管理维护要复杂一些。10g给我们提供了一个强大的EM管理工具,将很多管理维护工作简单和界面化。我们也应当习惯使用EM来高效的完成更多的工作。本文以下部分,将暂不讨论EM方面的管理,着重于命令行方式。1.CRS管理维护(1).CRS相关...原创 2009-12-06 12:49:27 · 114 阅读 · 0 评论 -
Oracle10g RAC 关闭及启动步骤
情况1: 保养数据库及操作系统,服务器,需要关闭DB(所有实例),OS及Server 。a. 首先停止Oracle10g 环境$ lsnrctl stop (每个节点上停止监听,也可以用srvctl来操作)$ emctl stop dbconsole (每个节点停止dbconsole)$ srvctl stop database -d tpc (停止数据库所有实例)...原创 2009-12-06 12:38:47 · 129 阅读 · 0 评论 -
RAC异常小结
前几天在VMWare上安装了RAC,安装过程中以及今天在启动时都出了几个错误,简要记录下:1.配置 Oracle 集群文件系统 (OCFS2)出错: # ocfs2consoleConfigure Nodes --> Add --> 输入NODE名和IP --> OK --> Apply出现如下错误: o2cb_ctl: Unable to access cl...原创 2009-12-06 11:37:07 · 136 阅读 · 0 评论 -
记一次高可用迁移方案的规划— Oracle 9i 32 bit升级至Oracle 10g 64 bit
由于系统整体规划需求,需将现有9iR2数据库统一升级到10gR2版本,由于涉及到机房内多套业务系统,因此作为明年的迁移项目,需要做前期迁移方案规划和测试。 情况大致如此 迁移前迁移后OS 版本Linux AS4( 32bit)Linux AS4( 64bit)...原创 2009-12-02 12:42:39 · 119 阅读 · 0 评论 -
Logical Standby日常维护与性能优化(二)—性能诊断与优化
本篇主要讲述10gR2 logical stanby的性能优化方法.一些日常维护和故障处理要点,请参考Logical Standby日常维护与性能优化(一)—日常维护与故障排除 Logical Standby较physical standby容易出现性能上的问题。对于一个DML繁重,尤其是大事务比较多的库,SQL APPLY往往会出现性能上的瓶颈。因此导致备库‘...原创 2009-12-02 12:44:01 · 131 阅读 · 0 评论 -
Logical Standby日常维护与性能优化(一)—日常维护与故障排除
本篇主要讲述logical stanby日常管理维护中的检查和故障排除要点,不涉及性能问题。性能问题和相关调整将在下篇中单独阐述。Logical Standby日常维护与性能优化(二)—性能诊断与优化 10gR2大大简化了logical stanby的创建步骤,从physical到logical的转换步骤异常简单,不再对搭建过程过多描述。 因为Lo...原创 2009-12-02 12:45:08 · 209 阅读 · 0 评论 -
表空间搬移后引起的Dataguard不同步
关键词: 谨慎,周全的考虑. 昨晚系统调整,将一套CRM数据库的几个用户迁移到另外一台性能较强的服务器数据库上去。源库: oracle 9208目标库: oracle 9206字符集相同. 操作系统都是linux 这样的环境太好了,几乎一下子就想到了传输表空间,不用忍受exp/imp大量数据带来的痛苦的煎熬与等待。由于之前使用传输表...原创 2009-12-02 12:47:33 · 126 阅读 · 0 评论 -
Oracle性能优化下的时间模型
oracle在10g版本明确引入timemodel,直观的作为一种量度指标反映给用户。时间作为一种性能上的量度和反映,一直贯穿在oracle的各个版本中,可以说时间模型并不是10g特有的东西。只不过,这种模型和概念在10g之前并没有明确和加以细化,而且,在oracle各个版本的升级和演化中,也在不断进行调整。 时间作为我们性能优化的一个重要参考,虽然有时候并不能给诊断带来...原创 2009-12-02 12:48:18 · 108 阅读 · 0 评论 -
ASM下的存储更换迁移方案
ASM是10g版本后oracle大力推荐的一种数据文件存储方式,也是以后的一个重点方向.尽管现在asm在稳定性和一些操作上还存在不少问题,但已经有越来越多的企业把核心系统部署架构到上面. 本文重点不在于探讨ASM的优劣问题,爱青菜与爱白菜的人总有自己的理由支持自己的喜好. 朋友有套系统需要更换存储,数据库文件部署在asm上,需要尽量短的停机时间完成此次存储更换。由于不涉及异构...原创 2009-12-02 12:48:54 · 850 阅读 · 0 评论 -
How to format corrupted block without object
前几日检查一个生产环境库备份的时候发现了某个数据文件产生了逻辑坏块,检查该Corrupt block,上面并没有任何对象存在. 对于这种情形的坏块,我们可以采用扩展extent的形式来格式化这些逻辑坏块,并配合一些细节上的处理技巧. 以下是模拟案例.案例描述:(1)备份数据文件6,发现有坏块存在.RMAN> backup datafile 6...原创 2009-12-02 12:49:31 · 84 阅读 · 0 评论 -
一个最小化不完全恢复案例的处理及思索
这里讨论的并不单单是恢复上的技巧问题,还有如何对你的DB管理规划的问题。案例情形: 某个生产环境的业务表(不大,100M左右)被误删除了一个字段,现在要尽快找回这些被删除的业务数据(数据库容量为700多G,有一个实时恢复的物理备库,主要的表空间为该所在表空间BIS和另外一个表空间,各自300多G,单个数据文件统一8G一个). 情况很乐观:有误操作之前RM...原创 2009-12-02 12:50:02 · 115 阅读 · 0 评论 -
oracle rac集群 crs常用命令
常用的crs命令如下:$ORA_CRS_HOME/bin/crs_stat –t 此命令主要用来检查crs资源状态例如[oracle@rac2 css]$ $ORA_CRS_HOME/bin/crs_stat -tName Type Target State Host ----------------------------------------------------------...2009-12-06 11:13:56 · 139 阅读 · 0 评论 -
oracle管理控制文件
查看数据库信息select * from v$database;查看日志文件select * from v$logfile;查看那日志组:select * from v$log;查看备份信息及修改备份状态select * from v$backup;alter tablespace users begin backup;alter tablespace u...2009-12-18 09:24:59 · 113 阅读 · 0 评论 -
oracle as负载均衡配置
中间件负载均衡配置事情都经历了十多天,到今天才将它彻底解决,解决过程中请教了系统集成部的同事及oracle公司的技术人员,最后还是oracle中间件技术人给出了具体的解决办法.具体问题描述如下:在oracle as中一般访问web服务都是通过 http://<hostname>:<port>进行访问,如主机名称 webapp1 ip10.154.143.20...2009-12-18 09:26:29 · 134 阅读 · 0 评论 -
ORACLE物化视图创建实例
公司的项目中遇到需要从其它系统的数据库中取数据进行统计分析的问题,初步选择使用ORACLE的ODI工具进行抽数,但是对方提供的数据库用户下没有任何对象,只是有查询所有表的权限,因此无法做数据反向。于是决定使用物化视图,把对方数据库中的数据拿过来,虽然数据量比较大,但是每月只拿一次,而且如果设置成增量更新,也不会太慢。现在记录下物化视图的创建过程(以一张表为例)。一、准备条件以及...原创 2010-07-25 10:49:19 · 124 阅读 · 0 评论 -
log4j日志存储到数据库
昨天公司说要在系统中添加日志查询统计功能,刚开始第一个念头就是用IO流读取日志文件,然后持久化,最后在系统中查询。结果看了一些LOG4J的说明文档后发现,原来LOG4J本身就有将日志信息存入数据库功能,这样就大大节省了开发的时间,半天搞定。现在把方法记录下来,希望对有需要的朋友有所帮助。一、前提条件 系统必须是使用LOG4J进行日志管理,否则方法无效。 ...原创 2010-07-25 10:49:49 · 114 阅读 · 0 评论 -
如何使用SQL查询IP地址所属IP段
最近有个朋友说他要做的人员注册量的统计,有两张表,一张是用户注册表,一张是IP段对应城市表。需要根据用户注册时的IP查询到对应的城市,从而知道该城市有多少人注册。其实没什么,关键是IP地址和IP段的匹配问题。一开始,我使用的是BETWEEN,结果显然是不行的。最后我想到用函数直接将192.168.0.1形式的IP按256进制转为数字,然后进行between(或者"<"AND"&g...原创 2010-07-25 10:50:23 · 743 阅读 · 0 评论 -
将一个表的查询结果作为另一查询的字段(动态查询列)
接着上面IP地址字段查询问题,那就是统计结果的展示格式。朋友要的格式是: 城市1 城市2 城市3 城市42010-06 0 1 0 0 2010-08 0 1 0 2 2010-07 0 0 1 ...原创 2010-07-25 10:50:58 · 2902 阅读 · 0 评论 -
DB2序列和主键自增长
1、把主键定义为自动增长标识符类型在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:create table customers(id int auto_increment primary key not null, name varchar(15));insert into customers(name) values("name1"...原创 2010-08-03 21:43:10 · 244 阅读 · 0 评论 -
oracle function中如何处理长度超过varchar2存储长度的字符串
比如有如下函数,拼接字符串:CREATE OR REPLACE Function translate_order_right_user_fun (activity_instance_id_ in varchar2 default '') RETURN varchar2 ISreturn_value varchar2(4000):='';str_length number...2010-08-05 12:48:02 · 839 阅读 · 0 评论 -
MySQL提示的23个注意事项
使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项: 1.如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就需要使用SSH隧道来加密该连接的通信。 2.用set password语句来修改用户的密码,三个步骤,先“mysql -u root”登陆数据库系统,然后“mysql> update mysql.user set passw...原创 2010-08-05 13:18:46 · 111 阅读 · 0 评论 -
skip-grant-tables:非常有用的mysql启动参数
介绍一个非常有用的mysql启动参数—— --skip-grant-tables。顾名思义,就是在启动mysql时不启动grant-tables,授权表。有什么用呢?当然是忘记管理员密码后有用。 操作方法: 1、杀掉原来进行着的mysql: rcmysqld stop 或者: service mysql...原创 2010-05-25 11:35:00 · 285 阅读 · 0 评论 -
DB2 语句太长或者太复杂 SQLSTATE=54001
今天做cognos的数据库连接,报了如下的错误:引用RQP-DEF-0177 执行操作“sqlOpen”(状态为“-9”)时出错。UDA-SQL-0107 “AOpen”操作期间发生常规例外。[IBM][CLI Driver][DB2/AIX64] SQL0443N 例程 "SYSIBM.SQLCOLUMNS"(特定名称 "COLUMNS")返回了带诊断文本 "SYSI...原创 2010-08-18 16:47:42 · 1077 阅读 · 0 评论 -
使用存储过程将数据以XML格式导出到XML文件
最近看到有网上有很多人问怎么把数据导出到XML文件,大多的解决方法就是dbms_xmlgen+utl_file,首先要说的是,这种方法确实不错,但是有些缺点。如果系统中需要把数据导出XML文件,通常数据量都比较大,因此,对于大数据量的导出,UTL_FILE就显得比较苍白了。而且DBMS_XMLGEN获得数据本身就是有格式的,因此UTL_FILE的INSTR就显得有些多余了。但是,我还要...原创 2010-07-25 10:48:44 · 196 阅读 · 0 评论 -
DB2 sqlstate代码消息以及其含义
本节列示 SQLSTATE 及其含义。SQLSTATE 是按类代码进行分组的;对于子代码,请参阅相应的表。表 2. SQLSTATE 类代码 类 代码 含义 要获得子代码, 参阅... 00 完全成功完成 表 3 01 警告 表 4 02 无数据 表 5 07 动态 SQL 错误 表 6 08 连接异常 表 7 09 触发操作异常 表 8 ...2010-04-22 16:32:12 · 282 阅读 · 0 评论 -
DB2中常用备份,恢复命令和db2move,db2look的使用
DB2离线和在线全备、增量备份及恢复的操作步骤 1、离线全备份 1)、首先确保没有用户使用DB2: $db2 list applications for db sample 2)、停掉数据库并重新启动,以便断掉所有连接: db2stop force db2start 3)、执行备份命令:(使用TSM作为备份的介质) db2 backup db sample ...2010-04-22 15:21:20 · 317 阅读 · 0 评论 -
ORACLE_RMAN备份恢复
1、创建rman数据库(1)为目录创建一个单独的表空间先创建一个back数据库创建表空间create tablespace back datafile 'filename' size 500m;(2)创建rman用户create user rman identified by rman default tablespace back temporary tablespace...原创 2009-12-28 15:27:46 · 103 阅读 · 0 评论 -
oracel 10g data guard 使用dgmgrl
在使用dgmgrl配置oracle dg的故障自动切换主从数据库时遇到如下问题:DGMGRL> remove configuration;Removed configurationDGMGRL> create configuration 'dgconfig' as primary database is 'dg1' connect identifier is 'dg1';...原创 2010-01-03 14:28:07 · 126 阅读 · 0 评论 -
oracle rman备份脚本收集
备份到磁盘:(如果是磁带,将DISK改成'SBT_TAPE')0级备份脚本:RUN {ALLOCATE CHANNEL ch00 TYPE DISK;ALLOCATE CHANNEL ch01 TYPE DISK;BACKUP INCREMENTAL LEVEL=0 SKIP INACCESSIBLE TAG hot_db_bk_level0 ...原创 2010-01-06 12:22:17 · 152 阅读 · 0 评论 -
同一oracle数据库之间不同用户之间复制数据
先有pl/sql dev 导出用户对象到目标用户再执行如下sql生成命令语句 1,将源表的读权限授予目标用户 select 'grant select on wikioffice.' || table_name || ' to fairoffice;' from user_tables;生成的sql语句在dba用户下执行 2,生成目标用户的数据insert语句(从源...2009-07-19 16:27:32 · 801 阅读 · 0 评论