代码改变世界

随笔分类 - Oracle 管理维护

我的小小实验室之实现最简单的跳转

2019-12-26 00:58 by AlfredZhao, 192 阅读, 收藏, 编辑
摘要:需求: 由于工作需要,我自己的工作站上搭建有很多套实验环境,而在某种特定场景下,我需要通过默认连接的终端能随时跳转切换到其他环境下临时测试使用,因为只有我自己用,无需引入复杂的跳转机系统,也不需要审计。 环境: 均为Linux服务器 实现: 我想通过最简单的一些运维知识,搭建一套最简易的跳转程序,提 阅读全文

警示:AL32UTF8字符集不是ZHS16GBK字符集的超集

2018-03-26 22:17 by AlfredZhao, 5941 阅读, 收藏, 编辑
摘要:今天有客户向我咨询:数据库由ZHS16GBK字符集修改为AL32UTF8字符集,发现中文的数据中小部分出现乱码,客户认为AL32UTF8明明可以支持更多的文字,不应该出现这样的情况才对。 从现象看,基本可以确认故障是字符集转换导致的,Oracle也强烈不建议做这种字符集转换的操作,幸好该客户的操作只 阅读全文

EXP导出aud$报错EXP-00008,ORA-00904 解决

2018-01-17 18:17 by AlfredZhao, 1435 阅读, 收藏, 编辑
摘要:主题: EXP导出aud$报错EXP 00008,ORA 00904 解决 环境: Oracle 11.2.0.4 问题: 在自己的测试环境,导出sys用户下的aud$表报错。 "1.故障现场" "2.跟踪处理" "3.匹配MOS文章" "4.使用MOS解决方案" 1.故障现场 导出sys用户下的表 阅读全文

RAC环境下误操作将数据文件添加到本地存储

2017-12-05 14:31 by AlfredZhao, 471 阅读, 收藏, 编辑
摘要:今天碰到个有意思的事情,有客户在Oracle RAC环境,误操作将新增的数据文件直接创建到了其中一个节点的本地存储上。 发现网上去搜的话这种问题还真不少,对应解决方案也各式各样,客户问我选择哪种方案可行,看来基础的数据维护工作还是有必要进一步规范的。 数据库是归档模式,那么我们实际可以利用rman的 阅读全文

OSW 快速安装部署

