rebuild index 排序
好贴,http://www.itpub.net/viewthread.php?tid=205422&extra=&page=1 这里摘录整理一下。[@more@]Eagle:rebuild index为何要排序我们都知道索引是有序的存储然而在block内部,实际上索引键值的存储是无序的比如说,你先存入了1,3即使以后增加了一个2那么在同一个数据块内部,数据库也不会去动1,3的存储在读取的时候,oracle可以作简单的块内排序,进行有序的读取输出在重建索引的时候Oracle显然不会按照1,2,3..........的索引顺序来读出索引内容因其代价高昂Oracle实际执行的是Fast Full Scan按顺序读取block这样读取出来的数据需
dataguard ora-01017 ora-16191
ORA-01017: invalid username/password; logon deniedORA-16191: Primary log shipping client not logged on standby[@more@]PRIMARYErrors in file /u01/oracle/admin/shtest/bdump/shtest_arc1_24494.trc:ORA-01017: invalid username/password; logon deniedMon May 26 19:16:08 2008Error 1017 received logging on to the standby------------------------------------------------------------Check that the primary and standby are using a password fileand remote_login_passwordfile is set to SHARED or EXCLUSIVE, and tha
92-10g升级与降级_环境变量_PFILE
DBUA及手工升级,DownGrade,环境变量、PFILE及手工建库脚本。尝试过9.2.0.4,升级为10.2.0.4,降级为9.2.0.6,再手工升级为10.2.0.4----记录一下[@more@]安装数据库9.2并创建数据库(后附环境变量及建库脚本)安装10.2.0.1.0软件以DBUA方式升级:1、在9.2的profile下将主库以升级方式启动SQL> STARTUP UPGRADE;或startup migrate(如果是大版本升级要用这个)2、cd /u01/app/oracle/product/10.2/bin./dbua(在/etc/oratab确认有你要升级的库的SID及HOME信息)提示RA-06553: PLS-213: package STANDARD not accessible 在$oraclehomeRD
理解UNDO表空间
系统可以有多个UNDO表空间,但一个时间点只能一个是Active的。只有在这种情况下会有两上UNDO Active。当原来用一个UNDO,又重新定义一个UNDO,这样还没完成的事务用原来旧的UNDO,后面开始的新事务用新UNDO。[@more@]一个segment 至少要有2个extent,对于8K的block,最多可以有32,765个extent.一个事务只能在一个undo segment,当用完一个extent时,会使用下一个extent,当所有extent用完时,系统会分配更多的extent.但一个undo segment可以让多个事务同时用。当一个事务已经在查询,另一个DML语句产生, UNDO里的数据用来提供一致性查询。插
v$session_Longops
V$SESSION_LONGOPS This view displays the status of various operations that run for longer than 6 seconds (in absolute time). These operations currently include many backup and recovery functions, statistics gathering, and query execution, and more operations are added for every Oracle release.[@more@]To monitor query execution progress, you must be using the cost-based optimizer and you must:Set the TIMED_STATISTICS or SQL_TRACE parameter to trueGather statistics for your objects with the ANALYZ
asmcmd
cd Changes the current directory to the specified directory.du Displays the total disk space occupied by ASM files in the specified ASM directory and all its subdirectories, recursively.exit Exits ASMCMD.find Lists the paths of all occurrences of the specified name (with wildcards)under the specified directory.help Displays the syntax and description of ASMCMD commands.ls Lists the contents of an ASM directory, the attributes of the specified file,or
记录一些问题,还没完全弄明白
记录几个问题[@more@]周一去见了托雷和七公,托雷稳重细心,七公洒脱敏锐。坐了十五的小时的车赶到那儿,一会儿也没歇就开面了,和他们聊了一个小时,被问得几次都回答不上来。七公顺藤摸瓜,我把share pool和Sort area size弄混了还跟他较了一会儿劲,难怪他问是MTS系统吗?一问这个我才弄明白。果然知识还没有形成体系,跟前辈们有很大的差距,以后该更认真地学习了。另外还有这几个问题:1、2T的系统每天产生多少日志?其实我们平常都检查磁盘空间,还真的很少查看一天多少日志。2、powerpath软件的命令行3、快速索引扫描和索引扫描的区
CKPT DBWN LGWR
CKPT每三秒执行一次,看DBWN写到哪个事务,把最后一个完成的事务SCN号更新给datafile和controlfile。并触发LGWR,然后再DBWN。在事务提交时,触发LGWR将logbuffer里的信息就被写到redolog file里面,但没有写到datafile里,要等DBWN写完才有。 REDO LOG file切换时,会触发检查点,用LGWR把已提交的事务写入REDLOG,然后切换.DBWN写相应的DB CACHE BUFFER到datafile.切换的同时触发ARCN写redofile到archivelog,还没写完前redolog 是ACTIVE的,写完后清空redofile.[@more@]
DataGuard physical standby 创建与维护
根据以前做过的一些经验,查阅了些文档,把物理standby完整地总结了一下.[@more@]1 Step by step Creating a Physical Standby Databasephysical standby database ,即直接从主库接受archivedlog然后做基于block的物理恢复,所以physical standby在物理文件一级完全等同于主库。Logical standby database是把主库上传过来的archived log通过logminer技术,解析为sql语句,直接在logical standby上作基于sql的同步。从9iR2开始的默认模式 maximum performace, 采用maximum protection和maximum Availability可以保证数据的零丢失,但代价是如
常见等待事件
statspack wait events 总结 .[@more@]DB file scattered read:经常是全表扫描引起的,检查全表扫描的必要性,试着把小的表cache住避免重复读进,因为全表扫描放在LRU的最近最少使用端。1、 DB File Sequential Read:一般是单个块读,如索引读等。在事务多的系统中正常会偏高。确认索引读的必要性, 调整DB_CACHE_SIZE。一般是较差的表连接顺序、低效率的索引。2、 Free Buffer:系统内存在等待空闲的buffer。如果已SQL调优,需增大DB_BUFFER_CACHE。可能特定的SQL引起数据占用大量BUFFER,一般是大量的DML操作产t生,而DBWR写得不够快。可
静心修练oracle
工作两年多了,现在在Oracle数据库,主机(IBM/HP/DELL)、网络(switch/firewall/router..)存储(盘阵/磁带机)、备份(TSM/BACKEXEC)都有涉及,平时有好多平台的RAC,DG等项目,年初项目较少,该更深入地研究Oracle管理了。[@more@]
Flashback Query 针对DML误操作的恢复
Flashback Query的应用-------------针对DML误操作的恢复 用DBMS_FLASHBACK包摘自:http://www.wangchao.net.cn/bbsdetail_579197.html[@more@] DBMS_FLASHBACK 包提供了以下几个函数: ENABLE_AT_TIME:设置当前SESSION 的闪回查询时间 ENABLE_AT_SYSTEM_CHANGE_NUMBER:设置当前SESSION的闪回查询SCN GET_SYSTEM_CHANGE_NUMBER:取得当前数据库的SCN DISABLE:关闭当前SESSION 的闪回查询 如: SQL> select dbms_flashback.get_system_change_number from dual; GET_SYSTEM_CHANGE_NUMBER ---------
LGWR DBWR SMON 等进程说明
来自http://bbs.51cto.com/thread-27122-1-1.html先记一下.[@more@]PMON进程:该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释放该进程所使用的资源。例:它要重置活动事务表的状态,释放封锁,将该故障的进程的ID从活动进程表中移去。PMON还周期地检查调度进程(DISPATCHER)和服务器进程的状态,如果已死,则重新启动(不包括有意删除的进程)。 PMON有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。 SMON进程:该进程实例启动时执行实例恢复,还负责清理不再使用的临时段。在具有并行服务器选项的环
statspack安装记
windows10g R2 安装记录[@more@]1、 安装statspack 包都在oraclehome/rdbms/admin里 Cmd Sqlplus / as sysdba; @D:oracleproduct10.2.0db_1RDBMSADMINspcreate.sql 输入perfstat的密码 定义默认表空间 (如直接回车用temp,没有temp会自己建) 定义临时表空间 (如直接回车用temp,没有temp会自己建) SQL> Rem cdialeri 02/16/00 - 1191805 SQL> Rem cdialeri 11/01/99 - Enhance, 1059172 SQL> Rem cgervasi 06/16/98 - Remove references to wrq SQL> Rem cmlim 07/30/97 - Modified system events SQL> Rem gwood.uk 0
oracle 10g r2 ASM RAC on aix
前段时间写的,更新一下.两节点,IBM p570+DS4800DS4000系列盘阵都是一个控制器单连一个光纤交换机,不支持交叉连线。[@more@]第一章 Oracle软件RAC安装1.1 环境准备1.1.1 AIX系统环境1.1.1.1 创建rootvg 的镜像² .添加新硬盘到rootvg#extendvg rootvg hdisk1² 镜像rootvg#mirrorvg rootvg hdisk1² 重新生成 boot image#bosboot -ad /dev/hdisk0² 更新bootlist#bootlist -m normal hdisk0 hdisk1 (因为cd0是共用的,所以不能在bootlist里面)² 重起系统#shutdown –Fr1.1.1.2 设置网卡名称一致netstat –in把en2
ASM 知识详解
ASM 知识详解做了几次RAC,最近复习了一下ASM相关知识,总结了一下。[@more@]一、ASM概述ASM 的实现要创建一个普通的ORACLE实例,其中参数INSTANCE_TYPE=ASM被设置为数据库驻留的节点上某个ASM的值。该实例并没有相关的数据库,而只是用来管理被数据库访问的磁盘。ASM可以创建一个或多个磁盘(通常是RAW格式,标准的NFS存储也可以)组成的ASM磁盘组。在组里可以存放所有的ORACLE文件,如spfile,controlfile,redolog,datafile。并且在1MB的大小区间中存放文件,尽管有很多磁盘是可用的。区间的大小是1M,这对于除控制文件和日志文件之外的文件
oracle自动备份,保存每天备份日志的脚本编写
TSM调用的一个脚本,通用,也可手工执行。[@more@]自动备份脚本编写,TSM:sched.bat的内容:rman cmdfile=z:TSM_scriptfull.cmd msglog=z:TSM_scriptTSM_baklogrman_full_baklog%date:~4,6%.logfull.cmd:connect target sys/****run {allocate channel t1 type 'sbt_tape' parms 'ENV=(tdpo_optfile=C:Progra~1TivoliTSMAgentOBAtdpo.opt)'; backup format '%d_full_%t_%s_%p' database include current controlfile;sql 'alter system archive log current';backup archivelog all delete input; release channel t1;}incr1.cmd:connect ta
查看数据库大小的通用命令:
一个新的数据库,exp出来才90多M,看了一下数据库大小,1.9G.[@more@]SQL> conn sys/**** as sysdba;已连接。SQL> SELECT A.DF "Data Files Size in MB"2 ,B.TF "Temp Files Size in MB"3 ,C.LF "Log Files Size in MB"4 ,A.DF+B.TF+C.LF "Total Size"5 FROM (SELECT SUM(BYTES/(1024*1024)) DF6 FROM DBA_DATA_FILES ) A,7 (SELECT SUM(BYTES/(1024*1024)) TF8 FROM DBA_TEMP_FILES ) B,9 (SELECT SUM(BYTES/(1024*1024)) LF10 FROM V$LOG ) C;Data Files Size in MB Temp Files Size in MB
TSM+RMAN 自动备份脚本 on aix
mslog语句试了好久,终于可以正常使用了,每天都会产生带当天时间的文件名作为备份日志。`date`是左上角的引号哦![@more@]schedule_full.shCMDFILE=/home/oracle/tsm_script/bak_full.shLOGFILE=/home/oracle/tsm_script/baklog/full_baklog_`date +%y%m%d`.logrman cmdfile $CMDFILE msglog $LOGFILEbak_full.shconnect catalog rman/rman@rmanlogconnect target / run {allocate channel t1 type sbt send 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';backup format 'orcl_full_%T_%t_%U'database;sql 'alter
install oracle 10gr1 on linux
参考文章:[@more@]在Redhat Enterprise Server 4上安装Oracle10g的过程,分成两部分,第一部分为安装rhel4,第二步分为安装oracle 10g。 这个安装文档是针对在Vmware上的虚拟系统上进行编写的,有些地方可能和在真正系统上的安装存在不同,如需获得更多的安装文档请访问官方网站上的文档。 下面首先介绍一下我的机器上的运行环境 硬件系统:Memory 768MB,CPU P4 1.9,hard-disk (free 10GB ) 软件系统:中文windows xp professional,Vmware workstation 4.52 build-8848 安装媒体介质:RHEL 4总共4个iso文件;Oracle 10g for linux_32