采用在现有数据库中安装grid control 10.2.0.4 之五
通过现有数据库环境,安装oracle grid control 10.2.0.4,对安装步骤做了详细说明。[@more@]3 升级gc 10.2.0.1到gc 10.2.0.43.1 准备gc 10.2.0.4安装包1、otn下载GridControl_10.2.0.4_LINUX.zip安装包解压后的文件说明: This will extract following files and directory: |- p3731593_10204_<platform name>.zip #升级文件 |- 3731596.zip #升级gc agent 10.1.0.4.0到最新agent版本 |- 3822442.zip #升级gc agent 10.1.0.4.0到最新agent版本 |- p4329444_10104_< platform name >.zip (will not be
采用在现有数据库中安装grid control 10.2.0.4 之四
通过现有数据库环境,安装oracle grid control 10.2.0.4,对安装步骤做了详细说明。[@more@]提示以root用户执行$OMS_HOME/allroot.sh运行配置助手:这一步需要较长时间,如果configure报错,检查相应的安装日志,排除错误后,点“retry”。提示grid control 10.2.0.1安装成功。
采用在现有数据库中安装grid control 10.2.0.4 之三
通过现有数据库环境,安装oracle grid control 10.2.0.4,对安装步骤做了详细说明。[@more@]开始安装oms、oma。安装oms,进行到93%时会报错,这是oracle的bug,缺少/usr/lib/libdb.so.2文件,处理方式有两种:1)# ln -s /usr/lib/ibgdbm.so.2.0.0 /usr/lib/libdb.so.2 或2) 打 Patch 6078836完成后,在终端窗口中执行:opmnctl status #查看gc相关进程是否启动了,如果显示:Processes in Instance: EnterpriseManager0.orcl1-------------------+--------------------+---------+---------ias-component | process-type |
采用在现有数据库中安装grid control 10.2.0.4 之二
通过现有数据库环境,安装oracle grid control 10.2.0.4,对安装步骤做了详细说明。[@more@]4)通过oui安装gc Unzip gc_102011_linux.zip如果之前已安装过GC,需要编辑/etc/oratab文件,删除和gc相关的条目,并删除$ORACLE_BASE/oraInventory下内容。$ runInstaller图形界面中,GC安装目录选择$ORACLE_BASE /product/10.2.0/gc_1设置现有数据库信息,及omr要使用的两个管理表空间的存储路径点Next:可能会碰到“the value of sgatarget is {0}, it must be equal to or greater than 268435456”错误,这是因为sga_target<260M,需要对s
采用在现有数据库中安装grid control 10.2.0.4 之一
通过现有数据库环境,安装oracle grid control 10.2.0.4,对安装步骤做了详细说明。[@more@]1 安装环境及步骤概述1.1 安装环境由于系统资源有限,oms和omr安装同一台服务器,并且omr采取安装到已存在的数据库。现有数据库版本: 10.2.0.4操作系统环境: 版本: redhat as 5.4 Hostname: orcl1 Ip: 192.168.155.5 现有数据库环境:ORACLE_BASE: /u01/app/oracle/ ORACLE_HOME: $ORACLE_BASE/product/10.2.0/db_1 ORACLE_SID: orcl1 Db_name: orcl11.2 安
通过dbms_utility实现对rdba的转换
利用dbms_utility,根据rdba得到块所在的数据文件编号和块编号[@more@]1、Dump block得到rdbaSql> alter system dump datafile 7 block min 12 block max 12;Start dump data blocks tsn: 8 file#: 7 minblk 12 maxblk 12buffer tsn: 8 rdba: 0x01c0000c (7/12)2、通过rdba得到块所在的数据文件及块的编号。Select to_number('01c0000c','xxxxxxxxxxxxxxxxxx') from dual;29360140得到文件编号:SQL> select dbms_utility.data_block_address_file(29360140) from dual;DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE(29360140)------------
使用BBED修改块
通过BBED修改块,并同RMAN实现块级恢复[@more@]1、bbed创建坏块1) 准备测试表空间Create tablespace ts2 datafile '$ORACLE_BASE/ts2.dbf' size 5m;Alter user hr quota unlimited ts2;Conn hr/hrCreate table t1 (id int, name varchar2(20));Insert into t1 values(1, '390');2)定位表记录的存储位置Select file_id,extent_id,block_id,blocks from dba_extents where segment_name='T1' and owner='HR'; FILE_ID EXTENT_ID BLOCK_ID BLOCKS---------- ---------- ---------- ---------- 7 0 9
常规检查点和增量检查点
比较常规检查点和增量检查点的区别[@more@]1、常规检查点(完全检查点)Oracle 8之前采用。 在buffer cache中,通过dirty list(脏块列表)管理修改过的buffer,buffer在dirty list上无序排列,并且由于buffer被不断地修改,在列表上的位置会不断变化,ckpt触发时,需要将所有dirty buffer写入磁盘,并且将检查点信息记录到控制文件和数据文件头部。会带来很大的I/O压力。2、增量检查点Oracle 8及之后版本采用。增加checkpoint queue,将dirty buffer记录到checkpoint queue,并按照low rba()第一次对该buffer进行修改的redo byte addre
数据库启动过程中,检查点和SCN的研究
分析数据库启动过程中检查点和SCN的一致性,来决定是否对数据文件进行恢复。[@more@]1、验证规则启动过程检测的步骤:1)比较控制文件和数据文件头中checkpoint cnt的数量是否一致,如果一致,继续下一步。2)比较控制文件中的stop scn和数据文件头开始scn是否一致,如果一致,说明数据文件吧需要恢复。2、验证不需要恢复的情况Sql> startup mountSql> alter session set events 'immediate trace name controlf level 8'; #Dump controlfileSql> alter session set events 'immediate trace name file_hdrs level 10'; #dump
创建asm目录
采用ASM,有时不想使用OMF,而是想将文件放到ASM磁盘组指定目录下,可以手工创建ASM磁盘组目录[@more@]1、 创建asm目录Export ORACLE_SID=+ASMSQL> select name from v$asm_diskgroup;NAME------------------------------DG1创建目录orcl:Alter diskgroup dg1 directory ‘+dg1/orcl’;创建子目录:Alter diskgroup dg1 directory ‘+dg1/orcl/controlfile’;Alter diskgroup dg1 directory ‘+dg1/orcl/datafile’;Alter diskgroup dg1 directory ‘+dg1/orcl/onlinelog’;2、在指定目录下创建测试表空间Export ORACLE_SID=orclSql&g
使用RMAN恢复asm存储上的表空间
使用RMAN恢复asm存储上的表空间[@more@]1、 1) 创建测试表空间Sql> create tablespace ts1 datafile '+DG1/orcl/DATAFILE/ts1.dbf' size 10m;2)rman备份ts1Rman> backup datafile '+DG1/orcl/DATAFILE/ts1.dbf' format ‘$ORACLE_BASE/ts1.dmp’;3、 3) 删除ASM文件,模拟表空间所在介质错误e $ export ORACLE_SID=orclSql> alter tablespace ts offline;Export ORACLE_SID=+ASMSql> alter diskgroup dg1 drop file '+dg1/orcl/datafile/ts1.dbf';4、 4) 恢复表空间RMAN> run { sql 'alter tablespace ts1 offline
移动sysaux表空间中的组件
为减少sysaux表空间占用,可以将sysaux上的组件移动到其他表空间。[@more@]查看sysaux表空间上的组件及移动方法:SQL> select occupant_name ,schema_name ,move_procedure ,space_usage_kbyts from v$sysaux_occupants where move_procedure is not null;--------------------------------------------------------------------LOGMNR SYS.DBMS_LOGMNR_D.SET_TABLESPACE将logmnr组件移动到USERS表空间 :Exec dbms_logmnr_d.set_tablespace(‘USERS’) ;
跟踪数据库的启动过程
通过trace文件,跟踪数据库的启动过程[@more@]将数据库启动到nomount阶段,打开10046事件对启动过程进行跟踪。sql> startup nomountsql> alter session set events '10046 trace name context forever, level 12';sql> alter database mount;---trace文件中相应的记录WAIT #3: nam='control file sequential read' ela= 1863 file#=0 block#=3 blocks=8 obj#=-1 tim=1251077602436218WAIT #3: nam='control file sequential read' ela= 252 file#=1 block#=3 blocks=8 obj#=-1 tim=1251077602436503读取控制文件记录。sql> al
关于rdba的研究
system表空间所包含的数据文件头部的root dba对象,实现了数据库启动初期的引导方式[@more@]系统表空间数据文件上存在一个重要的结构root dba,Dump数据文件头:alter session set events 'immediate trace name file_hdrs level 10';得到:DATA FILE #1: (name #11) /u01/app/oracle/oradata/ORCL/datafile/o1_mf_system_64x9jdyq_.dbfcreation size=0 block size=8192 status=0xe head=11 tail=11 dup=1……………….status:0x2004 root dba:0x00400179 chkpt cnt: 166 ctl cnt:165通过dba获取该块所在数据文件和数据块的编号:select db
REDHAT AS5虚拟机 安装oracle 10g rac (六)
描述REDHAT AS5虚拟机上安装oracle 10g RAC的过程[@more@]8 安装数据库runInstaller安装数据库软件。Dbca创建数据库。这两步很少出现问题。完成后,查看cluster状态:crs_stat –tName Type Target State Host ------------------------------------------------------------ora.rac.db application ONLINE ONLINE rac1 ora....c1.inst application ONLINE ONLINE rac1 ora....c2.inst application ONLINE ONLINE rac2 ora....SM1.asm application
REDHAT AS5虚拟机 安装oracle 10g rac (五)
描述REDHAT AS5虚拟机上安装oracle 10g RAC的过程[@more@]7 安装crs7.1 检查crs环境Su - oracle$ clusterware/cluvfy/runcluvfy.sh stage -pre crsinst -n node1,node2 -Verbose7.2 安装crs进入cluster安装目录,运行runInstaller开始安装。在选择ocr、vote文件页面,如果采取ocfs方式设置vote、ocr,可以指定:/ocr/ocr.dbf /vote/vote.dbf采取raw device,指定相应的:/dev/sdn1安装最后阶段,提示在各节点上执行orainstRoot.sh及root.sh,建议按以下顺序执行在 node1 上执行:/opt/ora10g/oraInventory/orainstRoot.sh;在 node2 上执行
REDHAT AS5虚拟机 安装oracle 10g rac (四)
描述REDHAT AS5虚拟机上安装oracle 10g RAC的过程[@more@]6 安装配置oracle asmlib采用asm做共享存储6.1 需要的软件下载地址: http://www.oracle.com/technology/software/tech/linux/asmlib/rhel5.htmloracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpmoracleasm-2.6.18-164.el5-debuginfo-2.0.5-1.el5.i686.rpmoracleasm-2.6.18-164.el5PAE-2.0.5-1.el5.i686.rpmoracleasm-2.6.18-164.el5debug-2.0.5-1.el5.i686.rpmoracleasm-2.6.18-164.el5xen-2.0.5-1.el5.i686.rpmoracleasm-support-2.1.3-1.el5.i386.rpmoracleasmlib-2.0.4-1.el5.i3
REDHAT AS5虚拟机 安装oracle 10g rac (三)
描述REDHAT AS5虚拟机上安装oracle 10g RAC的过程[@more@]5 配置OCFSocr、vote采用ocfs5.1 需要的软件http://oss.oracle.com/projects/ocfs2/ 下载ocfs2-2.6.18-164.el5-1.4.7-1.el5.i686.rpmocfs2-tools-1.4.4-1.el5.i386.rpmocfs2console-1.4.4-1.el5.i386.rpm安装查看包安装目录:rpm -ql ocfs2console-1.4.4-1.el5查看命令所在目录:which ocfs2console5.2 配置ocfs文件系统在rac1上:执行 # ocfs2console --开启图形化窗口Cluster -> configure nodes 添加:名称 ip 端口Rac1 192.168.0.2 7777Rac2
REDHAT AS5虚拟机 安装oracle 10g rac (二)
描述REDHAT AS5虚拟机上安装oracle 10g RAC的过程。[@more@]2 配置共享存储设备编辑/etc/udev/rules.d/60-raw.rules :ACTION=="add",KERNEL=="/dev/sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %M %m"ACTION=="add",KERNEL=="/dev/sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="33"
REDHAT AS5虚拟机 安装oracle 10g rac (一)
描述REDHAT AS5虚拟机上安装oracle 10g RAC的过程。[@more@]1 环境1.1 需要的RPM包Linux内核版本:2.6.18-164.el5 或更高版本所需RPM包:make-3.81-3.el5gcc-4.1.2-46.el5compat-db-4.2.52-5.11.2 建立oracle用户Groupadd oinstallGroupadd dbaUseradd –g oinstall –G dba oracleMkdir –p /u01/app/oraclechown -R oracle:oinstall /u01/appchmod –R 775 /u01/app设置环境变量:umask 022PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/binLD_LIBRARY_PATH=/usr/lib:/usr/X11R6/libORACLE_BASE=/u01/app/oracleORACLE_HOME=$ORACLE_BAS