2017-10-27 15:42 by AlfredZhao, 1468 阅读, 收藏, 编辑
摘要:关于在运行Oracle的环境下部署OSW具体好处不再多说,只需要知晓,在日常Oracle定位各类故障,osw的数据可以协助诊断问题。MOS很多文档也多处提到需要osw的监控数据。 一、前期资料准备 1.1 OSW介质下载: 在MOS下载OSW,文档 OSWatcher(包括:[视频]) (文档 ID 阅读全文

Oracle参数设置之set与reset的实际案例

2017-10-25 19:42 by AlfredZhao, 529 阅读, 收藏, 编辑
摘要:Oracle参数设置之set与reset的实际案例 环境: Oracle 10.2.0.5 RAC 需求: 节点1的aq_tm_processes要求恢复默认,节点2设置要求保持不变 "1.构建测试环境" "2.测试方案" "3.总结" 背景介绍: 从10.2官档可以查到aq_tm_processe 阅读全文

案例:AWR手工创建快照失败,SYSAUX表空间剩余不足处理

2017-10-24 13:24 by AlfredZhao, 862 阅读, 收藏, 编辑
摘要:案例: AWR手工创建快照失败,SYSAUX表空间剩余不足处理 版本: Oracle 11.2.0.4 RAC 问题现象: AWR手工创建快照失败,SYSAUX表空间剩余不足。 1. 查看SYSAUX表空间的段大小 查看SYSAUX表空间的段大小,按大小排序: 最大的结果列表: 发现最大的对象是WR 阅读全文

手工删除crfclust.bdb文件

2017-09-07 23:28 by AlfredZhao, 1850 阅读, 收藏, 编辑
摘要:环境: RHEL 6.5 + Oracle 11.2.0.4 RAC 现象: 巡检发现自己的测试环境节点2的空间使用率过高,进一步查询,发现大文件是GI目录下crfclust.bdb文件。 crfclust.bdb文件大小达到6G+,如下: 网上搜索crfclust.bdb这个文件,发现这类现象遇到 阅读全文

catalog start with + switch database to copy的妙用

2017-08-31 17:28 by AlfredZhao, 899 阅读, 收藏, 编辑
摘要:catalog start with + switch database to copy的妙用 环境: RHEL6.4 + Oracle 11.2.0.4 Primary RAC + Standby RAC 现象: 从主库恢复控制文件之后,由于是OMF管理的方式,导致ASM上存储的数据文件名字和控制 阅读全文

案例:Oracle报错ASM磁盘组不存在或没有mount

2017-08-09 23:29 by AlfredZhao, 1211 阅读, 收藏, 编辑
摘要:案例:Oracle报错ASM磁盘组不存在或没有mount 环境:RHEL 6.5 + Oracle Standby RAC 11.2.0.4 我做Standby RAC实验时,在恢复控制文件时,报错无法在磁盘组创建文件,具体报错内容如下: 马上去查磁盘组是否正常mount,结果是正常的: 去看数据库 阅读全文

ASM磁盘组剔盘、加盘实施过程

2017-04-13 17:47 by AlfredZhao, 3067 阅读, 收藏, 编辑
摘要:Task:从一个ASM磁盘组中剔除一块盘,加入到另一个ASM磁盘组。 环境:AIX6.1 + Oracle RAC 11.2.0.3 前期准备: 1.查看DG磁盘组空间情况: 2.查看ASM磁盘信息: 实施步骤: "1.从RECOVERYDG磁盘组中剔除一块磁盘" "2.等待同步完成" "3.将磁盘 阅读全文

案例:使用scan IP无法连接数据库

2017-04-10 14:45 by AlfredZhao, 1861 阅读, 收藏, 编辑
摘要:环境:Oracle RAC(11.2.0.3) 现象:通过scanIP连接数据库报错ORA 12514: 1.查看scan listener状态,发现服务没有注册成功: 2.Oracle用户查看 remote_listener 参数配置: 发现remote_listener参数为空,这显然是不正常的 阅读全文

如何定位Oracle数据库被锁阻塞会话的根源

2016-12-28 18:57 by AlfredZhao, 4573 阅读, 收藏, 编辑
摘要:首先再次明确下,数据库因为要同时保证数据的并发性和一致性,所以操作有锁等待是正常的。 只有那些长时间没有提交或回滚的事物,阻塞了其他业务正常操作,才是需要去定位处理的。 "1.单实例环境" "2.RAC环境" 1. 单实例环境 实验环境:Oracle 10.2.0.5 单实例 会话1模拟业务操作: 阅读全文

Oracle 故障处理总结

2016-05-04 18:48 by AlfredZhao, 1071 阅读, 收藏, 编辑
摘要:Oracle 故障处理总结(更新中..) "各类数据库问题描述模板" "记录一则ORA 00054,ORA 00031解决过程" "记录一则ORACLE MOVE操作后重建索引过程被强制中断导致的ORA 8104案例" "实验记录:Oracle redo logfile的resize过程" "Ora 阅读全文

巡检脚本OS+Oracle

2016-04-12 06:48 by AlfredZhao, 1052 阅读, 收藏, 编辑
摘要:巡检脚本 主机巡检脚本: "OSWatcher.sh" Oracle巡检脚本: "ORAWatcher.sh" 脚本使用方法 1、建立脚本放置目录 2、把脚本ORAWatcher.sh及OSWatcher.sh上传到以上目录 比如我这里使用sftp, 把我本机 目录下的巡检脚本上传到数据库服务器的 阅读全文

主机巡检脚本:OSWatcher.sh

2016-04-11 14:01 by AlfredZhao, 791 阅读, 收藏, 编辑
摘要:主机巡检脚本:OSWatcher.sh 2016-09-26更新,目前该脚本只支持Linux操作系统,后续有需求可以继续完善。 注意: 经测试,普通用户执行脚本可以顺利执行前9项检查; 第10项,普通用户检查/var/log/messages很可能没有读权限,如有需要巡检此系统日志,建议切换root 阅读全文

Oracle巡检脚本:ORAWatcher.sh

2016-04-11 14:00 by AlfredZhao, 1331 阅读, 收藏, 编辑
摘要:Oracle巡检脚本:ORAWatcher.sh 阅读全文

总结Oracle删除表空间遇到的问题

2016-04-11 10:57 by AlfredZhao, 4785 阅读, 收藏, 编辑
摘要:"问题1:删除表空间期间遭遇报错 ORA 29857" "问题2:删除表空间期间遭遇 ORA 02429" "问题3:表空间删除完毕,主机磁盘空间不释放" 问题1:删除表空间期间遭遇报错 ORA 29857 删除表空间语句: 根据MOS文档: How To Resolve ORA 29857 Dur 阅读全文

主机、数据库日志收集

2016-04-08 15:43 by AlfredZhao, 843 阅读, 收藏, 编辑
摘要:Current Version: V1.0.0 Latest Version: "主机、数据库日志收集" Create Time: 2016 04 08 Update Time: 2016 04 08 15:24 一、 "主机系统日志收集:" "Linux" "AIX" "HP UX" "Solar 阅读全文

记录一则数据库连接故障ORA-12560,ORA-12518

2016-02-18 13:18 by AlfredZhao, 3035 阅读, 收藏, 编辑
摘要:环境:Win Server 2008 R2 + Oracle 11.2.0.1 故障:客户反映数据库连接不上,本机sysdba和网络连接都连接不上。 一、 "确认故障" "1.1 服务器尝试sysdba登录" "1.2 服务器尝试通过网络连接" 二、 "排查原因" "2.1 ORA 12560错误初 阅读全文

记录一则ORA-12154,ORA-12560解决过程

2016-01-27 12:42 by AlfredZhao, 2365 阅读, 收藏, 编辑
摘要:应用服务器:Windows Server 2008 R2 Enterprise故障现象:项目侧同事反映应用服务器上的程序连接数据库报错:ORA 12560: TNS: 协议适配器错误 "1.故障重现" "2.定位问题" "3.解决问题" <h1 id="1" 1.故障重现</h1 在应用服务器上... 阅读全文

Oracle如何导出sys用户下的系统表

2015-10-30 17:49 by AlfredZhao, 2727 阅读, 收藏, 编辑
摘要:环境:Solaris 10 + Oracle 10.2.0.4 "1.导出实例" "2.参考内容" "Reference" <h1 id="1" 1.导出实例 </h1 导出sys用户下的 和`WRI$_OPTSTAT_HISTHEAD_HISTORY`两张表:由于expdp尝试导出失败,改用传... 阅读全文

回显字符集显示乱码的问题

2015-09-25 10:30 by AlfredZhao, 1155 阅读, 收藏, 编辑
摘要:有时我们使用SecureCRT软件连接到我们的Oracle目标主机,会发现有些回显信息显示为乱码,非常不方便操作。本文将介绍最常见的两种乱码情况解决方法。一、 "系统字符集显示乱码" "1.1 echo $LANG 查看系统字符集" "1.2 根据系统字符集,CRT设置对应的字符集编码" 二、... 阅读全文

Oracle监控用户索引使用情况,删除无用索引

2015-09-09 11:35 by AlfredZhao, 3361 阅读, 收藏, 编辑
摘要:1. "监控当前业务用户索引" 2. "一段时间后查询从未被使用的索引,删除无用索引" 3. "停止监控索引" <h1 id="1" 1. 监控当前用户所有索引</h1 得到监控所有索引的语句: <h1 id="2" 2. 一段时间后查询从未被使用的索引,删除无用索引</h1 注意: 视具体业务情... 阅读全文

aud$定位错误用户密码登陆数据库的具体信息

2015-09-07 12:00 by AlfredZhao, 1187 阅读, 收藏, 编辑
摘要:环境:Oracle 11.2.0.31. "客户端使用错误的用户密码登陆数据库" 2. "查询最近1天由于密码错误登陆失败的信息" 3. "查询当前审计中有哪些returncode值" <h1 id="1" 1. 客户端使用错误的用户密码登陆数据库 </h1 <h1 id="2" 2. 查询最近1... 阅读全文

Oracle启动报错ORA-27102解决

2015-08-04 11:04 by AlfredZhao, 6028 阅读, 收藏, 编辑
摘要:环境:RHEL5.5 + Oracle 10.2.0.4此错误一般是因为数据库的初始化参数文件的内存设置不当导致。本例是因为操作系统参数设置问题导致。1. [当前现象:Oracle启动报错ORA-27102](#1)2. [检查各参数的配置情况](#2)3. [定位解决问题](#3)4. [延伸总结... 阅读全文

Oracle客户端简易连接报错ORA-12154,TNS-03505

2015-07-21 12:05 by AlfredZhao, 2625 阅读, 收藏, 编辑
摘要:环境: 服务端:RHEL6.5 + Oracle Server 11.2.0.4客户端:Win2003 + Oracle Client 10.2.0.1 1. "问题现象" 2. "Troubleshooting" 3. "解决问题" <h1 id="1" 1. 问题现象 </h1 服务端安装... 阅读全文

Oracle库Delete删除千万以上普通堆表数据的方法

2015-07-16 11:11 by AlfredZhao, 7817 阅读, 收藏, 编辑
摘要:需求:Oracle数据库delete删除普通堆表千万条历史记录。直接删除的影响:1.可能由于undo表空间不足从而导致最终删除失败的问题;2.可能导致undo表空间过度使用,影响到其他用户正常操作。改进方案:每删除1k行就提交一次。(这样就把一个大事物拆分成了若干个小事物)注意:下面方法以删除201... 阅读全文

Oracle基础维护02-表、主键、索引、表结构维护手册

2015-07-07 11:38 by AlfredZhao, 1743 阅读, 收藏, 编辑
摘要:目录 一、 "项目新建表、主键、索引注意事项" 二、 "举例说明建表、主建、索引的操作方法" 2.1 "设定需求如下" "2.1.1 查询数据库有哪些表空间" "2.1.2 本文档假设数据库有这两个业务用户的表空间" 2.2 "普通表操作方法" "2.2.1 新建普通表示例" "2.2.2 普通表建 阅读全文

各类数据库问题描述模板

2015-06-18 23:09 by AlfredZhao, 1414 阅读, 收藏, 编辑
摘要:为了更精准更有效的解决实际项目中遇到的问题,以后所有问题请按照对应问题分类的模板格式来提交问题。问题提交人如果不能以邮件形式提供以下模板要求的信息,问题将被永久忽略掉,不给予处理。一、 "故障类问题需要提供的信息模板" 二、 "需求类问题需要提供的信息模板" 三、 "优化类问题需要提供的信息模板" ... 阅读全文

Oracle同义词+dblink的实际应用

2015-06-18 14:39 by AlfredZhao, 561 阅读, 收藏, 编辑
摘要:Oracle同义词+dblink的实际应用业务需求:原数据库(10.2.0.4.0),新数据库(11.2.0.3)由于程序的需求原因,现在需要把新库上的某个用户直接映射到老库用户下:# 1. 备份原库的用户 #```nohup exp scott/scott OWNER=scott BUFFER=1... 阅读全文

SYSTEM表空间AUD$使用空间过大问题处理

2015-05-20 11:50 by AlfredZhao, 1621 阅读, 收藏, 编辑
摘要:问题现象:SYSTEM表空间使用率超99%,前期设计时SYSTEM表空间是10G固定大小不允许自动扩展。 1.查询SYSTEM表空间的使用率 2.查询SYSTEM表空间中各个段占用空间情况 3.截断占用空间最大的AUD$表(需要和DBA确认后操作) 4.查询AUD$表的表... 阅读全文

ORA-00257 archiver error 处理思路

2015-04-23 22:16 by AlfredZhao, 484 阅读, 收藏, 编辑
摘要:"1.首先查下oerr给出的简要说明" "2.查询V$RECOVERY_AREA_USAGE信息" "3.根据实际空间剩余情况先适当增加归档目录的大小,保证先恢复业务" "4.查看备份是否存在问题" <h1 id="1" 1.首先查下oerr给出的简要说明 </h1 <h1 id="2"... 阅读全文

Oracle软件安装目录满的清理方法

2015-04-21 20:39 by AlfredZhao, 2464 阅读, 收藏, 编辑
摘要:这是Oracle数据库日常运维中很常见的一个场景,安装目录满有时不光会导致无法记录最新数据库的日志信息,导致遇到问题无法查到最新的日志信息,还会引发一些奇怪的问题。所以日常巡检要保证Oracle的安装目录要有一定的空闲空间。如果已经巡检发现安装目录满了,可以按照这样的思路来解决。# 1.切到安装目录... 阅读全文

Oracle普通表->分区表转换(9亿数据量)

2015-04-02 22:40 by AlfredZhao, 6843 阅读, 收藏, 编辑
摘要:背景介绍:环境:Linux 5.5+ Oracle 10.2.0.4某普通表T,由于前期设计不当没有分区,如今几年来的数据量已达9亿+,空间占用大约350G,在线重定义为分区表不现实,故采取申请时间窗口停此表应用,改造为分区表。若T表数据量适当,可选用在线重定义操作时,可参考:http://www.... 阅读全文

Oracle启动报错ORA-03113解决

2015-02-28 15:39 by AlfredZhao, 7832 阅读, 收藏, 编辑
摘要:环境:RHEL6.4 + Oracle 11.2.0.4步骤摘要:1.启动报错ORA-031132.查看alert日志查找原因3.根据实际情况采取合理的措施,这里我们先增加闪回区大小,把库启动起来4.制定对应的归档日志删除策略1.启动报错ORA-03113$ sqlplus / as sysdbaS... 阅读全文

ORA-01439: 要更改数据类型, 则要修改的列必须为空

2014-10-14 19:27 by AlfredZhao, 1212 阅读, 收藏, 编辑
摘要:此方法有3处update操作,建议根据实际情况的数据量测试评估效率后选用。思路:定义要更新数据类型的列为[col_old],数据类型为[datatype_old],临时列为[col_temp],数据类型也为[datatype_old]。根据[col_old],给表添加[col_temp],将[col... 阅读全文

使用PL/SQL工具比对表结构,同步表结构

2014-09-23 20:51 by AlfredZhao, 761 阅读, 收藏, 编辑
摘要:需求:Oracle数据库,B库和C库,某些表的表结构不一致,现在要求以C库为标准,同步更新B库表结构PL/SQL 连接到C库, Tools --> Compare User Objects .. --> 选择需要比对的表 --> Target Session (连接到B库) --> Compare ... 阅读全文

Oracle在线重定义DBMS_REDEFINITION 普通表—>分区表

2014-07-29 22:15 by AlfredZhao, 2002 阅读, 收藏, 编辑
摘要:实验环境:RHEL 6.4 + Oracle 11.2.0.3实验:在线重定义 普通表 为 分区表,包括主键对应的索引都改造为分区索引.1,构造普通表t_objectsconn test1/test1;create table t_objects as select * from dba_objec... 阅读全文

Oracle并行添加主键的方法

2014-07-04 21:56 by AlfredZhao, 2294 阅读, 收藏, 编辑
摘要:环境:Oracle 11.2.0.3需求:生产一张表由于前期设计不当,没有主键。现需要添加主键,数据量很大,想并行建立。1.直接添加,提示ora-3001:未实施的功能;只能单线程建立主键SQL> alter table t add constraint pk_t primary key (obje... 阅读全文

Oracle基础维护01-常用管理命令总结

2014-06-18 22:59 by AlfredZhao, 2594 阅读, 收藏, 编辑
摘要:概览: 1.Oracle 内存管理 2.Oracle 数据库启动关闭 3.Oracle 参数文件 4.Oracle 控制文件 5.Oracle redo日志文件 6.Oracle undo表空间管理 7.Oracle 普通表空间和数据文件 8.Oracle 临时表空间 9.Oracle 锁管理 10 阅读全文

实验记录:Oracle redo logfile的resize过程

2014-06-10 23:48 by AlfredZhao, 1005 阅读, 收藏, 编辑
摘要:实验记录:Oracle redo logfile的resize过程。实验环境:RHEL 6.4 + Oracle 11.2.0.3 单实例 文件系统实验目的:本实验是修改redo logfile的过程记录,将当前数据库的3组redo logfile由原来的默认50M大小修改为100M。1.查看当前r... 阅读全文

记录一则ORACLE MOVE操作后重建索引过程被强制中断导致的ORA-8104案例

2014-06-04 22:54 by AlfredZhao, 550 阅读, 收藏, 编辑
摘要:环境:SunOS + Oracle 11.2.0.3对部分表进行Move操作之后,未重建对应的索引,会导致ORA-1502 索引不可用。此时需要用下面的查询拼接出重建不可用索引的sql语句:select 'alter index '||index_name||' rebuild tablespace... 阅读全文

记录一则ORA-00054,ORA-00031解决过程

2014-05-27 21:45 by AlfredZhao, 1247 阅读, 收藏, 编辑
摘要:生产环境:AIX 5.3 + Oracle 10.2.0.5任务要求:普通表改造分区表,历史数据不要这个需求很简单:pl/sql导出建表语句,依次修改成分区的建表语句,注意将索引修改成本地索引;drop 原表;create 新分区表.1.重建过程中遇到问题:删除某表时报错ORA-00054,导致无法... 阅读全文