![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
文章平均质量分 73
生命只剩百分之一
这个作者很懒,什么都没留下…
展开
-
介质恢复(2)
介质恢复v$datafile_header.checkpoing_change#和v$datafile.checkpoint_change#来对比判断是否需要介质恢复!<v$datafile_header.checkpoint_change#小于v$datafile.checkpoint_change#那么需要进行介质恢复>场景:比如某个数据文件丢失,当我们restore这个数据文件后,数据文件头部记录的checkpoint_chang#信息必然小于控制文件中记录的v$datafil原创 2020-08-15 18:40:10 · 709 阅读 · 0 评论 -
实例恢复(1)
实例恢复 通过v$datafile.last_time和v$datafile.last_change#判断是否需要实例恢复,当数据库正常关闭时,会在last_change#和last_time记录最后的change#与time,实例恢复是根据CKPT-Q的顺序进行恢复的,CKPT-Q的顺序是和REDO的顺序一致的。在数据库服务器异常断电重启后,数据库会进行实例恢复,那么实例恢复的过程中Oracle做了什么操作呢?首先说下实例恢复的定义:Instance recoveryis the...原创 2020-08-15 18:36:04 · 288 阅读 · 0 评论 -
Oracle大页内存和内核参数优化配置
1、大内存页设置在Linux系统上使用ORACLE数据库,强烈建议使用大内存页,否则对大SGA和高连接数系统来说,系统的性能和稳定性将会受到严重影响。下面是大内存页设置的具体步骤:(1). 确认操作系统支持大内存页有的操作系统内核不支持大内存页,通过下面的命令可以确认系统是否支持大内存页。# grep -i huge /proc/meminfo#grep -i huge /proc/meminfoAnonHugePages: 0 kBHugePages_Total:...原创 2020-07-21 22:10:10 · 2546 阅读 · 0 评论 -
丢失本地心跳导致主机重启
20200714--xx电信计费计算节点丢失本地心跳重启客户:电信操作系统:redhat 6.9数据库版本:oracle 12.2.0.1问题描述:xxx计算节点1 丢失本地心跳导致计算节点1重启,2020-07-14分重启。盘查人员:汤健1、计算节点1集群altert日志显示如下cssd守护进程无响应,reboot即将发生。cssdmonitor和assdaget进程监控到cssd无响应,丢失了本地心跳,导致计算节点1重启。这只是一个结果,不是原因,需要分析是什么导致了ocs.原创 2020-07-26 23:25:49 · 380 阅读 · 0 评论 -
ORA-29770 案例分析。
1.ORA-29770 was occured because of the LGWR is hung for a long time,so LMHB process terminating the instance.<alert_xxx1.log>2020-05-07T02:00:40.087133+08:00Errors in file /opt/oracle/diag/rdbms/edw/edw1/trace/edw1_lmhb_56258.trc (incident=10...原创 2020-07-26 23:19:35 · 2876 阅读 · 0 评论 -
11gR2 新特性: Rebootless Restart
众所周知,当集群出现问题时,例如某个节点丢失网络心跳,或者不能够访问表决盘,或者节点出现了严重的性能问题等,CRS会选择将某个节点的OS 重启,以便保证集群的一致性。当然,大部分的重启都是由CRS的核心进程ocssd.bin发起的。 但是,如果CRS 只是节点上的应用之一或者私网和存储的问题只是短时间的出现,那么重启节点的行为就会导致节点上所有的应用全部停止,这在很多系统上并不是我们希望看到 的。所以从版本11.2.0.2 开始,oracle新特性rebootless restart被介绍。当出现以下情况原创 2020-07-22 21:39:38 · 419 阅读 · 0 评论 -
Oracle DBA 面试题整理(更新中)
1、解释一条update语句的执行流程?2、简述实例恢复的过程?以及实例恢复的起点和终点。3、RAC中lms和lmd进程的作用是什么?4、当数据库中出现了逻辑坏块需要怎么修复?5、业务反馈数据库很慢,请简述盘查的过程?6、异构平台下迁移数据,请简述迁移流程?7、Oracle中的大页占用内存的多少?pga和sga是怎么分配的?8、RAC中的vip和scan-ip的作用?9、网络心跳正常的情况下,磁盘心跳出了问题会发生什么?10、Oracle中内核参数调优有哪几个?11、搭建环境的时候ora原创 2020-07-21 21:58:18 · 3719 阅读 · 0 评论 -
This document gives a brief information about “D“ state of a Linux process.
To check if a system has processes that are on "D" State or D-state, the output of thepscommand can be checked. It can be something similar to:ps aux | awk '$8 ~ /^D/{print}'This will display processes that are currently on 'D' state.Linux foll...原创 2020-07-18 09:49:23 · 193 阅读 · 0 评论 -
LMHB的工作机制
LMHB的工作机制 LMHB进程在11gR2版本开始才出现的,改进程被称之为Global Cache /Enqueue Service HeartHbeat Monitor。它被用来检测GCS和GES相关后台进程的心跳信息。该进程会定期检查LMON、LMS、LMD和LCK0的状态,如果发现某一个进程在一段时间之内没有相应LMHB的心跳(也就是hang住了),那么LMHB进程就会尝试找到阻塞该进程的阻塞进程。如果阻塞进程不是数据库必要的后台进程,LMHB进程就会通过终止阻塞进程的方式来解决内存融合核...原创 2020-07-12 11:36:52 · 1221 阅读 · 0 评论 -
dba_hist_sess_history
1.dbw是否繁忙select trunc(sample_time, 'mi'),count(*),instance_numberfrom dba_hist_active_sess_historywhere sample_time >=to_date('20200710-0950','yyyymmdd-hh24mi')and sample_time <=to_date('20200710-0955','yyyymmdd-hh24mi')and program like '%D...原创 2020-07-11 15:37:55 · 422 阅读 · 0 评论 -
记录一次无法删除job
1、由于数据库/opt目录满了。导出,导入进程异常终止,先用了drop方式杀了相关的drop。但是无法执行。报错如下:2、使用一下语句查看job相关的信息col owner_name for a20;col owr for a8;col job_name for a20;col operation for a10;col job_mode for a10;col state for a10;col attached_session for a5;select owner_na...原创 2020-06-19 10:09:27 · 273 阅读 · 0 评论 -
查看执行计划的6种方法以及各个方法的优缺点
--环境构造--研究Nested Loops Join访问次数前准备工作DROP TABLE t1 CASCADE CONSTRAINTS PURGE;DROP TABLE t2 CASCADE CONSTRAINTS PURGE;CREATE TABLE t1 ( id NUMBER NOT NULL, n NUMBER, contents VARCHAR2(4000) ) ;CREATE TABLE t2 ( id NUMBER NOT N...原创 2020-06-15 15:08:59 · 1259 阅读 · 0 评论 -
执行计划基础(动态采样与统计信息收集)
统计信息select window_name,window_next_time, autotask_status,optimizer_stats from DBA_AUTOTASK_WINDOW_CLIENTS;select client_name,status from dba_autotask_clientwhere client_name='auto optimizer stats collection';CLIENT_NAME...原创 2020-06-11 16:18:31 · 292 阅读 · 0 评论 -
Merge Sort Join优化要点
两表的连接条件要建立索引两表的限制条件建立索引可以消除排序(不能完全消除排序)避免取多余列致排序消耗temp空间过大原创 2020-06-11 14:58:19 · 415 阅读 · 0 评论 -
Hash join优化要点
要点1:两表的限制条件建立索引要点2:小结果集作为驱动表要点3:确保PGA完成hash值运算尺寸原创 2020-06-11 14:36:41 · 1508 阅读 · 0 评论 -
Nested Loop Join 优化要点
要点1:驱动表的连接条件考虑建立索引--Nested Loops Join访问次数前环境准备DROP TABLE t1 CASCADE CONSTRAINTS PURGE;DROP TABLE t2 CASCADE CONSTRAINTS PURGE;CREATE TABLE t1 ( id NUMBER NOT NULL, n NUMBER, contents VARCHAR2(4000) ) ;CREATE TABLE t2 ( id NU...原创 2020-06-10 23:44:19 · 1732 阅读 · 0 评论 -
三大经典表连接探索(nested loop、hash、merge sort)
1、表的访问次数探索表的访问次数之NL连接研究CREATE TABLE t1 ( id NUMBER NOT NULL, n NUMBER, contents VARCHAR2(4000) ) ;CREATE TABLE t2 ( id NUMBER NOT NULL, t1_id NUMBER NOT NULL, n NUMBER, contents VARCHAR2(4000) ) ;execute...原创 2020-06-09 14:58:55 · 275 阅读 · 0 评论 -
索引常用脚本(三)
1、当前用户下,哪些表的索引个数过多select table_name ,count(*) from user_indexes group by table_name having count(*)>5 order by count(*) desc;2、哪些表的外键未建立索引select table_name, constraint_name, cname1 || nvl2(cname2, ',' || cname2, null) || nvl...原创 2020-06-08 18:38:32 · 242 阅读 · 0 评论 -
索引(三):索引的扫描方式
1、INDEX RANGE SCANdrop table t purge;create table t as select * from dba_objects;update t set object_id=rownum;commit;create index idx_object_id on t(object_id);set autotrace traceonlyset linesize 1000exec dbms_stats.gather_table_stats(ownname =&.原创 2020-06-08 18:37:56 · 303 阅读 · 0 评论 -
索引(二):储键值、有序、高度相关案例。
索引的特性存储键值、有序、高度相关案例。1、‘分区表各类聚合优化玄机drop table range_part_tab purge;--注意,此分区为范围分区--例子1create table range_part_tab (id number,deal_date date,area_code number,nbr number,contents varchar2(4000)) partition by range (deal_date) (...原创 2020-06-08 18:37:40 · 148 阅读 · 0 评论 -
索引(一):高度较低、有序、存储键值
1、索引特性一高度较低create table t1 as select rownum as id ,rownum+1 as id2,rpad('*',1000,'*') as contents from dual connect by level<=1;create table t2 as select rownum as id ,rownum+1 as id2,rpad('*',1000,'*') as contents from dual connect by level<=10.原创 2020-06-08 18:37:20 · 178 阅读 · 0 评论 -
索引引发故障案例(二)
1、索引的开销设置索引并行引起的风波drop table t purge;create table t as select * from dba_objects where object_id is not null;alter table T modify object_id not null;insert into t select * from t;insert into t select * from t;insert into t select * from t;inser...原创 2020-06-08 18:38:59 · 296 阅读 · 0 评论 -
DUMP索引块、数据块分析
1、创建一张测试表并建立索引(scott用户下执行)create table t as select * from dba_objects;create index idx1_object_id on t(object_id);2、查看所创建的对象、scott@ORCL>select object_name,object_type from user_objects where object_name in ('T','IDX1_OBJECT_ID');OBJECT_NAME ...原创 2020-06-04 13:52:05 · 411 阅读 · 0 评论 -
在DML操作之下redo日志的解析
实验一:insert 操作的REDO日志解读1、创建一张测试表create table tangjian (id number(20),name varchar(20),work varchar(20));2、查看当前日志所在的日志组select * from v$log;alter system switch logfile;(切换日志组为了方便分析redo日志)sys@ORCL>select * from tangjian; ID NAME ...原创 2020-06-03 14:56:17 · 580 阅读 · 0 评论 -
监听日志 获取session 以及登录的ip
一天内每小时fgrep"13-JAN-2015"anbob_listener.log|fgrep"establish"|awk'{print$1""$2}'|awk-F:'{print$1}'|sort|uniq-c|sort-n指定的一小时每分钟session请求数#fgrep"13-JAN-201511:"anbob_listene...原创 2019-11-06 17:07:30 · 305 阅读 · 0 评论 -
V$LOCK和V$LOCKED_OBJECT的区别
V$LOCK和V$LOCKED_OBJECT 查询锁表都会用到V$LOCK和V$LOCKED_OBJECT,但这两者不是相同的。我们先看看它们各自的主要字段:1.v$locksid: 会话SID,通常与v$session关联。 type: 锁类型,TM表示表锁或DML锁,TX表示行锁或事务锁,UL表示用户锁。我们主要关注TX和TM两种型的锁其它均为系统锁,会...原创 2019-07-18 07:01:59 · 2566 阅读 · 1 评论 -
ORACLE视图学习大全
DBA开头的:dba_user 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 dba_tablespaces 数据库表空间信息 dba_data_files 数据文件设置信息 dba_temp_files 临时数据文件信息 dba_rollback_segs 回滚段信息 dba_ts_q...原创 2018-08-31 10:45:50 · 382 阅读 · 0 评论 -
Oracle DBlink的使用方法
DBLink 的作用是在局域网内,通过一台服务器上面的数据库访问另外一台服务器上面数据库的功能。下面简单的介绍DBLink的配置:服务器A:IP 10.10.10.107, 数据库实例名:orcl 数据库登录:test/test服务器B:IP 10.10.10.22, 数据库实例名:kobra 数据库登录:user/user需求: 在A服务器上的数据库可以访问服务器B的数据库。...原创 2018-09-07 13:38:59 · 1105 阅读 · 0 评论 -
Oracle的日志挖掘恢复数据
oracle日志挖掘是一种十分强大的数据恢复技术,只要你保障你的归档日志和重做日志是完整的,那么就可以将你的数据恢复到任何时刻。简单叙述一下日志挖掘的基本原理,然后进行一个简单的小实验。 日志挖掘时基于redo日志和归档日志的基础之上来进行日志加载并进行恢复,挖掘,挖掘,挖的就是你的redo日志和归档日志,当数据库运行过程中,你的所有数据更改操作会被记录在redo日志中,而oracle ...原创 2018-10-16 09:20:38 · 3236 阅读 · 0 评论 -
DBCA报错, ORA-15045 ORA-17502 ORA-15081
DBCA报错, ORA-15045 ORA-17502 ORA-15081ERROR at line 1:ORA-19624: operation failed, retry possibleORA-19870: error while restoring backup piece/u02/app/oradb/product/11.2.0/db_1/assistants/dbca/tem...转载 2018-12-13 14:49:06 · 614 阅读 · 0 评论 -
Oracle 11gR2 RAC恢复OCR和VOTE DISK
Oracle 11gR2 RAC恢复OCR和VOTE DISK原文链接:http://www.askmaclean.com/archives/11-2-lost-ocr-votedisk-group-recovery.html 之前有同学在我的Oracle Allstarts群里讨论关于丢失包含ocr和votedisk的ASM diskgroup导致11gR2 RAC c...转载 2018-12-09 21:20:09 · 312 阅读 · 0 评论 -
Oracle 12.2.0.1修改密码问题与改密码后登陆提示密码错误的两个问题
12c修改sys密码hang问题(ALTER USER SYS Command Hangs or Takes Long Time to Complete)一下为改动方法。 srvctl modify database -db edw -pwfile(改动面) srvctl config database -d edw (查看输出的密码文件位置,提示没有了) orapwd file='+...原创 2019-06-18 14:51:45 · 1344 阅读 · 0 评论 -
查询当前数据库在10分钟后,每秒执行的次数
方法:可以出相关的awr报表 通过SQL ordered by Elapesed Time 计算sql语句在10分钟内平均执行的次数,当然,这需要你手动的每十分钟执行一次手动创建快照,也可以使用exec dbms_workload_repostiory.modify_snapshot_settings(interval=>10,retention=>20160),控制快照自动生成时间,...原创 2019-06-18 15:05:00 · 1450 阅读 · 0 评论 -
Oracle基础链接
http://www.cnblogs.com/linjiqin/archive/2012/01/31/2332616.html原创 2018-07-06 11:23:15 · 127 阅读 · 0 评论 -
大故障 Oracle 坏块的修复,备份不可用的情况下
2019年4月19号下午查看相关日志,发现磁盘报错在日志中记录频繁,自我盘查无果之后,当天汇报给公司后商量后并通过raid的相关命令查询,确定第五台存储的2号盘磁盘坏道,初步给出的结论是磁盘坏道,但是不影响使用,后期建议换盘,并将相关信息反馈给客户,但是事后两天,突然一台存储raid卡故障,导致磁盘只读不可写,磁盘被36内小时drop,因为做了normal冗余,两副本都坏,所以导致数据丢失。以下为...原创 2020-08-20 19:42:20 · 323 阅读 · 0 评论