
oracle advanced knowledge
数据库人生
专注于数据库
PostgreSQL;Oracle 11G OCA、OCP;OceanBase V2 OBCA、OBCP
展开
-
oracle 19c inmemory 的初步实践
oracle 数据库的 inmemory 组件(列式存储)可以认为是一大利器,可以一定程度上解决大表碰到的性能问题。os: centos 7.6db: oracle 19.3版本# cat /etc/centos-releaseCentOS Linux release 7.6.1810 (Core)## # su - oracle$$$ sqlplus / as sysdba;SQL*Plus: Release 19.0.0.0.0 - Production on Wed Sep原创 2021-09-01 17:19:06 · 1262 阅读 · 0 评论 -
ORA-00600 13013
Thu Jun 10 10:01:42 2021Errors in file /opt/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_20149.trc (incident=48253):ORA-00600: �ڲ��������, ����: [13013], [5001], [89140], [16781043], [60], [16852602], [17], [], [], [], [], []Use ADRCI or Support Workbenc原创 2021-06-15 22:46:10 · 132 阅读 · 0 评论 -
oracle rac 节点时间相差太大导致 CRS-4535: Cannot communicate with Cluster Ready Services
rac 一个节点重启后检查集群状态时报错CRS-4535: Cannot communicate with Cluster Ready Services# /u01/app/grid/product/19.0.0/grid_1/bin/crsctl check crsCRS-4638: Oracle High Availability Services is onlineCRS-4535: Cannot communicate with Cluster Ready ServicesCRS-452原创 2021-02-16 11:19:22 · 2328 阅读 · 0 评论 -
oracle 非阻塞性创建索引
正常的 create index 是会阻塞 dml 操作的,在生产环境需要添加 online 参数。create index idx_index_name on table_name(column_name) online;参考:原创 2020-09-10 09:08:58 · 286 阅读 · 0 评论 -
oracle 数据库使用 DBMS_SHARED_POOL.PURGE 清除 shared pool 中指定 sql 语句
SELECT SQL_ID,ADDRESS,HASH_VALUE FROM V$SQLAREA WHERE ROWNUM<=1 ;SQL_ID ADDRESS HASH_VALUE1fkh93md0802n 0000000101EDBA68 3657695316BEGIN SYS.DBMS_SHARED_POOL.PURGE( '0000000101EDBA68,3657695316'原创 2020-09-02 16:04:01 · 909 阅读 · 0 评论 -
row cache lock 的处理思路
通常在高并发环境出现,最常见的是 sequence 的 cache 过小导致的。select * from v$session where event= 'row cache lock';select * from v$rowcache where cache# = &p1;原创 2020-09-02 12:01:01 · 649 阅读 · 0 评论 -
oracle 数据库rman异机恢复时遇到错误 ORA-26040: Data block was loaded using the NOLOGGING option
做 rman 异机恢复后遇到如下ORA错误ORA-01578: ORACLE data block corrupted (file # 53, block # 3208565)ORA-01110: data file 53: '/ebsfs/EBSPROD/db/apps_st/data/a_txn_data17.dbf'ORA-26040: Data block was loaded using the NOLOGGING option解决办法是在源库上开启 force loggingSQL原创 2020-09-02 06:56:56 · 670 阅读 · 0 评论 -
oracle xtts 解决跨平台迁移之一 Recovery Manager (RMAN)
os: centos 7.4.1708db: oracle 11.2.0.4xtts 是 tts 的加强版,主要用在表空间迁移上,限制是源端和目标端的数据库版本必须一致.V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245.1)已经明确指出 DBMS_FILE_TRANSFER 已经不再支持。The Cross Platform Incremental原创 2020-07-29 17:01:21 · 1346 阅读 · 1 评论 -
oracle 数据库辅助日志、补充日志(supplemental log)
os: centos 7.4db: oracle 19.3SQL> alter database add supplemental log data;alter database add supplemental log data (all,primary key,unique index,foreign key) columns ;alter database add supplemental log data for procedural replication;SQL> sel原创 2020-07-21 17:55:32 · 1091 阅读 · 0 评论 -
latch: cache buffers chains 阻塞 buffer busy waits
os: centos 7.4db: oracle 11.2.0.4版本# cat /etc/centos-releaseCentOS Linux release 7.4.1708 (Core) # # su - oracleLast login: Tue Jan 21 03:40:05 CST 2020 on pts/0$ sqlplus / as sysdba;SQL*Plu...原创 2020-03-23 12:23:16 · 348 阅读 · 0 评论 -
cursor: pin S => cursor: pin S wait on X => library cache: mutex X 的优化过程
os: centos 7.4db: oracle 11.2.0.4版本# cat /etc/centos-releaseCentOS Linux release 7.4.1708 (Core) # # su - oracleLast login: Tue Jan 21 03:40:05 CST 2020 on pts/0$ sqlplus / as sysdba;SQL*Plu...原创 2020-03-03 13:37:41 · 401 阅读 · 0 评论 -
oracle 排查 owi 等待事件
查看 snapshotselect * from dba_hist_snapshot where 1=1order by snap_id desc ;查看对应快照的事件select instance_number, wait_class_id, wait_class, event_id, event, ...原创 2020-01-07 19:31:53 · 356 阅读 · 0 评论 -
oracle index 碎片化整理
频繁 DML 表上的索引一般都会有碎片,会导致索引的体积大,效率低。需要定期整理准备数据-- drop table tmp_t0 purge;create table tmp_t0(c0 number,c1 varchar2(100));insert into tmp_t0select level, level from dual connect by l...原创 2020-01-02 18:59:44 · 645 阅读 · 0 评论 -
DB time、DB CPU
V$SYS_TIME_MODELV$SESS_TIME_MODELDB TimeAmount of elapsed time (in microseconds) spent performing Database user-level calls. This does not include the elapsed time spent on instance background proc...原创 2020-01-02 15:20:24 · 1127 阅读 · 0 评论 -
enq: TX - row lock contention
enq: TX - row lock contention 多为应用数据 DML 时的等待。简单理解就是行级事务锁等待。经常性的碰到某个业务操作慢,排查到最后发现是有个 TX 长时间不释放导致的。解决方法:对 v$session 监控,是否存在长时间的 block。参考:...原创 2019-12-30 17:08:15 · 263 阅读 · 0 评论 -
enq: US - contention
enq: US - contention 说明事务在队列中等待 UNDO Segment,通常是由于UNDO空间不足导致的。UNDO自动优化功能能够最大限度的使用undo表空间,满足大部分的sql执行,但是也带来一个问题:很多事务执行完毕之后,发现UNDO表空间会在很长时间都一直保持着使用率是接近100%的状态,active 状态的很少。这种接近状态还无法手工的收缩,甚至于重启数据库实例也无法缓...原创 2019-12-30 16:56:14 · 1597 阅读 · 0 评论 -
enq: TX - index contention
enq: TX - index contention 常出现在高并发场景下,与表相关的索引会发生很高的 TX 队列的争用。这通常在所有实例并发应用大量的 INSERT 或 DELETE 操作。因为当插入新行到 index块里索引块可能需要做 splits 动作。索引 split 会导致 enq:TX-index contention 事件,经常性伴有 enq: TX - allocate I...原创 2019-12-30 16:24:30 · 2237 阅读 · 0 评论 -
cursor: pin S wait on X , cursor: mutex S
os: centos 7.6db: oracle 19.3做数据压测时,查看 emcc 及 awr 报告时,分析一下 Top 10 Foreground Events by Total Wait Time.发现 cursor: pin S wait on X 还是很突出的.cursor: pin S wait on XA session waits for this event when...原创 2019-08-09 10:53:03 · 835 阅读 · 0 评论 -
enq: TX - allocate ITL entry
enq: TX - allocate ITL entry 多产生于高并发事务的场景,出现这个事件可以调整 initrans、pctfree。ITL、PCTFREE 对表默认是 1、10ITL、PCTFREE 对索引默认是 2、10initrans = 30pctfree = 30重建索引,重新生成表。参考:...原创 2019-12-30 16:07:49 · 1546 阅读 · 0 评论 -
duplicate 数据库 from active database [oracle 11.2.0.3 + asm] => [oracle 11.2.0.3 + asm]
参考自己博客的这个安装 http://blog.youkuaiyun.com/ctypyb2002/article/details/51251217 安装好另一台机器的rhel6.4,gi software,rdbms software。创建一个 +ASM 实例 用过asmca 创建了一个可用的磁盘组。vi /etc/hosts 10.1.1.35 asmnode10.1.1.36 a原创 2016-05-09 21:12:00 · 3171 阅读 · 0 评论 -
linux hugepage + oracle 11.2.0.4
OS: Oracle Linux Server release 6.8DB: oracle 11.2.0.4linux hugepage 与 AMM 不兼容,所以要退化到 ASMMSGA,PGA设置为最保守参数alter system set sga_max_size=28G scope=spfile;alter system set sga_target=28G scope=sp...原创 2017-03-21 18:54:22 · 868 阅读 · 0 评论 -
oracle database 12cr2 的 sys_context 函数
sys_context虽然用的地方不多,但是十分强大,属于oracle的系统函数。归属于STANDARD 包SQL> select * from v$version ;BANNER CON_ID---------------------------------------------------...原创 2018-04-12 10:49:50 · 485 阅读 · 0 评论 -
awr 使用之一 常用操作
os: centos 7.4db: oracle 12.1.0.2awr 的全名是 Automatic Workload Repository (AWR),是 oracle 分析数据库的重要工具(可以简单理解为 statspack 的升级版),主要负责收集、处理、维护性能统计信息,用于检查和分析性能问题.The infrastructure that provides services to...原创 2019-01-28 09:32:04 · 3556 阅读 · 0 评论 -
awr 使用之二 生成 awr 报告
os: centos 7.4db: oracle 12.1.0.2awr 报告非常棒,可以分析选定的快照段数据库的性能瓶颈.每个 dba 都应该熟练分析 awr 报告.awr*.sql 文件# su - oracle$ ls -l $ORACLE_HOME/rdbms/admin |grep -i awrrpt-rw-r--r-- 1 oracle oinstall 8531 O...原创 2019-01-28 10:13:16 · 986 阅读 · 0 评论 -
dataguard broker 下执行 switchover 是出现 ORA-00600
os: centos 7.4db: oracle 12.1.0.2dataguard broker 下做 switchover 时,出现了令人讨厌的 ORA-00600DGMGRL&amp;gt; switchover to orclp;Performing switchover NOW, please wait...Operation requires a connection to inst...原创 2019-01-29 15:10:05 · 508 阅读 · 0 评论 -
oracle 12.2.0.1 登录实例时报错 ORA-1092 : opitsk aborting process
os: centos 7.4db: oracle 12.1.0.2$ sqlplus / as sysdba;SQL*Plus: Release 12.1.0.2.0 Production on Tue Jan 29 14:30:10 2019Copyright (c) 1982, 2014, Oracle. All rights reserved.Connected.SQL&...原创 2019-01-29 16:23:18 · 3041 阅读 · 1 评论 -
oracle 使用 trigger 方式自动打开 pdb
os: centos 7.4db: oracle 12coracle 12c 关闭数据库,再打开始时,pdb模式是 mount 状态.这时需要使用命令打开,如下:SQL> alter pluggable database orclpdb open; 或者一次打开所有的pdb数据库SQL> alter pluggable database all open; 最好设置...原创 2019-03-18 14:52:53 · 771 阅读 · 0 评论 -
supplemental log 之一
os: centos 7.4db: oracle 12.1.0.2By default, Oracle Database does not provide any supplemental logging, which means that by default LogMiner is not usable. Therefore, you must enable at least minima...原创 2019-04-22 15:39:26 · 332 阅读 · 0 评论 -
ORA-27301: OS failure message: No buffer space available
os: centos 7.4db: oracle 12.2.0.1规划如下:testcluster1-scan.peiyongbin.com192.168.56.141192.168.56.142192.168.56.143 node1 node2 vip 192.168.56.131 ...原创 2019-04-28 09:57:45 · 3122 阅读 · 0 评论 -
supplemental log 之二
os: centos 7.6db: oracle 19.3今天在看 oracle supplemental log 时发现多了两个选项$ sqlplus / as sysdba;SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 11 14:47:28 2019Version 19.3.0.0.0Copyright (c) 19...原创 2019-06-11 15:13:49 · 488 阅读 · 0 评论 -
ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT
os: centos 7.6db: oracle 19.3oracle rac 环境,其中一台实例报错如下.alert 日志报错$ tail -f /u01/app/oracle/diag/rdbms/orcls1/orcls12/trace/alert_orcls12.log2019-06-25T08:24:42.755760+08:00Errors in file /u01/ap...原创 2019-06-25 16:21:52 · 19318 阅读 · 0 评论 -
ora-14402: updating partition key column would cause a partition change
os: centos 7.6db: oracle 19.3参考<<oracle 分区之 interval range 分区>>,创建的按天分区表 tmp_part_day,更新主键时有错误提示:alter session set nls_language='AMERICAN';--alter session set nls_language='SIMPLIFIED ...原创 2019-07-15 09:47:14 · 1311 阅读 · 0 评论 -
oracle 如何加快回滚速度
os: centos 7.6db: oracle 19.3oracle在较大事务出现异常后,执行回滚通常很慢,容易让大家失去耐心.其实可以从如下几个方面入手undo datafile 放在 ssd 上现在自己pc都要买个 nvme 的ssd,更何况生产环境的集中式存储.目前全闪存存储也比较便宜,完全在可接受的范围.fast_start_parallel_rollback调整并行...原创 2019-08-15 15:34:12 · 1279 阅读 · 0 评论 -
oracle 19c 重要特性之一 实时统计信息(Real-Time Statistics)
os: centos 7.6db: oracle 19.3oracle 19c 重要特性之一就是实时统计信息,对于日常运行的数据库有非常积极的支撑作用.但是在做压测时,反而成了干扰.现在需要禁用下这个特性.Disabling real-time statistics gatheringReal-time StatisticsThis Oracle Database 19c new f...原创 2019-08-12 17:25:47 · 4088 阅读 · 0 评论 -
duplicate 数据库 from backupset [oracle 11.2.0.3 + asm] => [oracle 11.2.0.3 + fs ]
参考 rhel64_11gr2_asm.txt 安装好另一台机器的rhel6.4,gi software,rdbms software。vi /etc/hosts 10.1.1.35 asmnode10.1.1.36 asmnodedup在asmnode 节点 查看initdbasm.ora 文件,确保target database 处于归档模式,否则duplicate 会原创 2016-05-11 22:43:02 · 540 阅读 · 0 评论