flashback query
flashback query可以查询表的历史记录,至于多长时间是由undo_retention决定的。如果undo的信息没有被overwrite的话,可以查询更长时间。下面是一个用户错误地更改了表的数据,通过flashback query可以得到更改之前...
transparent data encryption
TDE是用来加密保护数据库中的数据文件,为了防止不授权的解密,TDE将加密的key保存在数据外。应用只需要很少的改动或者不需改动就可以使用TDE来处理敏感的数据。Database的用户和应用不需要知道数据在存储时被加密了...
Redo Generation 重做生成
一个逻辑原子数据库改变正常是由俩个或者多个物理块改变组成。这包括数据块,索引块,回滚段块等等。1. Oracle读block到data buffer中,然后改变block中的值。2. 在一个回滚段中找到一个空闲的block,然后写进可以r...
buffer busy wait - file header block
buffer busy wait这个事件表明多个进程正在尝试访问同样的cache buffer中的buffers。class为file header block的buffer busy wait的等待事件表明文件头的块出现争用。环境:SQL> select * from v$version; BA...
删除一个tablespace soedata,发现db hang住了。
删除一个tablespace soedata,发现db hang住了。drop tablespace soedata including contents and datafiles;但是数据库可以连接。SQL> select username,sid,serial#,status,final_blocking_session,seq#,event fro...
direct path write
当一个进程直接写PGA buffer中的数据到磁盘中,而不通过DBWR写SGA的buffer cache。进程等待写完的次数。这些操作有磁盘排序,并行DML操作,direct-path insert,create tableas select, 和一些lob操作。direct-path...
RAC DB转化为single instance DB
这种case很少见,Oracle的文档也没有这方面的资料。但是有时还是需要的。首先将文件从asm系统中移到ext3文件系统中,然后去除rac选项。环境:SQL> select * from v$version 2 ; BANNER---------...
multiple blocks read
multiple blocks read:系统执行并行查询,大表全表扫描,备份恢复时进行multiple blocks reads。一般DSS,数据仓库中发出的大多是multiple blocks reads。统计信息physical read total multi block requests记录的mu...
single block read (二)
/***************************************************************************************/同时运行四个session,每个session读取40000记录,这样运行更长时间来做awr的snapshot:修改iotest.sh文件#!/bin/bash...
single block read
db file sequential read: 单个块读到SGA buffer中db file scattered read:多个块读到不连续的SGA buffer中direct read:单个或者多个块读到PGA中,绕开SGA一个连续读是单块读。如果db_block_size是8k,那么就是读...
latch: cache buffers chains
latch等待的描述:如果一个需求的latch正忙,进程请求,spin,再重试,如果仍然不可用,再spin。这个循环重复次数使用初始化参数_SPIN_COUNT决定的。如果整个循环后,latch还是不可用,进程必须让出cpu占有...
rman备份策略
配置控制文件保留时间为14天,这里的例子是保持7天的备份。alter system set CONTROL_FILE_RECORD_KEEP_TIME = 14 scope=both;配置rman的保留策略为保留7天,这是为了删除多余的备份。具体含义是保留能恢复到7天前...
Oracle 11g数据库异常中断时在线重做日志或回滚表空间时的恢复
1. 在线重做日志文件损坏:在打开数据库时报在线日志文件不存在。SQL> alter database open;alter database open*ERROR at line 1:ORA-00313: open failed for members of log group 1 of thread 1ORA-00312: online...
利用rman duplicate 实施 Data guard
这里是采用了rman来复制standby数据库,发现rman的确非常方便。1. 准备主库 db创建密码文件orapwd file=orapwdbs101 entries=4 password=pass准备参数文件DB_NAME=dbs101 #数据库名,主从数据库是用同一个数据...
实例异常中断后重启动数据库遇到ora-00600[3705]错误不能打开数据的案例
实例异常关闭,重新启动后,出现下列错误:alter database mount exclusiveInformational message:Control file 2 has seq# 1476472, lowest 1476471 file 0 Setting recovery target incarnation to 2Thu Jun 0...
利用latch的hold来模拟database hang
最近碰见一个database hang的情况,但是重启之后就再也没有重现。也没有机会做system state dump。为了重现database hang,查了查metalink,很多都是偶然发生的,有的是老版本的数据库的bug。尝试了几种方法也不能使...
ORA-01000: maximum open cursors exceeded错误
今天遇见java.sql.SQLException: ORA-01000: maximum open cursors exceeded。OPEN CURSOR是指一个session同时打开的cursor数目:1.首先看看哪些session用了最多的cursor。@getnumberopencursor.sqlset linesize 1...
ASM磁盘normal redundancy中坏一个磁盘的模拟测试
环境:Linux Server 5.4, Oracle 11.2.0.2, 单实例这里的测试是参考了ASM hands-on training。1. 创建normal redundancy asm磁盘组CREATE DISKGROUP DATA NORMAL REDUNDANCY FAILGROUP FG1 DISK ...
Oracle从non-Unicode到Unicode的转换
曾经实施过一个Oracle从non-Unicode到Unicode的转换,这里列出主要的步骤:1. Oracle VersionThere are several migration methods to migrate the non-Unicode db to Unicode db for Oracle. the exp/imp is ...
Direct IO&AIO ext3文件系统和ASM文件系统IO测试比较:
环境:Oracle 10.2.0.4 Linux AS 4 Update 7 64 bitNAME &nb...