代码改变世界

随笔分类 - Oracle 小知识

咦?Oracle归档文件存哪了?

2019-05-25 18:01 by AlfredZhao, 372 阅读, 收藏, 编辑
摘要:实验环境: RHEL 5.4 + Oracle 11.2.0.3 现象: 日志切换后没找到归档日志目录。 "1.查看归档日志路径" "2.日志切换后并未找到归档目录" "3.创建归档目录后再次观察" "引申知识" 1.查看归档日志路径 开启归档模式后,如果不设置归档目录,可以看到默认的归档路径为$O 阅读全文

测试客户端连接12c ASM实例

2019-03-13 23:18 by AlfredZhao, 141 阅读, 收藏, 编辑
摘要:环境: Oracle 12.2.0.1 RAC 背景: 用户反映12c ASM创建的用户具备sysasm权限,但无法在客户端连接到ASM实例,且没有报错。 "1.ASM实例创建用户赋予sysasm权限" "2.客户端tnsnames.ora配置" "3.客户端测试连接" 1.ASM实例创建用户赋予s 阅读全文

关于PL/SQL Developer与Oracle客户端

2019-02-15 22:20 by AlfredZhao, 236 阅读, 收藏, 编辑
摘要:这是一个很简单的知识点,但这些年遇到过太多初学者反而受其困扰,所以还是决定记录一下。 背景: 国内使用Oracle的群体,几乎都会使用PL/SQL Developer这个图形化的工具进行日常数据维护。这个软件需要依赖Oracle客户端,且必须是32位的客户端。有些在windows环境下使用64位Or 阅读全文

关于Oracle的44951事件

2019-01-31 07:39 by AlfredZhao, 356 阅读, 收藏, 编辑
摘要:最近有同事遇到某客户数据库产生大量阻塞,等待事件为:enq HW contention,最开始采用不断杀会话的方式,效果不好,问题一直高频反复。进一步确认SQL是大量的insert,且插入的表中含有LOB字段,根据经验最终采用设置44951 event缓解了该问题。 具体关于Oracle的44951 阅读全文

记录下diagwait的问题

2019-01-30 21:10 by AlfredZhao, 97 阅读, 收藏, 编辑
摘要:对于Oracle集群,有关diagwait的解释可以很容易在网上搜到: 该问题只会出现在ORACLE 11.2 以前版本中,在 11G R2版本中,diagwait的值默认配置为13。 而针对11.2以前的版本,需要手工将diagwait修改为13,以推迟重启的时间便于将缓存中的日志信息有足够的时间 阅读全文

Oracle如何重启mmon/mmnl进程(AWR自动采集)

2018-12-14 16:06 by AlfredZhao, 1157 阅读, 收藏, 编辑
摘要:环境: Oracle 11.2.0.4 RAC 现象: sysaux空间满导致无法正常生成快照,清理空间后,手工生成快照可以成功,但是观察自动生成快照依然是不成功。 之前了解到awr对应的相关后台进程是mmon,那么如何重启这个mmon进程呢? 起初我误以为是这种非核心进程是kill掉会自动启动,实 阅读全文

关于Stuck Archiver的疑问

2018-12-01 00:17 by AlfredZhao, 189 阅读, 收藏, 编辑
摘要:客户使用crsctl stat res t命令去查看RAC集群状态时,发现异常,知晓Stuck Archiver代表归档满,问我们为什么RAC是同一个库,只有实例1显示Stuck Archiver,而实例2却没事? 其实这时如果等实例2再切一下归档,或是手工切一下归档,实例2就立马会报错: 但遇到这 阅读全文

ORA-01919: role 'PLUSTRACE' does not exist

2018-11-16 01:02 by AlfredZhao, 223 阅读, 收藏, 编辑
摘要:环境: Oracle 10g,11g. 现象: 在一次迁移测试中,发现有这样的角色赋权会报错不存在: 查询发现这个角色是需要手工执行脚本创建,直接执行Oracle自带的SQL脚本@?/sqlplus/admin/plustrce.sql即可: 可以看到这个角色就是封装了对v_$sesstat,v_$ 阅读全文

执行perl xttdriver.pl报错Can't locate Getopt/Long.pm in @INC

2018-11-15 23:12 by AlfredZhao, 652 阅读, 收藏, 编辑
摘要:环境: AIX 6.1 + Oracle 10.2.0.4 现象: 在做xtts测试时,源环境使用Oracle自带的perl执行xttdriver.pl报错如下: 而在目标环境Linux6.8 + Oracle 11.2.0.4 就正常,起初我没多想这个问题,以为是10g的自带perl版本过低不支持 阅读全文

