Oracle 日常管理
文章平均质量分 83
Sharing technology with others is the greatest happiness.
富士康质检员张全蛋
人生实难,唯有自渡。只有接受了真实现的现状和真实的自己,调整好心态,才能脚踏实地的活着,然后去发现角落处的那些惊喜和美好,去相信一切苦难困境都会过去!“即使身处阴沟,也要记得仰望星空”。
展开
-
Oralce 执行计划
执行计划� SQL语句访问和处理数据的方式 下面这张乱七八糟的图就是说,一条SQL语句从开始到结束可能要走好多条路。执行计划--数据的访问 � 直接表的访问– 并行– 多数据块...� 通过索引访问– index unique scan– index range scan–index full scan–index fast full scan– index skip scan ...原创 2018-10-01 10:30:09 · 836 阅读 · 0 评论 -
Oracle latch: cache buffers chains
buffer cache深度分析之buffer cache的优化 buffer cache的等待事件 与buffer cache相关的等待事件包括:latch free、buffer busy waits、free buffer waits。曾经发生过的等待事件可以从v$system_event(一个等待事件对应一行记录)和v$session_event(一个session一个等待...原创 2018-09-20 15:54:04 · 1579 阅读 · 0 评论 -
Oracle Latch
Latch在数据库层里面业务层面是看不到的,不像锁是可以感知到的,比如一个会话被谁锁定了被谁阻塞住了。�LOCK– enqueue:队列,其实就是锁,也就是业务层面的阻塞。enqueue实际上就是队列,要求进程排队使用资源的会话排队–latch Latch的目的 �保证资源的串行访问:– 保护SGA的资源访问– 保护内存的分配�保证执行的串行化:– 保护关键资源的串行执...原创 2018-09-18 21:43:08 · 1378 阅读 · 0 评论 -
Oracle 锁(2)
RI锁---基于引用关系的锁定 � 当对具有主外键关系的表做DML操作时,锁定不单单发生在操作表上,相应的引用表上也可能加上相应的锁定。 (当含有主外键的表进行DML操作的时候也会产生锁定,比如在1主表上面做一些操作可能导致从表造成锁定)SQL> create table p(id int primary key);Table created. SQL> creat...原创 2018-09-18 16:33:14 · 399 阅读 · 0 评论 -
Oracle-锁机制(1)
性能优化一般是指系统缓慢,只有系统缓慢了才需要优化,一般有两种情况,一种是系统的资源严重不足,比如CPU耗尽了,或者I/O到了瓶颈了,由于系统的资源被耗尽导致系统性能无法再提升。另外一种情况就是阻塞,这个系统的资源使用并不高,为什么程序跑的特别慢,这种情况通常是阻塞导致的,并不是资源处理不过来。当真的是系统资源枯竭了,那么只能扩充系统的硬件性能,由于系统阻塞导致的这个就和业务设计有关系了,这样...原创 2018-06-03 11:26:10 · 2248 阅读 · 0 评论 -
Oracle SYSAUX表空间清理
SYSAUX表空间满了很大的一部分原因是AWR报告造成的,下面是转载别人的博客如何处理AWR报告 一. AWR 概述之前整理过一篇AWR 的说明的文档:Oracle AWR(Automatic Workload Repository) 说明 http://blog.csdn.net/tianlesoftware/article/details/4682300 从Orac...转载 2018-12-21 16:14:00 · 2844 阅读 · 0 评论 -
Oracle AWR报告类型
SQL>@$ORACLE_HOME/rdbms/admin/awrrpt.sql SQL>@$ORACLE_HOME/rdbms/admin/awrrpti.sql 如果一个节点DOWN机了,那么可以从另外一个节点等上去运行这个脚本做,DOWN机节点的AWR报告SQL>@$ORACLE_HOME/rdbms/admin/awrddrpt.sql 相同实例,不同日期的2个时间...原创 2018-07-03 09:23:45 · 462 阅读 · 0 评论 -
Oracle-单实例静默安装
静默安装Oracle11G总体步骤如下:1:查看文件(在/database/response下面) cd database/response/ ll dbca.rsp db_install.rsp netca.rsp(静默安装数据库主要需要的就是这是三个文件,一个文件是用来安装数据库软件的,一个是用来配置监听的,一个是用来dbca创建数据库的,在每次使用这些文件的...原创 2018-06-13 16:26:31 · 1379 阅读 · 0 评论 -
Oracle-OSW性能监控工具
参考:http://www.savedba.com/?p=591OSWatcher Black Box, 简称OSW,是oracle提供的一个小但是非常有用的工具,它通过调用OS自己提供的命令来记录OS运行时的一些性能参数,比如CPU/Memory/Swap/Network IO/Disk IO相关的信息。OSW工具的部署:建议部署在root或者非oracle用户下 安装:原创 2018-04-19 09:30:19 · 10867 阅读 · 0 评论 -
Oracle flashback
在oracle进行闪回的时候分为了很多级别。有数据库级别的,表级别的,和事务处理级别的。对于数据库级别来说,当truncate一个表的时候,误操作删除了一个表。由于是truncate操作,属于DDL操作,是没有任何办法进行回退的。这个时候就需要使用闪回技术了。就要靠闪回日志来闪回了。 如果误删除了一个表,只要用户开启了回收站功能,每当用户不小心删除一个表以后,这个表不会直接被删除掉,表原创 2017-12-29 14:57:11 · 402 阅读 · 0 评论 -
Oracle归档日志满了怎么办
归档满了如果服务器进不去查看pfile文件,在pfile文件里面有归档除存放的路径*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' 如果服务器本地可以进去,就可以查看归档目录SQL> archive log list;Database log mode Archive Mod...原创 2017-12-27 16:27:20 · 20231 阅读 · 0 评论 -
Oracle undo表空间概述
普通表空间就是在表空间里面建立表,建立好表以后对应的就是段,建立段以后oracle就会为其分配区,分配区以后段里面就有了空块,然后就可以在里面插入数据,当一个区分配完以后又借着分配另外一个区。在oracle安装完成有一个默认的undo表空间,这个表空间在某种意义上来说和普通表空间相似,里面也是有redo段的,既然有段那么就有段,区,块。Undo表空间的undo段是自动生成的,自动有一堆undo原创 2017-12-27 08:59:18 · 936 阅读 · 0 评论 -
Oracle控制文件丢失怎么办
Oracle的控制文件丢失怎么办如果有文本备的份控制文件就可以使用文本备份的控制文件SQL> ALTER DATABASE BACKUP CONTROLFILE TO traceAS‘路径/文件名’; SQL> alter database backup controlfile to trace as '/oracle/cont.txt';在文本控制文件里面有这些内容,如果原创 2017-12-25 20:19:15 · 986 阅读 · 0 评论 -
Oracle实例恢复
实例恢复会在数据库没有安全关闭的情况下会发生,在数据库shutdown abort和数据库异常down掉,或者断电会发生实例恢复。实例恢复的原因就是,在数据库down掉那一刻,有部分修改过的数据没有写到磁盘上面,虽然数据在内存里面丢掉了,但是redo写到磁盘上面了,所以实例恢复用redo将丢掉的数据恢复,那么数据库就恢复了,就可以打开了。 在出现掉电这种情况,可能连实例恢复都恢复不了,虽然原创 2017-11-11 22:58:55 · 2926 阅读 · 0 评论 -
Oracle SGA区
像很多数据库如db2,mysql等等都是关系型数据库。但是他们也有区别,区别就在数据库的架构上面。整个Oracle来讲就两个部分,一部分是实例(由两部分构成,一部分是里面的内存结构由sga和Pga构成。SGA全称为system gloable area,系统全局区域,也就是说在SGA区里面放的是共享的,全部的人都可以看到的数据。只有这一类的数据会放到SGA区里面。PGA是某个会话独有的数据原创 2017-11-07 09:30:20 · 1873 阅读 · 0 评论 -
Oracle表空间
表空间是数据库的逻辑组成部分,从物理上来讲,数据库的数据存放在数据文件中;从逻辑上讲,数据库是存放在表空间中,表空间是由一个或是多个数据文件组成。从物理角度看表里面所有的数据都是放在数据文件里面,在数据库里面所有的东西都是以文件的方式存放的,但是在管理的时候却是以表空间的形式进行管理。从图上可以看出,从物理的角度来看表是存放在数据文件里面的,即表里面的数据都是放在数据文件里面的原创 2017-10-26 10:20:03 · 398 阅读 · 0 评论 -
Oracle数据文件
三类表空间对应的文件都是数据文件,如何查看数据库有哪些表空间以及数据文件。SQL> select file_name,tablespace_name from dba_data_files;临时表空间是用来进行数据排序的。每一个Oracle数据库都是由三种类型的文件组成:数据文件(Data File)、日志文件(Log File)和控制文件(Cont原创 2017-09-09 17:48:24 · 1134 阅读 · 0 评论 -
oracle控制文件
控制文件作用(1)它包含数据文件,在线日志文件,归档文件信息,这些文件信息用于数据库open的文件验证。 当数据库的架构改变时,比如增减,删除文件时,会更新控制文件。(2)包含了数据库恢复时需要的一些信息,用于数据库的恢复 因为控制文件里面包含了很多信息数据库打开的时候会验证一系列的信息保证打开的数据库是一个正常完整的数据库,所以需要对各种数据进行验证。这些文件就是放在原创 2017-09-07 09:24:24 · 4082 阅读 · 0 评论 -
oracle参数文件
Orcale有四种数据文件。一类是参数文件,控制文件,数据文件,日志文件。参数文件是用来约束oracle实例一种行为的参数。可以设置数据库内存,以及并发数目。总而言之参数文件就是控制实例行为的文件。实例就是oracle的一个进程+内存。为什么会有实例呢,因为对于大型的数据库来讲是由很多很多的用户在链接数据库的。为了保证这些用户有条不紊的互不干涉的使用数据库的文件那么就需要一原创 2017-09-06 10:18:07 · 829 阅读 · 0 评论 -
Oracle 杀死INACTIVE,SNIPED会话
下面是模拟出产生SNIPED会话,以及如何杀死会话避免生产环境连接数超过最大连接数,同理杀死INACTIVE会话原理一样。 (1)现在在主机database1上面连接远程database2上面的库,使用test用户登入。[oracle@Database1 dbs]$ tnsping database2 TNS Ping Utility for Linux: Version...原创 2018-08-21 16:17:08 · 1541 阅读 · 0 评论 -
Oracle 监听SQLNET.EXPIRE_TIME
在这边数据库加固有如下一个加固项,使用SQLNET.EXPIRE_TIME可以来断开在session里面超时的状态为inactive的连接。检查是否设置超时时间注意事项及影响:作用:非活动会话超过10分钟,连接断开 该项需要与业务侧确认是否可以操作 对于11g (如果有grid)只加固ORACLE用户下的sqlnet.ora ,如果没有则创建 该项加固后,可能在alert 文件...原创 2018-08-01 14:55:59 · 20963 阅读 · 0 评论 -
Oracle TCP.VALIDNODE_CHECKING 监听限制IP登陆
使用tcp.validnode_checking允许、限制机器访问数据库,在$OREACLE_HOME/network/admin下直接修改sqlnet.ora文件,增加如下内容:tcp.validnode_checking=yes#允许访问的iptcp.invited_nodes=(ip1,ip2,……)#不允许访问的iptcp.excluded_nodes=(ip1,ip2,……)...原创 2018-07-31 10:36:45 · 2236 阅读 · 0 评论 -
Oracle 控制文件的重建
通过重建控制文件可以快速的进行数据库的恢复 SQL> alter database backup controlfile to '/tmp/control_2018_11_30.bk'; Database altered. SQL> show parameter control; NAME TYPE VALUE-----------...原创 2018-12-04 21:37:36 · 2711 阅读 · 0 评论 -
Oracle 控制文件多元化02
控制文件记录了整个数据库的物理结构,其次通过控制文件保证数据库的一致性。控制文件就像人体大脑的存储体,如果数据库没有了控制文件,虽然数据还在,但是无法访问了。 Oracle数据库可以创建多个数据文件,当往控制文件里面写入内容的时候同时会更新这几个控制文件,所以每个控制文件记录的内容是一致的,所以当一个控制文件损坏了可以通过另外一个控制文件恢复,通过拷贝的方式。所以控制文件多元化对于数据库来...原创 2018-12-02 22:43:52 · 413 阅读 · 0 评论 -
Oracle 手工建库第三步 创建数据字典
在手工建库完成之后,即通过create database建立了数据库启动到open状态,数据库是不存在数据字典的,需要创建数据库的数据字典。这个时候就要通过数据库脚本来创建数据字典表。数据字典表都是一些只读的表,可以通过数据字典表去查询创建相关对象的信息,比如创建一张表,这张表里面有什么字段,表叫什么名字,这些等信息要通过数据字典表来查询到。数据字典表对于用户来说是只读的,是由...原创 2018-11-29 10:57:54 · 1970 阅读 · 0 评论 -
Oracle 控制文件多元化01
控制文件的多元化 (1)控制文件记录了整个数据库的物理结构(2)通过控制文件所记录的检查点来保证数据库的一致性所以控制文件对整个oracle来说是非常重要的,如果在建库的时候只创建了一个控制文件,那么就需要控制文件的多元化来保证数据库的高可用性。 如果实例是通过pfile启动,先将实例关闭,然后修改pfile里面控制文件的路径,然后通过旧的控制文件去复制新控制文件,复制后新...原创 2018-11-29 10:54:20 · 500 阅读 · 0 评论 -
Oracle 手工建库第二步 创建databse
将instance启动到nomount状态就可以创建数据库了,通过create database来手工来创建数据库了,这里要写一个脚本,这个脚本相对比较复杂,不建议直接编写,可以通过oracle官方文档来找到相应的信息,然后修改过后拿来使用。将官方文档上面的内容复制过来,将其进行修改。[oracle@Database2 dbs]$ cd /home/oracle[oracle@D...原创 2018-11-23 14:56:52 · 494 阅读 · 0 评论 -
Oracle 手工建库第一步 创建instance
其实在很多环境下是无法打开图形界面的,那么创建数据库只能通过手工的方式来创建。手工建库可以分为三部分:先创建实例,口令文件将数据库启动到nomount状态(1)创建初始化参数文件pfile首先确定数据库名,然后生成pfile文件。先进入到$ORACLE_HOME/dbs下面,pfile文件应该放在该目录下面。在Oracle软件安装好之后在该目录下面会自动的生成...原创 2018-11-21 09:08:17 · 1382 阅读 · 0 评论 -
Oracle instance启动
在nomount的时候需要去读取初始化控制文件pfile,spfile将实例启动到nomount阶段。在mount状态下需要去读取控制文件,在mount阶段可以访问一些动态性能视图,也可以做备份。从mount到open,控制文件记录了整个数据库的物理结构,在open的时候根据控制文件的记录去检查数据文件和redo日志的一些具体位置,必须保证每一个数据文件,每一组日志都能正常的去访问,之后还...原创 2018-11-19 15:19:31 · 1358 阅读 · 0 评论 -
Oracle spfile
初始化参数文件spfile:是一个二级制文件,不能编辑,默认是放在$ORACLE_HOME/dbs下面,可以通过使用alter system来修改spfile里面的参数。 spfile文件是不可以编辑的,编辑了会损坏,但是可以使用strings来查看里面内容。[oracle@Database2 dbs]$ strings spfileoradb.ora | moreoradb.__...原创 2018-11-16 16:11:13 · 859 阅读 · 0 评论 -
Oracle pfile
Pfile和实例的启动有密切关系的。 数据库启动分三个阶段:(1)在nomount状态的时候会给实例分配相应的内存和启动后台进程,内存的参数需要获得相应的大小,这些大小从spfile里面去获取(初始化参数文件,pfile和spfile),有一些是oracle内部的默认值,还有一部分是手工配置的。(读取参数文件)(2)在nomount状态进入到mount状态,mount状态需要读取控...原创 2018-11-14 09:20:41 · 615 阅读 · 0 评论 -
Oracle 手工建库
为了手工创建数据库,先使用DBCA将之前的数据库删除。 如果在删除数据库的时候delete database选项是不可选的说明/etc/oratab是由问题的。 [root@localhost lu]# cat /etc/orataboradb:/u01/app/oracle/product/11.2.0/db_1:Y这个文件是在创建数据库实例时建立的,需要...原创 2017-11-29 08:59:55 · 1166 阅读 · 0 评论 -
Oracle v$SYSSTAT
下面都是截取别人的博客的: 摘要: V$SYSSTAT中包含多个统计项,这部分介绍了一些关键的v$sysstat统计项,在调优方面相当有用。下列按字母先后排序: 数据库使用状态的一些关键指标: CPU used by this session:所有session的cpu占用量,不包括后台进程。 V$SYSSTAT中包含多个统计项,这部分介绍了一些关键的v$sysst...转载 2018-10-19 11:20:24 · 735 阅读 · 0 评论 -
Oracle log file sync原理详解
串⾏到并⾏, Slave进程的引⼊1 单库并⾏优化: LGWR->LGnn 在单实例的数据库当中主要是通过LGWR的进程的slave进程LGNN来实现的。 1、LGWR的作⽤:将redo buffer里面的内容写入到redo file里面,在单实例的数据库里面只有一个LGWR进程,当一个系统事务非常繁多的时候,如果这个时候只有一个LGWR进程进行写就会处于各种等待...原创 2018-08-30 21:55:00 · 3642 阅读 · 0 评论 -
等待事件 log buffer space(日志缓冲空间)
log Buffer Space-日志缓冲空间当数据库产生日志的速度比 LGWR 的写出速度快,或者是当日志切换( log switch)太慢时,就会发生这种等待。这个等待出现时,通常表明 redo log buffer 过小, 为解决这个问题,可以考虑增大日志文件的大小,或者增加日志缓冲区的大小。另外一个可能的原因是磁盘 I/O 存在瓶颈,可以考虑使用写入速度更快的磁盘。在允许的条件下...转载 2018-07-02 16:33:33 · 5960 阅读 · 0 评论 -
Oracle 概要文件 Profile
概要文件的作用概要文件是口令限制和资源限制的命名集合,是 Oracle安全策略的重要组成部分,利用概要文件可以对数据库用户进行口令管理和资源限制。例如使用概要文可以指定口令有效期、口令校验函数、用户连接时间以及最大空闲时间等。概要文件具有以下一些作用:• 限制用户执行消耗资源过度的SQL操作。• 自动断开空闲会话。• 在大而复杂的多用户数据库系统中合理分配资源。• 控制用户口令的使用。...原创 2017-12-26 10:12:29 · 3188 阅读 · 0 评论 -
Oracle v$LOCK
为了实现并发,oracle数据库使用了锁机制。要了解锁,首先要了解视图v$lock。v$lock这个视图列出 Oracle 服务器当前拥有的锁以及未完成的锁请求。如果你觉着 session 处于等待事件队列当中,那你应该检查视图v$lock。 v$lock中的常用列有以下列: sid:持有锁的会话SID,通常与v$session关联。 type:锁的类型,其中T...原创 2018-10-17 14:42:39 · 6280 阅读 · 0 评论 -
Oracle V$SESSION_EVENT 和 V$SYSTEM_EVENT
V$SESSION_EVENT 和 V$SYSTEM_EVENT V$SESSION 及 V$SESSION_WAIT 视图记录了活动会话当前正在发生的等待 , 但 是 要 知 道 一 个 活 动 会 话 在 其 生 命 周 期 只 能 可 能 经 历 很 多 等 待 , 这 些 等 待 通 过V$SESSION_EVENT 视图记录。但是需要注意的是,这个视图记录的是累积信息,同一会话...转载 2018-10-08 14:20:20 · 1110 阅读 · 0 评论 -
Oracle v$sql,v$sqlarea,v$sqltext区别
v$sqltext中有内存中完整的sql语句(SQL被分割为多行存储),而其他两个视图都是部分sql语句。但v$sqltext中存储的比较简单,没有该语句的统计信息,比如执行次数等。v$sqltext 的字段如下: ADDRESS RAW(4 | 8) Used with HASH_VALUE to uniquely identify a cached cursor H...转载 2018-09-30 14:58:06 · 6960 阅读 · 0 评论 -
Oracle v$SQLAREA
v$sql与v$sqlarea基本相同,记录共享sql区(share pool)中sql统计信息,如内存消耗、IO(物流磁盘读和逻辑内存读)、排序操作、哈希ID等数据。不同之处在于v$sql为每一条sql保留一个条目,而v$sqlarea中根据sql_text进行group by,统计列进行sum(),通过version_count计算子指针的个数。 sql_text相同的sq...转载 2018-09-30 14:33:51 · 12191 阅读 · 0 评论