在线重定义表实验记录(普通表在线重定义为分区表)
从oracle 9i开始,oracle提供了在线重定义表的功能。使用这个功能,可以在不停应用的情况下,修改表的定义,如将普通表修改为分区表,将普通表修改为索引组织表等。下面是将一个普通表修改为分区表的实验过程。总体步骤:1、创建普通表2、向普通表中插入600条记录3、创建中间表4、用在线重定义功能完成普通表到分区表的转换详细操作过程:[@more@]1、创建普通表1.1、创建表普通表的表名称为test,包含两个字段id integer,name varchar2(3)sys@CNHTM> conn scott/tigerConnected.scott@CNHTM> create table test2 (id integer,3 nam
oraInst.loc文件错误导致opatch失败问题的解决
在执行opatch命令的时候报load() gets null oracleHomeInfo错误,详细错误信息如下:[oracle@testdb] /tmp> opatch lsinventoryInvoking OPatch 10.2.0.3.0Oracle interim Patch Installer version 10.2.0.3.0Copyright (c) 2005, Oracle Corporation. All rights reserved..Oracle Home : /oracle/app/10gCentral Inventory : /oracle/PRD/oraInventoryfrom : /etc/oraInst.locOPatch version : 10.2.0.3.0OUI version : 10.2.0.3.0OUI location : /oracle/app/10g/ouiLog file location : /oracle/app/10g/cfgtoollogs/opatch/opatch
Oracle 10G RAC的ocr备份恢复
1、方法1:手动备份ocr及其恢复方法备份:如果不在线备份去掉 -s online[root@rac1 crs]# ocrconfig -export /tmp/ocr_bak.20100126 -s online恢复:恢复要在crs处于关闭状态时进行[root@rac1 crs]# ocrconfig -import /tmp/ocr_bak.201001262、方法2:从自动备份中恢复oracle 10G r2 rac会每4小时自动备份ocr到$CRS_HOME/cdata/crs目录中这个目录中保留每周、每天、当天每4小时的备份检查自动备份的crs [root@rac1 ~]# cd $CRS_HOME/cdata/crs[root@rac1 crs]# ls -ltotal 27936-rw-r--r-- 1 root root 4083712 Jan 26 14:28 backup00.oc
在CentOS Linux 5中为oracle配置hugepage的方法
在Linux中配置hugepage可以提高oracle的性能,减少oracle sga的页交换,类似于aix中的lagepage。下面演示配置hugepage的方法。系统环境:OS:CentOS5 x86Oracle:10.2.0.1配置过程 [@more@]检查hugepagesizeora_test@root[/root]> grep Hugepagesize /proc/meminfoHugepagesize: 4096 kB配置分配hugepage的数量nr_hugepages的计算公式:nr_hugepages>=sga(mb)/Hugepagesize(mb)ora_test@root[/root]> echo 50 > /proc/sys/vm/nr_hugepagesora_test@root[/root]> sysctl -w vm.nr_hugepages=50vm.nr_hugepages = 50ora_test@
在不同机器之间使用rman复制数据库实例,从非asm到asm
下面演示在不同机器之间使用rman复制数据库实例,从非asm到asm的过程。参考:metalink node.382669.11、环境说明:源数据库:主机:host_aip:192.168.0.200os:CentOS 5 x86oracle版本:10.2.0.1sid:cnhtm 使用文件系统目标数据库,要通过复制(Duplicate)生成的数据库:主机:host_bip:192.168.0.100os:CentOS 5 x86oracle版本:10.2.0.1sid:aux 使用asm(数据库实例不存在,需要Duplicate后生成)[@more@]2、操作过程2.1、host_a上使用rman备份数据库ora_test@oracle[/home/oracle]> export ORACLE_SID=cnhtmora_test@oracle[/h
删除Linux非rac环境下的ASM实例
我的一台测试机上运行ASM实例,现在需要测试文件系统的数据库,需要删除ASM实例,下面演示删除ASM实例的过程:环境说明:操作系统:CentOS 5 x86数据库:Oracle 10.2.0.1 非RAC环境ASM实例名:+ASM参考:metalink node:311350.1[@more@]1、检查ASM实例进程ora_test@oracle[/home/oracle]> ps -ef|grep asm|grep -v greporacle 4263 1 0 Jan20 ? 00:00:02 asm_pmon_+ASMoracle 4265 1 0 Jan20 ? 00:00:00 asm_psp0_+ASMoracle 4267 1 0 Jan20 ? 00:00:00 asm_mman_+ASMoracle 4269 1 0 Jan20 ? 00:00:00 asm_dbw0_+ASMoracle 4271 1 0 J
Oracle 在Linux X86上使用超过2G的SGA
在Linux X86上,SGA最大使用2G内存,如果设置超过2G的SGA,会报如下错误ORA-27123: unable to attach to shared memory segment可以通过使用shared memory file的方式使用超过2G的sga。下面演示其过程(RedHat as 4+Oracle 10.2.0.1)[@more@]1、SGA过大的错误演示SQL> alter system set sga_target=3G scope=spfile;System altered.SQL> startup forceORA-27123: unable to attach to shared memory segmentSQL> exitDisconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partit
使用rman在不同平台之间传送oracle asm表空间(transport tablespace)
源:Linux ORACLE 10.2.0.1 RAC 数据文件存在于 ASM目标:AIX 5.3 ORACLE 10.2.0.3,数据文件在文件系统参考:metalink node.371556.1总体步骤:1、准备工作:创建测试表空间、测试用户2、迁移表空间详细过程:[@more@]1、准备工作1.1、在源数据库上创建测试表空间[oracle@rac1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Tue Jan 19 18:20:02 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit ProductionWith th
Oracle 10G RAC中去除asm实例与vip的依赖关系
Oracle 10G rac安装完成之后,如果使用asm,那么默认情况下 asm是依赖于vip的,如果vip因故失效,会导致asm同时失效,在10.2.0.3上这个问题已经得到修复。在metelink上有一个文档(doc:4865736.8),介绍了一个方法接触asm与vip的依赖关系,下面演示器过程:[@more@]1、找到asm资源名称,红色部分为asm资源名称[root@rac1 ~]# crs_statNAME=ora.cnhtm.cnhtm1.instTYPE=applicationTARGET=ONLINESTATE=ONLINE on rac1NAME=ora.cnhtm.cnhtm2.instTYPE=applicationTARGET=ONLINESTATE=ONLINE on rac2NAME=ora.cnhtm.dbTYPE=applicationTARGE
oracle中使用绑定变量的好处的例子
在oracle中,sql语句使用绑定变量能大幅度提高sharpool的利用率,提高sql语句执行的效率,下面用一个很简单的例子演示使用绑定变量和不使用绑定变量的差别。总体步骤如下:1、创建一个很简单的表,只有两个字段,字段类型都为varchar2(5)2、用一个不使用绑定变量的plsql向表中插入10000条记录,记录运行时间3、用一个使用绑定变量的plsql向表中插入10000条记录,记录运行时间4、对比两中方法所用时间多少具体步骤:[@more@]1、创建表scott@CNHTM> create table test(col1 varchar2(5),col2 varchar2(5));Table created.2、不使用绑定变
收集Oracle RAC跟踪诊断信息的几个工具
收集rac的跟踪或诊断信息:1、RDA(remote diagnostic agent)4.2或以上metalink:note.359395.1用来收集操作系统和数据库的诊断信息2、RDA-DDT(RAC diagnostic data tool)metalink:note.301138.1用来收集与rac相关的诊断信息,包含oswatcher3、diagcollection.pl:收集10.2 RAC的诊断信息$cd $ORA_CRS_HOME/bin$./diagcollection.pl --collect将自动创建crsData_.tar.gz,ocrData_.tar.gzoraData_.tar.gz,basData_.tar.gz等文件--end-- [@more@]
CentOS5中实现双机rlogin、rsh无密码通信的一个方法
在安装RAC的时候,需要配置各个节点的互信关系,使rsh、rlogin、rcp等命令不需要输入密码可以操作其他节点。除了按照管法rac安装文档中的方法配置ssh之外,还可以通过修改.rhosts等文件实现互信。在unix(如aix)中,可以简单修改/etc/hosts.equiv实现,但是Linux中比较麻烦,需要一些其他的步骤,下面演示配置方法需要在各个节点上完成如下操作[@more@]1、检查rsh-server包是否已经安装[root@rac1 ~]# rpm -qa|grep -i ^rsh-serverrsh-server-0.17-40.el5如果没有安装使用rpm -ivh 命令安装2、确保/etc/xinetd.d/rlogin中存在disable = n
Linux DBCA 报ORA-12547错误解决方法
RedHat AS 安装完Oracle10.2后,使用DBCA建库报如下错误:ORA-12547: TNS:lost contact在metallink上查询,发现是缺少libaio导致的,解决方法如下:[@more@]1. 退出dbca2. 检查libaio是否安装.[root ~]# rpm -qa | grep -i ^libaio[root ~]#如果显示如上,则需要安装libaio3. 安装libaio检查Linux内核[root /]# uname -aLinux pandora.au.oracle.com 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:32:14 EDT 2005 i686 i686 i386 GNU/Linux安装对应内核的libaiolibaio包可以从网上下载或在redhat安装盘上查找[root /]# rpm -Uvh libaio-0.3.103-3.
Oracle10.2.04 for aix 在收集stats时报ORA-00600 [rworupo.1] 问题的解决办法
Oracle 10.2.0.4 RAC for aix5.3,在其中一个节点上的警告日志中报如下错误:Thread 1 advanced to log sequence 8858 (LGWR switch)Current log# 3 seq# 8858 mem# 0: /dev/rxxx_redo3_01Current log# 3 seq# 8858 mem# 1: /dev/rxxx_redo3_02Thu Aug 20 21:30:41 2009Errors in file /oracle/admin/XXXDB/bdump/xxxdb_j000_679984.trc:ORA-00600: internal error code, arguments: [rworupo.1], [229], [200], [], [], [], [], []Thu Aug 20 21:30:46 2009Errors in file /oracle/admin/XXXXDB/bdump/xxxdb_j000_679984.trc:ORA-00600:
Oracle10.2.0.3 impdp 导入数据报 ORA-39125 in KUPW$WORKER.PUT_DDLS LPX-00007问题解决
Windows平台上的10.2.0.3数据库,当使用impdp命令向数据库中导入数据的时候报如下错误:ORA-39125: Worker unexpected fatal error in KUPW$WORKER.PUT_DDLS whilecalling DBMS_METADATA.CONVERT [TABLE:....]ORA-6502: PL/SQL: numeric or value errorLPX-00007: unexpected end-of-file encounteredORA-6512: at "SYS.DBMS_SYS_ERROR", line 105ORA-6512: at "SYS.KUPW$WORKER", line 6234----- PL/SQL Call Stack -----object line objecthandle number name0x25bd1d0c8 14916 package body SYS.KUPW$WORKER0x25bd
rman 备份中ORA-19809、ORA-19804问题解决
在我的测试环境中使用rman备份数据库的时候,报如下错误(红色部分):oracle@oracle[/oracle]> rman target /Recovery Manager: Release 10.2.0.1.0 - Production on Sat Jan 9 09:42:36 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.connected to target database: CNHTM (DBID=1230089073)RMAN> backup database;Starting backup at 09-JAN-10using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=159 devtype=DISKchannel ORA_DISK_1: startin
oracle 10.2.0.3 dbca建库报Failed to retrieve size of raw device 问题解决方法
Oracle 10.2.0.3 的 RAC环境,操作系统是AIX 5.3,在使用dbca创建数据库的时候,报如下错误:Failed to retrieve size of raw device "/dev/rrac_spfile_512m",exec():0509-036 Cannot load program/oracle/app/oracle/10.2/bin/rawutl because of the fllowing errors:0509-150 Dependent module /oracle/app/oracle/10.2/lib32/libtssh10.a(shr_ttsh10.o) could not be loaded.0509-103 The module has an invalid magic number.".这是因为oracle 10.2.0.3的rawutl文件的一个bug(bug号为:6020638),暂时可因使用10.2.
10G RAC DBCA报错 ORA-27504问题的解决
AIX 5.3+HACMP5.4+Oracle 10G,CRS安装完成之后。执行dbca创建数据库运行到2%的时候,报如下错误:ORA-27504 IPC error creating OSD contextORA-27300 OS system dependent operation sendmsg failed with state 59ORA-27301 OS failed message message too longORA-27302 failed occured at sskgxpsnd1[@more@]怀疑是主机环境参数没有配置正确,经过与b14291文档核对,发现忘记Configure Network Tuning Parameters这一步骤。Network Tuning Parameter Recommended Value ipqmaxlen 512 rfc1323 1 sb_max 2*655360 tcp_recvspace 65536 t
Oracle10.2.0.3 fox aix 上 In memory undo latch导致高CPU占用问题解决
aix5306上运行的oracle 10.2.0.3数据库,今天报告cpu占用率很高,数据库处于不可用状态。经过从v$session_wait检查wait等待事件,发现大量的latch free事件。检查v$latch,发现大量的in memory undo latch生成awrrpt,top5 等待事件如下:Top 5 Timed Events Avg %Total~~~~~~~~~~~~~~~~~~ wait CallEvent Waits Time (s) (ms) Time Wait Class------------------------------ ------------ ----------- ------ ------ ----------read by other session 319,603,864 184,097 1 32.0 User I/OCPU time 98,077 17.0db file sequential read
windows 2003 x86 32位中Oracle 10G数据库使用超过1.7G的sga的方法
windows 2003 x86 32位中Oracle 10G数据库使用超过1.7G的sga的方法必须使用4G Tunning技术,过程如下:1、关闭数据库2、修改操作系统的boot.ini的启动参数,加入 /3G /PAE切换开关,如下所示[boot loader]timeout=30default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS[operating systems]multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Windows Server 2003,Enterprise" /noexecute=optout /3G /PAE/fastdetect[@more@]3、修改操作系统注册表,在HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_OraDb10g_home1下增加AWE_WINDOW_MEMORY 字