实验long raw 和 blob两种数据类型遇到dblink的表现

2018-11-08 18:50 by AlfredZhao, 368 阅读, 收藏, 编辑
摘要:首先long raw从Oracle 10g开始就不再被建议使用,建议用blob代替。同理,long建议用clob代替。 本文从运维角度实验long raw 和 blob两种数据类型在遇到dblink时的一些差异。 "1.构造实验环境" "2.通过dblink查询" "3.通过dblink建表" "4 阅读全文

设置sqlplus不显示除查询结果外的信息

2018-07-18 09:00 by AlfredZhao, 1115 阅读, 收藏, 编辑
摘要:背景: 客户提出一个需求,写SQL脚本的时候,内容是拼接的,如何将这个拼接SQL执行的结果取出来调用执行呢? 我想到的方案是先把结果取出来,存为一个中间文件,再调用该文件即可。 知识点: 如何将sqlplus结果中的无关信息都去掉? 可以使用sqlplus s进入调用拼接SQL脚本,脚本中配合使用s 阅读全文

实验验证sys和system用户全库导出的区别

2018-06-03 12:00 by AlfredZhao, 927 阅读, 收藏, 编辑
摘要:我们在做逻辑数据泵全库导出的时候,有两种流行的写法,一种是sys用户导出,一种是使用system用户导出。 现在想知道二者之间有什么区别?实验验证之前不妨先思考一下: sys和system用户的权限区别; 你之前习惯使用的是哪种?当时选择的原因是? 1.准备测试环境: Oracle 10.2.0.5 阅读全文

记录一则rebuild index消除索引碎片的效果

2018-05-24 11:04 by AlfredZhao, 158 阅读, 收藏, 编辑
摘要:背景: 在一次某客户的停产维护中,有一项例行对大表rebuild索引的操作,本是按部就班的操作,其效果却出乎我的意料,大部分索引的效果前后都有4倍左右的变化,最大的那个索引前后居然差了7倍多,并且重建索引也没有用到压缩选项,这个与我之前的预期差距很大,化名记录下这个结果。 1. 重建索引 使用reb 阅读全文

技巧:如何提升Oracle用户密码的安全性

2018-04-17 15:50 by AlfredZhao, 585 阅读, 收藏, 编辑
摘要:环境: Oracle 11.2.0.4 客户需求: 主要背景是数据库中有很多业务用户名,且由于部分用户缺乏安全意识,甚至直接将自己的密码设置为和用户名一样,目前客户期望密码设置不要过于简单,最起码别和用户名一致或相似就好。 "1.官方解决方案" "2.删减版解决方案" "3.测试验证方案" "4.用 阅读全文

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

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

如何统计一段时间内但不包含周六日的所有日期

