![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oracle
文章平均质量分 66
技术菜逼
这个作者很懒,什么都没留下…
展开
-
oracle数据库所在主机内存耗尽
大体上就是不断的告警,主机内存基本使用完了,swap使用90%。这个时候就开始着手处理。详细经过就不写了,这里只写一些事后总结。总结一下,1,要精确厘清到底哪些进程使用的内存是合理的,哪些是不合理的,合理的进程使用的内存大点也没关系,不合理的才是出问题的关键。top -d 1 可以看一个整体,里面有几个指标,RSS、SHR、VIRT;其中RSS表示进程驻留在物理内存中的内存大小,但并不是指进程的私有内存空间,也可以是共享内存。%MEM指标就是使用"RSS/物理内存" 计算出来的。我一开始使用%M原创 2021-10-06 04:14:04 · 727 阅读 · 0 评论 -
incremental changes to "log_archive_dest_1" not allowed with SPFILE
如下:SQL> alter system set log_archive_dest_1='/home/oracle/app/oracle/fast_recovery_area1/ORCL2/log_archive_dest';alter system set log_archive_dest_1='/home/oracle/app/oracle/fast_recovery_area1/OR原创 2017-03-04 17:24:29 · 497 阅读 · 0 评论 -
RMAN-06808: SECTION SIZE cannot be used when piece limit is in effect
RMAN-06808: SECTION SIZE cannot be used when piece limit is in effect原创 2017-03-05 18:08:30 · 1068 阅读 · 0 评论 -
db_recovery_file_dest与log_archive_dest、log_archive_dest_n
db_recovery_file_dest:指定闪回恢复区路径。log_archive_dest:指定归档日志存放路径,必须是本地磁盘。log_archive_dest_n:指定归档日志存放路径,n最大为31。可以为本地磁盘或者网络地址。对三者之间的关系说明如下:db_recovery_file_dest,闪回恢复路径,可以与log_archive_dest_n共存。不可以与l原创 2017-03-04 17:29:56 · 1657 阅读 · 0 评论 -
ORA-16179: incremental changes to "log_archive_dest_31" not allowed with SPFILE
LOG_ARCHIVE_DEST_11 through LOG_ARCHIVE_DEST_31 不支持location参数,只能使用service。SQL> alter system set log_archive_dest_31='/home/oracle/app/oracle/fast_recovery_area1/ORCL2/log_archive_dest_31';alter原创 2017-03-06 00:08:26 · 601 阅读 · 0 评论 -
使用switch database to copy快速复制数据库
1, 源库switch logfile,checkpoint,shutdown;2, 源库startup restrict;shutdown immediate;startup mount;3, rman target / ;backup as copy database;4, 新库restore spfile, controlfile, catalog 备份片, st原创 2017-03-06 02:10:55 · 4143 阅读 · 0 评论 -
open resetlogs 做了什么
先摘一段document原文,稍后再对照来检查。OPEN RESETLOGS OperationsWhen you open the database with the RESETLOGS option, the database performs thefollowing actions:■ Archives the current online redo logs (if th原创 2017-03-08 01:39:21 · 666 阅读 · 0 评论 -
ORA-16433: The database must be opened in read/write mode
SQL> startup force;ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instanceORACLE instance started.Total System Global Area 296456192 bytesFixed Size 2252664 bytes原创 2017-03-13 01:15:55 · 6658 阅读 · 0 评论 -
RMAN表空间时间点恢复,TSPITR
这里主要讲auxiliary set使用已有的image copy备份的情况。直接说结论,然后再放出操作过程。先上脚本: run { set newname for datafile 10 to '/home/oracle/app/oracle/fast_recovery_area1/ORCL2/datafile/o1_mf_undotbs2_ddn500q2_.dbf';se原创 2017-03-16 14:16:40 · 361 阅读 · 0 评论 -
mos文档索引
权作记录,方便自己查阅。A:Asynchronous I/O Support on OCFS/OCFS2 and Related Settings: filesystemio_options, disk_asynch_io (文档 ID432854.1)AWR Report Interpretation Checklist for Diagnosing Database Perform原创 2017-06-19 14:15:38 · 603 阅读 · 0 评论 -
ora-3237
> oerr ora 323703237, 00000, "Initial Extent of specified size cannot be allocated in tablespace (%s)"// *Cause: Too large a size for an initial extent due to freelist// group specific原创 2017-07-05 21:12:24 · 444 阅读 · 0 评论 -
LNNVL
LNNVL是oracle提供的一个函数。语法形式 LNNVL--> ( ---> CONDITION ---> )。这个函数提供了一种简明的方式,以判断condition中的一个或者两个操作数是否为NULL;可以用在where和case语句中的when表达式中。如果condition为false或者未知,则返回true,如果condition为true则返回false。例原创 2017-07-31 16:37:16 · 1436 阅读 · 0 评论 -
awr采样不自动刷新的问题
对于awr采样不自动刷新的问题,自己也遇到了几次。现总结解决方法如下:1:查看近期的alert日志是否有告警产生。如果有,解决错误后继续观察;如果没有,或者解决错误后不奏效,往下走。2:执行手动刷新。 dbms_workload_repository.create_snapshot();如果报错,解决错误。这里常见的错误是表空间满了。可以检查SYSAUX表空间是否确实满了,可以采取清理旧的原创 2017-08-23 17:32:07 · 625 阅读 · 0 评论 -
oracle 索引块结构及索引访问路径
最近研究了下oracle的B-tree索引,有了些发现。放在这里,与大家共享。这篇文章主要介绍oracle B-tree索引的internal结构,顺便说说几种索引扫描方式对于索引块的扫描路径。首先放上官方文档,对索引结构的图形描述。图片有点大,我不知道如何在显示的时候缩小,将就看吧。上面是一个deep为3的索引结构图。deep的值就是从索引的root block到索引的leaf原创 2017-11-07 02:23:25 · 2639 阅读 · 0 评论 -
oracle flashback database 与 restore point
flashback database:guaranteeguarantee的restore需要在mount下创建flashback onflashback offguarantee restore point 在database open状态下,可以将flashback off。此时normal restore point不可用,guarantee rest原创 2017-10-26 14:54:09 · 539 阅读 · 0 评论 -
BadImageFormatException,如果在安装32位oracle客户端组件的情况下以64位模式运行,将出现此问题
今天开发人员发过来个问题,如题,现场是64位oracle+64位数据库主机+(32/64位?具体不能确定)应用+64位应用中间件服务器+32位oracle客户端。这个问题按照字面来理解,就是安装了32位oracle客户端,但是试图以64位模式来运行。百度了一圈,要么说改path,要么说安装64位客户端。众说纷纭,但是实际上都是针对当时作者所处的应用环境,来解决当时问题的方法,其他人照搬过来...原创 2018-09-07 18:41:48 · 19562 阅读 · 2 评论 -
oracle不停机短时间切换数据文件
有些时候,比如数据文件几种在一块或者几块磁盘上,但是磁盘空间不能再扩展。这时候,我们就需要将其中的一些文件挪到其他磁盘中。但是又希望减少服务影响时间。这就是这篇文章要解决的问题。前提是数据库开归档。按照如下操作:例如,我要切换/u02/app/oracle/flashback_area/NEWORCL/BACKUP/users01.dbf fno为7的数据文件。[oracle@...原创 2019-01-23 23:47:16 · 357 阅读 · 0 评论 -
oracle数据块中的scn何时变化
今天突然想到这个问题,有点迷惑,于是乎设计出如下实验找出结论。先看update-commit的情况,因为是做完实验后写的,所以我直接在实验步骤后贴上实验数据sqlplus窗口11:dump块 scn: 0x0000.0620b7d3 col 0: [ 1] 37sqlplus新开窗口原创 2016-08-08 12:14:02 · 1196 阅读 · 0 评论 -
ORA-09968 unable to lock file
今天因为测试一个东西,使用shutdown abort关闭数据库后,startup半天没动静,看alert日志,也是停留在启动实例的开始Mon Jul 04 02:51:21 2016Starting ORACLE instance (normal)半天没反应,忍不了,新开了一个sqlplus会话shutdown abort后startup force。结果报ORA-09968错误:原创 2017-03-04 13:34:05 · 2948 阅读 · 1 评论 -
oracle instance_name db_name db_unique_name 与监听注册
以下实验证明,oracle11gR2中可以两个存在instance_name,一个取自启动参数文件,一个取自oracle_sid环境变量。而启动参数文件中若未指定db_unique_name,则db_unique_name取值为db_name的值。在注册监听时,oracle默认以db_unique_name为service_name,以参数文件中指定的instance_name为实例名,注册到监听原创 2016-05-26 21:54:16 · 1103 阅读 · 0 评论 -
oracle arvhivelog、noarchivelog与mount的关系
这里仅仅想解释下,为什么alter database archivelog 与alter database noarchivelog需要在mount状态下执行。我们来分步骤看看oracle的启动过程日志:SQL> startup pfile='$ORACLE_HOME/dbs/pfileorcl.ora' mount;ORA-32006: LOG_ARCHIVE_ST原创 2016-05-28 00:42:52 · 1070 阅读 · 0 评论 -
statistics_level相关
statistics_level参数与oracle自动收集统计信息相关,取值有ALL、TYPICAL、 BASIC。可以从v$statistics_level视图看到不同取值对各种统计信息收集的影响,以及不同统计信息影响哪些统计结果视图。STATISTICS_NAMEDESCRIPTIONSESSION_STATUSSYSTEM_STATUS原创 2016-06-29 04:08:54 · 1420 阅读 · 0 评论 -
Disk file operations I/O
好吧,这么久没写博客了,本来今天要写一篇分析oracle启动过程的文章,最后懒惰小人战胜了勤奋小人。于是决定转载一篇与之相关的文章,证明自己今天也勤奋过。之所以是相关的,在于如果你使用10046事件来跟踪oracle启动过程,会发现有很多的文件读操作,我也是在读trace文件时找资料,才发现了这篇文章。说是翻译,其实就贴了原文,相信大家都能看懂,就不画蛇添足了。^_^原文链接:http翻译 2016-06-19 23:56:15 · 3706 阅读 · 1 评论 -
oracle启动参数文件顺序解释
oracle实例启动的参数文件选择顺序为spfile$ORACLE_SID.ora -> spfile.ora -> init$ORACLE_SID.ora。下面做实验验证。[oracle@localhost dbs]$ echo $ORACLE_SID iloveqhdb[oracle@localhost dbs]$ export ORACLE_SID=hellokitty原创 2016-05-25 23:20:56 · 5769 阅读 · 0 评论 -
oracle spfile pfile 的相互转换与oracle启动
大家都知道,spfile是oracle使用的二进制文件。pfile是可编辑文件,并且我们可以通过create pfile/spfile from spile/pfile来进行相互转换。但是大家知道这个相互转换的功能是sqlplus提供的吗?意思是什么呢,就是说我们可以在oracle shutdown的条件下执行创建语句。我以前每次执行这条语句的时候,都首先把oracle启动起来,现在想想,真是笨原创 2016-06-21 11:51:23 · 4847 阅读 · 0 评论 -
rename datafile 做了什么
今天在做数据库恢复重建的时候,对datafile rename突然有点迷惑,下班回来就做了下面的实验。先放上结论,这个结论是我结合10046 trace文件内容与自己的推测得出来了,推测的部分还有待证实。结论:1:oracle在mount的过程中,只检查了控制文件的完整性,并没有去验证控制文件中记录的信心是否正确无缺;或者说oracle验证了,但是即使检测到错误也没有给出提示。原创 2016-07-19 03:40:17 · 555 阅读 · 0 评论 -
重建控制文件后,各文件(datafile、control file、redo log)中scn的关系
很久之前看了一个论坛上的帖子,谈论到到本文的主题,但是我觉得帖子上说的不足以让人信服。今天想起来了,就自己动手做做实验。实验方法:0:backup control file to trace1:update一张表2000条记录,commit2:shutdown abort3:startup nomount4:重建控制文件5:dump 控制文件头,数据文件头,redo文件原创 2016-07-20 03:42:01 · 1781 阅读 · 0 评论 -
v$sesstat与v$sysstat之TABLE SCAN ROWS GOTTEN
统计项:TABLE SCAN ROWS GOTTEN原文解释:Number of rows accessed by all full table scans. This is not the number of rows returned because only qualifying rows are returned.全表扫描过程中扫描过的数据行,单表selec原创 2016-07-14 16:39:33 · 590 阅读 · 0 评论 -
standby实例丢失online log文件的处理
今天在公司处理一个case,通过从生产standby库主机向测试库所在主机复制磁盘的方式导库,主机磁盘复制ok后起库的过程都是自动化脚本的方式进行的,因为测试库与生产库sid不同,文件路径不同,这里的主要工作就是rename file,以及重建控制文件以测试库sid重命名数据库,并open read wirte供用户使用。脚本跑完后我看了脚本输出日志,大概扫了下,发现了在rename log原创 2016-08-11 22:57:19 · 819 阅读 · 0 评论 -
db_recovery_file_dest与log_archive_dest、log_archive_dest_n
db_recovery_file_dest:指定闪回恢复区路径。log_archive_dest:指定归档日志存放路径,必须是本地磁盘。log_archive_dest_n:指定归档日志存放路径,n最大为31。可以为本地磁盘或者网络地址。对三者之间的关系说明如下:db_recovery_file_dest,闪回恢复路径,可以与log_archive_dest_n共存。不可以与log原创 2016-09-26 02:41:46 · 478 阅读 · 0 评论 -
controlfile中到底包不包含归档日志信息
最近一次例会中,当我提出controlfile中包含归档日志元信息时,被一些人鄙视。十分轻蔑与不屑的告诉我,归档日志又不在控制文件中保存。现将controlfile内容完整呈现于下,孰对孰错,不言自明。[oracle@localhost ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Mon Nov 7 1原创 2016-11-07 12:39:11 · 618 阅读 · 0 评论 -
通三个提示来控制HASH_JOIN顺序和内建与探测表
本文转自http://blog.csdn.net/zengmuansha/article/details/7448723,自己按照文中所说用了蛮好的。hash_join可以通过no_swap_join_inputs/swap_join_inputs来强制控制build表,配合leading可以控制多表之前的连接顺序----------------创建4个测试表create tabl转载 2016-11-08 20:10:28 · 315 阅读 · 0 评论 -
闲侃oracle clone 安装
关于oracle clone安装,就不多说了,下面有例子。我想说,对于大批量和快速交付类需求,clone安装软件与rman备份恢复database是两把利器。省很多事。下面主要借助一个clone安装的例子,来说明-invPtrLoc选项的使用。这个是10g的例子,其他版本不要照搬。在oracle的官方文档中,介绍clone安装,是使用如下命令:$ORACLE_HOME/oui/bin/原创 2017-03-04 03:59:36 · 768 阅读 · 0 评论 -
使用Data Recovery Advisor诊断和修复错误
刚看完这一部分文档,做个记录总结。e10642Backup-and-Recovery-User's-Guide-11g-Release-2-(11.2) chapter 15 Diagnosing and Repairing Failure with Data Recovery Advisor主要三个部分:list failureadvise failurerepair原创 2017-03-04 04:30:55 · 662 阅读 · 0 评论 -
修改初始化参数 v$parameter与v$spparameter
数据库中,有些初始化参数修改后是不能立即生效的。也就是说不能通过aler system set param_name=value scope=memory 或者system set param_name=value scope=both来修改,只能通过system set param_name=value scope=spfile来修改,然后通过重启数据库生效。这些参数就是所谓的不能动态修改原创 2016-05-25 23:58:46 · 2197 阅读 · 0 评论