Oracle
文章平均质量分 69
Data & safety
这个作者很懒,什么都没留下…
展开
-
Oracle 12c系列(四)|资源隔离之IO、内存、CPU
服务器主机提供IO、内存、CPU、存储空间等资源为数据库使用,Oracle使用Flex Diskgroup为数据库提供存储空间并做了相应的资源隔离。下面我们来看下Oracle是如何为不同的PDB做IO、内存、CPU限制的。一、IO 资源隔离12cR2中,引入了两个参数MAX_IOPS和MAX_MBPS来限制PDB的物理IO。这两个参数只作用于PDB,不对CDB和非多租户环境生效。另外,这两个参数不限制redo log的写入(LGWR进程)和buffercache脏块写入磁盘(DBWR进程)。IO对转载 2022-04-07 22:07:22 · 471 阅读 · 0 评论 -
在Oracle中,Lock、Latch和Pin的区别有哪些?
♣题目部分在Oracle中,Lock、Latch和Pin的区别有哪些?♣答案部分Latch是Oracle提供的轻量级锁,它用于快速,短时间的锁定资源,可防止多个并发进程同时修改内存中的某个共享资源,它只工作在内存中。内存中资源的锁叫Latch(闩),而数据库对象(表,索引等)的锁叫Lock,也被称为队列锁(Enqueue Lock)。如果要读取数据缓存中的某个块,那么Oracle会获得这个块的Latch,这个过程叫做Pin。此时,若另外一个进程恰好要修改这个块,则它也要Pin这个块,此时转载 2022-04-04 21:53:24 · 609 阅读 · 0 评论 -
Oracle 常见等待事件及处理方法
目录1、 db file scattered read DB 文件分散读取 (太多索引读,全表扫描-----调整代码,将小表放入内存) 2、 db file sequential read DB 文件顺序读取 (表连接顺序不佳-----调整代码,特别是表连接) 3、 free buffer waits 释放缓冲区等待 (增大DB_CACHE_SIZE,加速检查点,调整代码) 4、 buffer busy waits 缓冲区忙等待 (BUFFER热块) 6、enqueue 7、 log buff转载 2022-04-04 19:09:17 · 1762 阅读 · 0 评论 -
使用10053事件跟踪的几种方法
10053事件:Event 10053 is an internal event that externalises some of the decisions made by the optimizer in to a trace file.对于10053更多的介绍,这里不再重复注:使用10053事件跟踪之前确保TRACE_ENABLED 参数的值是TRUE下面例举三种使用10053事件跟踪的方式1.使用传统alter session2.使用oradebug3.使用DB..转载 2022-04-04 18:59:33 · 686 阅读 · 0 评论 -
11g 日志传输压缩模式
[20181112]11g 日志传输压缩模式.txt--//由于主备库不在一个局域网内,一样采用级联模式,先传输日志到一台主机,然后在由这台备库传输日志到远端的dataguard备库.--//这样一定程度减轻主库负担,另外加快日志应用,这样影响小一点,另外一种方式日志传输模式采用压缩模式.以前自己也测试过.--//链接:http://blog.itpub.net/267265/viewspace-1143480/--//工作需要,重复验证看看.1.环境:SCOTT@boo转载 2022-04-04 18:16:55 · 465 阅读 · 0 评论 -
日志传输压缩模式oracle,DataGuard日志传输模式
【前言】学习技术跟学习武功一样,之前整理了DataGuard的搭建和切换,这些都是武功招式,但是心法还没有学。本文档介绍DataGuard的重要心法,DataGuard的三种保护模式跟日志传输模式的关系,文章的主要内容来自于Oracle DataGuard 11G的参考手册。【1】DataGuard日志传输模式的介绍DataGuard的原理简单来说就是把ORL写入本地的同时,传送一份到备库上面进行执行,日志传输是整个DataGuard的核心,就很有必要对日志传输的几种模式进行介绍;DATAGUA转载 2022-03-26 21:18:32 · 576 阅读 · 0 评论 -
ORACLE---ORA-19606(RMAN删除obsolete报错)
===基础知识补充RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3;---配置保留策略,冗余3份RMAN> crosscheck backup;---检查备份集RMAN> delete noprompt expired backup;---删除过期备份集(磁...转载 2021-09-14 10:10:13 · 663 阅读 · 0 评论 -
记录一则强制开库遭遇ORA-16433的处理过程
客户的一套开发环境,大概了解到的背景是清理空间时redo被运维人员当作log误删除,一线同事先接手处理,过程中遇到问题升级到我这里继续分析。接手后,数据库处于mount状态,之前恢复过程中已经做过resetlogs的操作,也设置了"_allow_resetlogs_corruption"隐藏参数为true,目前直接开库会提示需要恢复,重新进行resetlogs时报错ORA-600 [2662],起初看到这个错误心中略有些放松,根据经验,推下SCN就好了:SQL> alter datab.转载 2021-04-05 21:26:37 · 409 阅读 · 0 评论 -
屡次发生的Oracle谓词越界
近期在客户现场屡次遇到由于统计信息过旧导致执行计划选错引发的数据库性能问题,今天做个总结:谓词越界常见发生在where谓词是时间字段的,总的来说统计信息记录的是一个过旧的时间,而SQL传入的时间是一个最新的时间范围(往往是<time time1<c<time2),由于统计信息不全,按照CBO计算出来的结果集就很小,在多表关联的情况下,CBO就会选择认为的最优的关联方式,而实际执行时发现不是那么回事,有大量结果集需要扫描,就会爆发SQL性能问题。谓词越界就是select的谓词的条件不在转载 2021-04-05 20:49:44 · 1227 阅读 · 0 评论 -
RMAN-05501 RMAN-05001
错误信息:RMAN-05501: aborting duplication of target databaseRMAN-05001: auxiliary file name /oracle/oradata/skatedb/tbs_statspack01.dbf conflicts with a file used by the target database在用rman duplicate创建dg的时候,抛出如上的错误,这里只列出用rman dumplicate的过程,具体操作步骤如下:.转载 2021-03-28 20:27:00 · 790 阅读 · 0 评论 -
kkjcre1p: unable to spawn jobq slave process
问题背景:客户反映数据库有时候出现连接等待,以下为日志一部分报错内容。kkjcre1p: unable to spawn jobq slave process, slot 3, error 1089Sun Oct 27 11:21:35 2019kkjcre1p: unable to spawn jobq slave process, slot 3, error 1089Sun Oct 27 11:21:35 2019kkjcre1p: unable to s..转载 2021-02-22 15:06:47 · 1782 阅读 · 0 评论 -
kkjcre1p: unable to spawn jobq slave process, slot 0, error 1089(Linux x86_64)补丁
在shutdown immediately的时候,alert Log出现如下错误信息,并且不能正常关闭kkjcre1p: unable to spawn jobq slave process, slot 0, error 1089该问题是由bug23102157引起,查看MOS,并没有Linux平台的Patch,后来开SR,Oracle support高效的开发出来Linux x86_64平台的补丁并更新出来。补丁链接https://updates.oracle.com/download/2..转载 2021-02-22 15:03:29 · 1434 阅读 · 0 评论 -
LInux 标准大页和透明大页
阅读目录Huge Pages Transparent Huge Pages 使用Huge pages优点 使用Huge pages缺点 Transparent Huge pages存在的问题 如何关闭Transparent Huge pages ?Huge pages (标准大页)和Transparent Huge pages(透明大页)在Linux中大页分为两种:Huge pages (标准大页)和Transparent Huge pages(透...转载 2021-02-17 10:54:33 · 1247 阅读 · 0 评论 -
oracle启动报错:MEMORY_TARGET not supported on this system
oracle 11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小,就会报错。解决方法:1.初始化参数MEMORY_TARGET或MEMORY_MAX_TARGET不能大于共享内存(/dev/shm),为了解决这个问题,可以增大/dev/shmmount -t tmpfs shmfs -o size=122.转载 2021-02-07 11:24:13 · 469 阅读 · 0 评论 -
日志检测发现Checkpoint not complete
1.检查告警日志发现Checkpoint not complete报错如下:Sat May 21 07:36:43 2016Thread 1 cannot allocate new log, sequence 6672Checkpoint not complete Current log# 2 seq# 6671 mem# 0: /home/oracle/app/oracle/oradata/qianlong/redo02.logSat May 21 07:36:58 2016.转载 2021-02-02 10:53:41 · 825 阅读 · 0 评论 -
Oracle学习笔记:parallel并行处理
在使用oracel查询时,可以通过并行提高查询速度。例如:select /*+parallel(a,6)*/ count(1) from table_name a; 强行启用并行度来执行当前SQL。加上这个说明之后,可以强行启用Oracle的多线程处理功能,提高效率。但本身启动这个功能,也是要消耗资源与性能的。所有,一般都会在返回记录数大于100万时使用,效果也会比较明显。 语法: /*+parallel(table_short_name, cash_number)*/转载 2021-01-29 16:56:10 · 2055 阅读 · 0 评论 -
Oracle 数据泵命令全解析
Oracle数据库之间迁移数据可以采用的最有效的工具之一就是数据泵(expdp/impdp)。但是expdp和impdp只能在数据库服务端使用,不能在客户端使用。笔者结合自身经验总结了expdp和impdp常用到的命令,部分信息参考Oracle官方文档。一、directory:select * from dba_directories;create directory mydata as '/home/oracle';grant read,write on directory m转载 2021-01-13 09:16:02 · 1284 阅读 · 1 评论 -
Oracle11g实现只读表方法
1.1 ALTER TABLE tab_name READ ONLY参考:https://www.cnblogs.com/chinas/p/8440460.htmlOracle 11g开始支持设置某张表为只读,这样可以防范对某些表的修改,起到一定的安全性。设置如下:--设置表为只读权限(加锁)ALTER TABLE tab_name READ ONLY ;--设置表的读写权限(解锁)ALTER TABLE tab_name READ WRITE ;当表需要进行更新、增删记录时原创 2020-12-30 09:56:05 · 682 阅读 · 0 评论 -
Linux离线安装cx_Oracle & 在线安装cx_Oracle
注:无论是离线安装还是在线安装,核心都是①安装oracle客户端;②安装cx_Oralce。通过Python程序连接Oracle数据库,放在Linux服务器执行,但是缺少cx_Oracle模块,并且服务器无法联网,通过离线的方式安装。离线安装1.准备确定Python版本并下载相关的软件包。Python 2.6.6,则需要下载cx_Oracle-5.2.1-11g-py26-1.x86_64.rpm因而,三个需要下载的软件包及地址:cx_Oracle-5.2.1-11g-py26-1转载 2020-10-19 15:37:01 · 1872 阅读 · 0 评论 -
数据库排查基本命令
查看网卡流量:sar -n DEV 1 2查看内存使用:free -g查看CPU使用情况:top查看IO使用清空:iostat -dxk 1原创 2020-06-24 09:15:53 · 499 阅读 · 0 评论 -
ORA-19606: Cannot copy or restore to snapshot control file
delete obsolete; 发现出现报错 ORA-19606: Cannot copy or restore to snapshot control file解决办法:CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0.4/db_1/dbs/snapcf_slnngk.f_bak'; --先重命名文件crosscheck controlfilecopy '/u01/app/oracle/product/11原创 2020-06-22 09:15:30 · 461 阅读 · 0 评论 -
oracle12c的CDB与PDB
因为服务器重启时,pdb默认不启动PLSQL Developer选择ORCL. system登录(或使用sqlplus)执行alter pluggable database PDBORCL open;启动pdb创建用户创建新用户,注意CDB容器中创建一个通用用户,用户名必须以C##或者c##开头,因为CDB中默认创建的是common user如果想要创建本地用户,则要在PDB容器中创建,下面会说如何切换到PDB容器create user C##test identified by 12.原创 2020-06-21 21:17:09 · 424 阅读 · 0 评论 -
用服务器和共享服务器?
题目部分在Oracle中, 什么是专用服务器和共享服务器?♣答案部分在连接到Oracle数据库的时候,可以有两种连接模式,一种叫做专用服务器连接(Dedicated Server),另外一种叫做共享服务器连接(Shared Server)。下面将分别讲解这两种连接方式的不同点。专用服务器:每次在对Oracle进行访问的时候,Oracle服务器的Listener会得到这个访问请求,然后会为这个访问创建一个新的进程来进行服务。所以说,对于每一个客户端的访问,都会生成一个新的进程进行服务,是一原创 2020-05-10 16:28:01 · 426 阅读 · 0 评论 -
set define off 在数据库脚本中的作用
在SQL*Plus中默认的"&"表示替代变量,也就是说,只要在命令中出现该符号,SQL*Plus就会要你输入替代值。这就意味着你无法将一个含有该符号的字符串输入数据库或赋给变量,如字符串“SQL&Plus”系统会理解为以“SQL”打头的字符串,它会提示你输入替代变量Plus的值,如果你输入ABC,则最终字符串转化为“SQLABC”。setdefineoff则关闭该功...原创 2020-04-28 21:42:13 · 581 阅读 · 0 评论 -
11g Data Guard为什么要将standby_file_management设置为auto
我们在搭建DataGuard的时候,会将参数standby_file_management设置为auto,备库管理可以带来很多方便;该参数的另一个选项manual,则需要手动进行copy。文档内容如下:The STANDBY_FILE_MANAGEMENT database initialization parameter controls whether t...原创 2020-04-26 14:49:13 · 474 阅读 · 0 评论 -
Standby Redo Logs的前世今生与最佳实践
编辑手记:使用过Data Guard的人应该对于Standby Redo Logs都不陌生,在配置了 Standby Redo Logs的standby中,能够进行日志的实时应用,同时Standby Redo Logs能够给主库传输过来的日志增加一层安全保护。然而在很多的生产环境中,大家都很少使用Standby Redo Logs。本文将会深入剖析Standby Redo Logs的前世今生,工...原创 2020-04-26 14:34:04 · 559 阅读 · 0 评论 -
【翻译自mos文章】Standby Redo Logs (SRL)的用途,益处与限制
Standby Redo Logs (SRL)的用途,益处与限制来源于:Usage, Benefits and Limitations of Standby Redo Logs (SRL) (文档 ID 219344.1)目的:本文显示了Standby Redo Logs (SRL)的用途,益处与限制,适用于 Oracle 9i/10g/11g中带有SRL的dataguard环境。...原创 2020-04-26 14:22:06 · 741 阅读 · 0 评论 -
理解standby redo log
在创建Oracle Dataguard的时候,难免会碰到Standby Redo Log(SRL),它和ORL到底有何不同,下面是我自己的一点理解,大部分都是翻的Oracle官方文档:1. SRL只有在数据库是standby角色是才起作用,Oracle建议我们为primary也配置SRL只是为了以后主从切换时不用人为干预2. standby上SRL完全等同与primary上的ORL,在pr...原创 2020-04-26 14:17:03 · 599 阅读 · 0 评论 -
standby redo log的作用
大家都知道dataguard有三种数据保护模式,最大保护模式,最高可用模式,最高性能模式.在最大保护模式,最高可用模式中必须使用standby redo log.最高性能模式中,官方推荐也使用standby redo log.那到底使用standby redo log和不使用有什么区别呢?dbOracle10.2.0.1 物理standby/u09/standbyarchivelog 为...原创 2020-04-26 14:07:07 · 1039 阅读 · 0 评论 -
oracle kill掉一个用户所有连接
SELECT s.inst_id,s.sid,s.serial#,p.spid,s.username,s.program,s.paddr,s.STATUS,'ALTER SYSTEM KILL SESSION ''' || s.sid || ', ' || s.serial# || '''' || ';' AS KILLFROM gv$session sJOIN gv$proc...原创 2020-04-22 17:37:19 · 1225 阅读 · 0 评论 -
由v$rman_backup_job_details引起的Oracle“bug”问题
最近检查备份,发现问题:某生产库增量备份需要12个小时,正常备份只需要5秒。请看截图进入rman控制台,检查相关的备份,显示持续时间为5秒。再次描述一下上面的问题:调用v$rman_backup_job_details ,查询显示196次备份是持续了12小时,而rman 则显示196次备份为5秒。检查文件的Linux最后访问时间为7-30 11:01这就是我说的:由v$rman...原创 2020-04-07 14:35:37 · 466 阅读 · 0 评论 -
ORA-02030: can only select from fixed tables/views
2018-12-19 14:07潇湘隐者 阅读(935) 评论(0)编辑收藏有时候给一些普通用户授予查询系统对象(例如dynamic performance views)权限时会遇到“ORA-02030: can only select from fixed tables/views”,如下所示:SQL> grantselecton v$sessi...原创 2020-04-07 14:14:34 · 966 阅读 · 0 评论 -
谈谈Oracle数据库的启动
Oracle数据库启动过程实际包含三个阶段:NOMOUNT -> MOUNT -> OPEN一、启动数据库到NOMOUNT状态NOMOUNT的过程就是启动Oracle数据库实例的过程。在这个阶段Oracle首先会寻找参数文件(pfile或者spfile),然后根据参数文件中的设置,创建数据库实例(分配内存,创建后台进程)。[oracle@mydb ~]$ sqlplus ...原创 2020-04-02 11:43:24 · 566 阅读 · 0 评论 -
Oracle数据库脚本中的set define off
Oracle数据库脚本中的set define off前言最近在公司写需求,接触到脚本,第一句set define off;就不知道什么意思了,查询后记录之。名称SET DEFINE概要SET DEFINE命令改变标记替代变量的前缀字符。你可以使用SET DEFINE关闭替代变量。语法SET DEF[INE] {OFF | ON | prefix_char}参...原创 2020-03-19 14:02:17 · 753 阅读 · 0 评论 -
set feedback on
set verify(或ver)on/off可以设置是否显示替代变量被替代前后的语句。set feedback有三种方式:set feedback onset feedback offset feedback n默认的当一条sql发出的时候,oracle会给一个反馈,比如说创建表的时候,如果成功,命令行会返回类似:Table created的反馈,又比如执行一个pl/sql成功的时候...原创 2020-03-19 14:00:49 · 728 阅读 · 0 评论 -
Oracle 11gR2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤
Oracle11gR2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤运行测试环境:数据库服务器Oracle Linux 5.8 + Oracle 11g R2数据库相关工具:PL/SQL软件(连接Linux下的Oracle数据库),SecureCRT软件(远程连接Linux服务器)详细步骤:1、连接上Linux数据库服务器,切换到Oracle数据库...原创 2020-03-03 14:45:41 · 3437 阅读 · 1 评论 -
ORA-28221: REPLACE not specified
SQL> conn iombase/dwf93$6UConnected.SQL> ALTER USER IOMBASE IDENTIFIED BY nbipS5$r;ALTER USER IOMBASE IDENTIFIED BY nbipS5$r*ERROR at line 1:ORA-28221: REPLACE not specified$ oerr ora 282...原创 2020-03-03 14:44:21 · 1210 阅读 · 0 评论 -
Oracle 12C R2-废弃功能-密码验证函数
1说明The VERIFY_FUNCTION and VERIFY_FUNCTION_11G password verify functions have been deprecated for this release.These functions are deprecated because they enforce the weaker password restriction...原创 2020-03-03 11:56:59 · 888 阅读 · 0 评论 -
11g DataGuad正确修改sys密码的方法
一、环境描述database version:11.2.0.4 单实例DataGuard rhel 6.6二、实验过程 主库修改sys密码 SQL>alter user sys identified by oracle321;User altered.SQL> alter system switch logfile;Syste...原创 2020-03-02 16:44:37 · 1097 阅读 · 0 评论 -
使用IDLE_TIME注意事项
需要定时kill非inactive session,一种做法是通过编写脚本or脚本定时运行,从而实现该功能;另外一种方法是通过设置profile中的idle_time来实现该功能,但是这其中有两个细节问题需要注意:1.v$session.status=SNIPED最好做清理,2.未提交事务超时可能强制回滚使用ORACLE PROFILE准备 SQL> CREATE PROFILE ...转载 2020-02-28 17:23:16 · 2055 阅读 · 0 评论