2018-01-10 09:06 by AlfredZhao, 260 阅读, 收藏, 编辑
摘要:环境:Oracle 11g 客户咨询问题:统计一段时间内,但是把周六日排除,怎么写SQL? 我对SQL不擅长,特意请教SQL专家勇哥给出建议。在此一并感谢勇哥的解答,本文主要是详细记录下这个问题备忘。 答案: select dt, to_char(dt, 'day', 'nls_date_langu 阅读全文

Oracle的窗口和自动任务

2017-11-30 18:39 by AlfredZhao, 1306 阅读, 收藏, 编辑
摘要:Oracle数据库自己会例行做一些定时任务,比如会自动进行统计信息收集等作业任务。如果统计信息收集的时间正好赶上业务的高峰期,那就有可能由此引发一系列性能故障。 那么,我们该如何查看这些数据库自动去做的任务执行计划和执行情况呢? "1.计划窗口调整" "2.自动任务调整" "3.任务执行情况" 1. 阅读全文

老生常谈:关于undo表空间的使用率

2017-10-31 11:16 by AlfredZhao, 3905 阅读, 收藏, 编辑
摘要:就在前几天,又有一个客户向我咨询undo表空间使用率的问题。 这让我想起几年前曾经有个省份的案例,客户的实际运维人员是一位刚毕业不久的女孩,几乎不懂Oracle原理,项目经理交给她的任务也是基础运维工作,比如其中一项就是监测数据库各个表空间的使用率,并对使用率超过95%的表空间进行扩展,他们的Ora 阅读全文

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

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

实验:体会Oracle权限/角色赋予的差异

2017-09-20 22:56 by AlfredZhao, 658 阅读, 收藏, 编辑
摘要:环境: Oracle 11.2.0.4 目的: 验证业务用户的权限/角色赋予的差异 现在创建两个用户jingyu2和jingyu3; 模拟jingyu2用户下有一张表T_jingyu2;jingyu3用户下有一张表T_jingyu3; 分别在两个用户的session下查询被赋予的角色/权限: JIN 阅读全文

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

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

LogMiner的使用

2017-06-28 00:24 by AlfredZhao, 713 阅读, 收藏, 编辑
摘要:LogMiner是用于Oracle日志挖掘的利器。 百科解释: LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 重做日志文件(归档日志文件)中的具体内容,LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图组成,它 阅读全文

11.2.0.4 RAC测试环境修改时区

2017-06-19 12:48 by AlfredZhao, 825 阅读, 收藏, 编辑
摘要:当前问题: 系统时区修改后,集群数据库各个日志发现显示的还是之前时区的时间。 依据 "Linux (RHEL)修改时区" 更改了系统的时区后,集群数据库的各个日志还是显示之前的时区时间。 查找MOS资料 How To Change Timezone for Grid Infrastructure ( 阅读全文

实验:Oracle数据泵导出导入之序列问题

2017-06-08 21:40 by AlfredZhao, 2595 阅读, 收藏, 编辑
摘要:今天同事提出了一个问题: 使用数据泵expdp导出1个schema,有个表主键是触发器自增的id,导入测试库测试时,发现表里的数据比自增序列的值要大。导致插入数据报错。 最终结论是: 由于数据库先进行序列导出,然后再进行表数据导出。然后在导出的过程中,该表一直有插入操作,最终导致了这种差异。 解决方 阅读全文

读书笔记系列01-《收获、不止Oracle》

2017-05-23 15:54 by AlfredZhao, 856 阅读, 收藏, 编辑
摘要:读书笔记系列01 《收获、不止Oracle》 最近计划将看过的Oracle书籍依次系统的总结下读书笔记。 这本书是我个人觉得写的最有趣的Oracle书籍,也是我接触Oracle后第一本完全精读的Oracle中文书籍。全书主要讲述了Oracle的基本原理(物理体系结构、逻辑体系结构)、表设计、索引原理 阅读全文

关闭Oracle 11g的DPR特性

2017-04-18 11:29 by AlfredZhao, 359 阅读, 收藏, 编辑
摘要:关闭Oracle 11g的DPR(Direct Path Read)特性 查看event参数值: 设置10949 event,屏蔽DPR特性: 由于指定的scope=spfile,需要重启库生效: 阅读全文

使用sys用户创建其他用户下的dblink

2017-04-11 09:53 by AlfredZhao, 2149 阅读, 收藏, 编辑
摘要:因为dblink的创建和删除只能是它的所属用户来操作,所以我们无法直接使用sys用户创建其他用户下的dblink,当遇到有这样的需求时,可以先建立该用户下存储过程,再通过调用这个存储过程来间接实现。 举例来说: 1.使用sys用户创建JY2用户下的dblink “TO_11G_JY1”,连接远端“W 阅读全文

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

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

Oracle的FIXED_DATE参数

2017-03-31 10:36 by AlfredZhao, 200 阅读, 收藏, 编辑
摘要:今天发现一个有意思的问题, 我们知道,在Oracle数据库中正常执行 select sysdate from dual 都可以返回当前主机的系统时间。 正常修改系统时间,对应的查询结果也会变成修改后的系统时间。 现在遇到一个问题:测试系统修改了主机系统时间,数据库查询 select sysdate 阅读全文

在NAS设备上用NFS服务为RAC数据库和集群件存储oracle文件时的mount选项

2017-03-25 23:47 by AlfredZhao, 1424 阅读, 收藏, 编辑
摘要:今天在家折腾自己的小实验室,把自己NAS上的一个目录用NFS挂载到一套11g RAC的实验环境中。 当我在备份数据库到NAS上时,发现一个奇怪的问题,同样的目录下,默认backup 备份集的情况,备份是成功的,但如果使用backup as copy备份则会报错,现象如下: 看backup as co 阅读全文

Oracle业务用户密码过期问题的解决

2017-03-16 16:46 by AlfredZhao, 323 阅读, 收藏, 编辑
摘要:实验环境: Oracle 11.2.0.4 如果DBA不知道业务用户密码,当业务密码过期,应用要求DBA帮忙重设为原来的密码。 1.查询业务用户密码 从user$查到hash加密过的值: 2.重置业务用户密码 通过语法“alter user xxx identified by values '';” 阅读全文

Oracle获取数据库中的对象创建语句

2017-03-16 13:39 by AlfredZhao, 377 阅读, 收藏, 编辑
摘要:使用dbms_metadata.get_ddl()函数可以做到。 实验环境: Oracle 11.2.0.4 以获取jingyu用户下的T1表为例: 结果显示不全,设置一下long再查询: 看着不舒服,再设置一下pagesize: 同样可以查询索引等对象的创建语句: 分区表和分区索引,同样可以获取到 阅读全文

RAC禁用DRM特性

2017-03-15 00:07 by AlfredZhao, 1380 阅读, 收藏, 编辑
摘要:查看“_gc”开头的隐藏参数值: 11g RAC关闭DRM特性 10g RAC关闭DRM特性 参考老熊的文章,http://www.laoxiong.net/problem caused by drm.html 10g RAC可以设置另外2个动态的隐含参数,来达到从”事实上“关闭DRM的目的: 阅读全文

Oracle BEQ方式连接配置

2017-01-24 18:08 by AlfredZhao, 1259 阅读, 收藏, 编辑
摘要:Oracle BEQ方式连接配置 服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接可以理解为进程间直接通信,不需要走网络监听,性能更高。 可以参考MOS:How To Connect Using the Bequeath Protocol (BEQ) in 8I (文档 ID 18131 阅读全文

OEL上使用yum install oracle-validated 简化主机配置工作

2016-12-30 08:22 by AlfredZhao, 738 阅读, 收藏, 编辑
摘要:环境:OEL 5.7 + Oracle 10.2.0.5 RAC 如果你正在用OEL(Oracle Enterprise Linux)系统部署Oracle,那么可以使用yum安装oracle validated包来简化主机配置的部分工作。 配置好yum本地源后,直接执行一条命令 检查发现它会自动做以 阅读全文

ls: 无法访问/usr/sbin/smartctl: 没有那个文件或目录

2016-12-29 13:33 by AlfredZhao, 2015 阅读, 收藏, 编辑
摘要:环境:RHEL6.5 + Oracle 11.2.0.4 RAC 在安装RAC时,检查时缺少包 cvuqdisk 1.0.9 1,oracle提供脚本修复安装。 但在执行时报错: google搜索发现是因为系统缺少smartmontools这个包。 使用yum 安装 再次尝试安装成功 最后只需要在其 阅读全文

scp报错 -bash: scp: command not found

2016-12-29 11:31 by AlfredZhao, 442 阅读, 收藏, 编辑
摘要:环境:RHEL6.5 使用scp命令报错: 查看openssh相关包: 发现服务器默认没有安装openssh的客户端。 yum 安装openssh客户端 yum配置本地源可参考:http://www.cnblogs.com/jyzhao/p/3938290.html 验证scp命令可用 再次执行: 阅读全文

$ORACLE_HOME变量值末尾多“/”惹的祸

2016-12-25 22:57 by AlfredZhao, 290 阅读, 收藏, 编辑
摘要:之前一直误以为$ORACLE_HOME变量的路径中末尾多写一个"/"不会有影响。 今天做实验时碰到一个情景,发现并不是这样。 环境:OEL 5.7 + Oracle 10.2.0.5 该环境做一个oracle的rman备份实验,发现脚本并未执行成功,直接报错数据库不可用,而实际上数据库服务本身是正常 阅读全文

oracle的特殊权限s bit丢失

2016-11-18 13:54 by AlfredZhao, 362 阅读, 收藏, 编辑
摘要:在SUN Cluster搭建过程中,主机工程师在配置集群资源组时报一个oracle的文件权限错误; 协助排查,发现报错很明确,直接指出说oracle的s bit 权限未设置。 直接去查看$ORACLE_HOME/bin/oracle的权限 发现现状是: 而正常安装软件后的权限应该是: 很明显,的确少 阅读全文

RAC 某节点不可用时,对应VIP是否可用

2016-11-07 22:53 by AlfredZhao, 1651 阅读, 收藏, 编辑
摘要:实验环境:RHEL 6.5 + GI 11.2.0.4 + Oracle 11.2.0.4 验证:RAC 某节点不可用时,其对应VIP是否可用?是否可用于连接数据库? "1.节点宕机,对应节点VIP漂移到另一个节点" "2.节点宕机后,另一个节点的网络信息" "3.可ping通宕机节点VIP,但无对 阅读全文

Oracle 11g安装GI后,运行roothas.pl脚本报错libcap.so.1找不到

2014-07-19 22:31 by AlfredZhao, 3464 阅读, 收藏, 编辑
摘要:环境:RHEL6.4 + Oracle 11.2.0.3问题:需求是文件系统迁移到ASM,在安装GI后,运行roothas.pl脚本报错 1.运行root.sh后,按提示运行roothas.pl报错 2.Google搜索得知是缺少compat-libcap1,安装这个包 3.重新运行roothas. 阅读全文