陈奇网络工作室

如何将10GRAC升级到11G(官方)

建设工作站服务器

在Oracle Enterprise Linux上升级到Oracle RAC 11g

了解如何在Oracle Enterprise Linux 5上逐步升级到Oracle RAC 10g release 2到Oracle RAC 11g。

作者: Vincent Chan

2007年10月发布

Oracle最近宣布了备受期待的Oracle数据库11g,即新一代网格计算。 该版本在网格计算方面取得了显著的进步,提供了许多令人难以置信的新功能,进一步改进了数据库的可用性和可管理性、性能监测、诊断和数据库升级过程。 其中包括Oracle的正式APP应用程序测试、具有实时查询功能的物理备份、新的分区方案和结果缓存等重要功能。

自转: http://www.Oracle.com/technology/global/cn/pub/articles/chan-upgrade.html

基本上,有三种将Oracle RAC 10g升级到Oracle RAC 11g的方法。

使用oracledatabaseupgradeassistant ( dbua )实用程序

手动升级

导出Oracle 10g数据库并将其导入到Oracle 11g数据库

建议的方法是使用DBUA升级数据库和自动存储管理( ASM )。 DUA可以执行许多手动任务,从而大大简化了升级过程。 本指南介绍了使用DBUA进行升级的过程。

下载本指南:

适用于Linux x86的Oracle集群件第1版( 11.1.0.6.0 ) ) )。

适用于Linux x86的Oracle数据库11g版本1(11.1.0.6.0 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

概要

本指南分为以下步骤。

准备安装

升级Oracle集群件

安装Oracle数据库版本1软件

升级Oracle数据库

升级Oracle ASM

发现Oracle数据库11g

Oracle RAC 10g环境概述:

主机名

实例名称

数据库名称

群集文件存储

数据库文件存储

merlin1

devdb1

devdb

原始

ASM

merlin2

devdb2

devdb

原始

ASM

主机名

Oracle集群件的主目录

Oracle ASM本位目录

Oracle本位目录

merlin1

/u02/crs/oracle

/u01/app/Oracle/product/10.2.0/db _ 1

/u01/app/Oracle/product/10.2.0/db _ 1

merlin2

/u02/crs/oracle

/u01/app/Oracle/product/10.2.0/db _ 1

/u01/app/Oracle/product/10.2.0/db _ 1

Oracle集群件文件

设备名称

Oracle群集注册表

/dev/sdb1

虚拟磁盘

/dev/sdc1

Oracle RAC 11g环境概述:

主机名

实例名称

数据库名称

群集文件存储

数据库文件存储

merlin1

devdb1

devdb

原始

ASM

merlin2

devdb2

devdb

原始

ASM

主机名

Oracle集群件的主目录

Oracle ASM本位目录

Oracle本位目录

merlin1

/u02/crs/oracle

/u01/app/Oracle/product/11.1.0/ASM

/u01/app/Oracle/product/11.1.0/db _ 1

merlin2

/u02/crs/oracle

/u01/app/Oracle/product/11.1.0/ASM

/u01/app/Oracle/product/11.1.0/db _ 1

Oracle集群件文件

设备名称

Oracle群集注册表

/dev/sdb1

虚拟磁盘

/dev/sdc1

在每个节点上的Oracle集群件主目录、Oracle ASM主目录和Oracle主目录中安装软件,以提高冗馀和可用性。

1 .准备安装

执行完整备份

在升级到Oracle RAC 11g之前,备份Oracle RAC 10g环境。

安装其他软件包

如果RAC节点上未安装,请以root用户身份安装以下软件包: 可以从enterprise-r5-ga-server-i386-disc2. iso和enterprise-r5-ga-server-i386-disc3. iso中提取这些程序包。

compat-libstdc-33-3.2.3-61.i386.rpm

elf utils-libelf-devel-0.125-3.e15.i386.rpm

gcc-4.1.1-52.e15.i386.rpm

gcc-c -4.1.1-52.e15.i386.rpm

glibc-devel-2.5-12.i386.rpm

libaio-devel-0.3.106-3.2.i386.rpm

libstdc-devel-4.1.1-52.e15.i386.rpm

sysstat-7.0.0-3.e15.i386.rpm

unixODBC-2.2.11-7.1.i386.rpm

unixodbc-devel-2.2.11-7.1.i386.rpm

解压缩这些软件包后,以root用户身份运行以下命令:

# ls -1

elf utils-libelf-devel-0.125-3.e15.i386.rpm

libaio-devel-0.3.106-3.2.i386.rpm

unixODBC-2.2.11-7.1.i386.rpm

unixodbc-devel-2.2.11-7.1.i386.rpm

#

# rpm -Uvh *.rpm

内核参数验证

内核参数的最低要求如下。 如有必要,请在两个节点的/etc/sysctl.conf中配置相应的参数。

kernel.shmall=2097152

kernel.shmmax=2147483648

kernel.shmmni=4096

kernel.sem=250 32000 100 128

fs.file-max=65536

net.IP v4.IP _ local _ port _ range=102465000

net.core.rmem_default=4194304

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=262144

升级Oracle集群件

将Oracle集群件升级到10.2.0.3版

如果要执行滚动升级,则在升级到Oracle RAC 11g之前,Oracle集群件的版本必须为10.2.0.3或更高版本,或者应用了CRS 2号修补程序的10.2.0.2或更高版本10.2.0.3补丁集( 5337014 )可从Oracle Metalink下载。

请参阅Oracle Metalink帮助419058.1或Linux x86的有关Oracle 10.2.0.3打补丁集的信息。

merlin1- crsctlquerycrsactiveversion

crsactiveversionontheclusteris [ 10.2.0.3.0 ]

安装Oracle集群件前检查

群集验证实用程序( CVU )可降低安装RAC的复杂性和时间。 此工具将扫描群集环境中的所有必需组件,以确保满足所有成功安装的条件。

从OTN下载Oracle集群件11.1.0.6软件,将其解压缩到临时目录,然后运行runcluvfy.sh。

/stage/Clusterware/runcluvfy.sh stage-precrsinst-nall-verbose/tmp/pre checks.log

验证是否满足所有先决条件。 您可以忽略openmotif-2.2.3-3.RHEL3中的包扩展检查失败消息。

停止所有数据库资源

merlin1- srvctlstopdatabase-DDE vdb

merlin1- srvctl stop asm -n merlin1

merlin1- srvctl stop asm -n merlin2

merlin1- srvctlstopnodeapps-n merlin 1

merlin1- srvctlstopnodeapps-n merlin 2

merlin1- crs_stat -t

名称类型目标状态主机

————————————————————

ora.dev db.dbapplicationofflineoffline

ora . B1.instapplicationofflineoffline

ora . B2.instapplicationofflineoffline

ora…. sm1.asmapplicationofflineoffline

ora . n1.lsnrapplicationofflineoffline

ora…. in1.GSD APP offline

ora…. in1.onsapplicationofflineoffline

ora…. in1.vipapplicationofflineoffline

ora…. sm2.asmapplicationofflineoffline

ora . N2.lsnrapplicationofflineoffline

ora…. in2.GSD APP offline

ora…. in2.onsapplicationofflineoffline

ora…. in2.vipapplicationofflineoffline

要升级的Oracle集群件主目录

在每个节点上运行preupdate.sh脚本,为要升级的集群件准备主目录。 此脚本停止Oracle集群件组件,并更改Oracle集群件主目录中文件的权限。

以root用户身份在每个节点上运行,然后单击,

# cd /stage/clusterware/upgrade

#./pre update.sh-CRS home/u02/CRS/Oracle-crsuseroracle

shuttingdownoracleclusterreadyservices ( CRS ) :

stopping resources.thiscouldtakeseveralminutes。

successfullystoppedcrsresources。

停止cssd。

Shutting down CSS daemon

shutdownrequestsuccessfullyissued。

shutdownhasbegun.thedaemonsshouldexitsoon。

checkingtoseeiforaclecrsstackisdown…

Oracle CRS stack is down now。

升级Oracle集群件

只需在一个节点上运行Oracleuniversalinstaller(oui )。 OUI会自动在每个节点上安装现有的二进制文件。

以oracle用户身份在merlin1上运行,

merlin1-/stage/Clusterware/run installer

欢迎页面:单击下一步。

指定主页详细信息。 确保正确显示CRS_Home目录(/u02/crs/oracle )。

指定硬件群集安装模式。 确保选择了所有节点。

产品特定要求检查:整体结果验证成功。

说明:单击“安装”。

执行配置脚本:以root用户身份按顺序执行以下脚本: 当前脚本完成后,继续执行下一个脚本。

在merlin1上运行/u02/CRS/Oracle/install/root upgrade。

在merlin2上运行/u02/CRS/Oracle/install/root upgrade。

在merlin1中

//u02/CRS/Oracle/install/root upgrade

checkingtoseeiforaclecrsstackisalreadyup…

版权所有11.1 CRS主页

/bin/CP:`/u02/CRS/Oracle/opmn/conf/ons.config\& amp; quot; and `/u02/CRS/Oracle/opmn/conf/ons.cons

/u02/CRS/Oracle/opmn/conf/ons.configwascopiedsuccessfullyto/u02/CRS/Oracle/opmn/conf/ons.config

warning:directory\\\& quot; /u02/CRS\\\& quot; isnotownedbyroot

warning:directory\\\& quot; /u02\\\& quot; isnotownedbyroot

oracleclusterregistryconfigurationupgradedsuccessfully

Adding daemons to inittab

自动存储堆栈

waitingforclustersynchronizationservicesdaemontostar

群集同步服务sdaemonhasstarted

waitingforeventmanagerdaemontostart

事件管理器daemon has started

群集服务管理器

oraclecrsstackisrunningunderinit ( 1m ) )。

cls CFG :执行配置3检测。

cls CFG :版本3 is 10g版本2。

successfullyaccumulatednecessaryocrkeys。

using ports:CSS=49895 CRS=49896 evmc=49898 ande vmr=49897。

nodenodenumber:nodenameprivateinterconnectnamehostname

节点1:merlin1merlin1- priv merlin 1

creatingocrkeysforuser\\\& quot; root\\& quot;privgrp \\\& #039; root\\\& quot;

操作安全。

cls CFG-upgradecompletedsuccessfully

CRS stack on this node,issuccessfullyupgradedto 11.1.0.6.0

checkingtheexistenceofnodeappsonthisnode

creating\\\& quot;/u02/CRS/Oracle/install/param file.CRS\& amp; quot; withdatausedforcrsconfiguration

settingcrsconfigurationvaluesin/u02/CRS/Oracle/install/paramfile.CRS

在merlin2中,

//u02/CRS/Oracle/install/root upgrade

checkingtoseeiforaclecrsstackisalreadyup…

版权所有11.1 CRS主页

/bin/CP:`/u02/CRS/Oracle/opmn/conf/ons.config\& amp; quot; and `/u02/CRS/Oracle/opmn/conf/ons.cons

/u02/CRS/Oracle/opmn/conf/ons.configwascopiedsuccessfullyto/u02/CRS/Oracle/opmn/conf/ons.config

warning:directory\\\& quot; /u02/CRS\\\& quot; isnotownedbyroot

warning:directory\\\& quot; /u02\\\& quot; isnotownedbyroot

oracleclusterregistryconfigurationupgradedsuccessfully

Adding daemons to inittab

自动存储堆栈

waitingforclustersynchronizationservicesdaemontostar

群集同步服务sdaemonhasstarted

waitingforeventmanagerdaemontostart

waitingforeventmanagerdaemontostart

事件管理器daemon has started

群集服务管理器

oraclecrsstackisrunningunderinit ( 1m ) )。

cls CFG :执行配置4检测。

cls CFG :版本4 is 11版本1。

successfullyaccumulatednecessaryocrkeys。

using ports:CSS=49895 CRS=49896 evmc=49898 ande vmr=49897。

nodenodenumber:nodenameprivateinterconnectnamehostname

node2: merlin2merlin2- priv merlin 2

creatingocrkeysforuser\\\& quot; root\\& quot;privgrp \\\& #039; root\\\& quot;

操作安全。

cls CFG-upgradecompletedsuccessfully

CRS stack on this node,issuccessfullyupgradedto 11.1.0.6.0

checkingtheexistenceofnodeappsonthisnode

creating\\\& quot;/u02/CRS/Oracle/install/param file.CRS\& amp; quot; withdatausedforcrsconfiguration

settingcrsconfigurationvaluesin/u02/CRS/Oracle/install/paramfile.CRS

merlin1- $ ora _ CRS _ home/bin/crsctlcheckcrs

集群同步服务sappearshealthy

clusterreadyservicesappearshealthy

事件管理器appears healthy

merlin1- $ ora _ CRS _ home/bin/crsctlquerycrssoftwareversion

oracleclusterwareversiononnode [ merlin1] is [ 11.1.0.6.0 ]

merlin1- $ ora _ CRS _ home/bin/crsctlquerycrsactiveversion

oracleclusterwareactiveversionontheclusteris [ 11.1.0.6.0 ]

merlin2- $ ora _ CRS _ home/bin/crsctlcheckcrs

集群同步服务sappearshealthy

clusterreadyservicesappearshealthy

事件管理器appears healthy

merlin2- $ ora _ CRS _ home/bin/crsctlquerycrssoftwareversion

oracleclusterwareversiononnode [ merlin2] is [ 11.1.0.6.0 ]

merlin2- $ ora _ CRS _ home/bin/crsctlquerycrsactiveversion

oracleclusterwareactiveversionontheclusteris [ 11.1.0.6.0 ]

返回merlin1的运行配置脚本屏幕,然后单击“确定”。

助手设置:确保所有检查都成功。 OUI最后会执行集群件安装后的检查。 如果CVU失败,请修复此问题,然后以oracle用户身份重新运行以下命令:

merlin1-/u02/CRS/Oracle/bin/cluvfystage-postcrsinst-n merlin 1,merlin2

performing post-checksforclusterservicessetup

检查节点恢复…

nodereachabilitycheckpassedfromnodemerlin 1。

checking用户体验…

userequivalencecheckpassedforuseroracle

checkingclustermanagerintegrity…

Checking CSS daemon…

daemonstatuscheckpassedforcssdaemon。

群集管理网格检查密码。

检查群集集成…

群集集成检查通过

checking ocr集成…

checkingtheabsenceofanon-clustered configuration .

All nodes free of non-clustered,local-only configurations。

uniquenesscheckforocrdevicepassed

Checking the version of OCR…

OCR of correct Version 2 exists。

Checking data integrity of OCR… .

数据集成检查for ocr passed。

ocr集成检查通过。

checking CRS集成…

Checking daemon liveness…

livenesscheckpassedforcrsdaemon。

Checking daemon liveness…

livenesscheckpassedforcssdaemon。

Checking daemon liveness…

livenesscheckpassedforevmdaemon。

Checking CRS health…

CRS健康检查通过。

CRS集成检查通过。

checkingnodeapplicationexistence…

checkingexistenceofvipnodeapplication (要求)

已通过检查。

检查xistenceofonsnodeapplication ( optional ) )。

已通过检查。

checkingexistenceofgsdnodeapplication ( optional )。

已通过检查。

post-checkforclusterservicessetupwassuccessful

安装结束了。 单击“退出”。

在此阶段,Oracle集群件必须升级到Oracle集群件11g,并且所有集群资源都必须运行。

merlin1- $ ora _ CRS _ home/bin/CRS _ stat-t

名称类型目标状态主机

————————————————————

ora.dev db.dbapplicationonlineonlinemerlin 1

ora…. B1.instapplicationonlineonlinemerlin 1

ora…. B2.instapplicationonlineonlinemerlin 2

ora…. sm1.asmapplicationonlineonlinemerlin 1

ora…. n1.lsnrapplicationonlineonlinemerlin 1

ora…. in1.gsdapplicationonlineonlinemerlin 1

ora…. in1.onsapplicationonlineonlinemerlin 1

ora…. in1.vipapplicationonlineonlinemerlin 1

ora…. sm2.asmapplicationonlineonlinemerlin 2

ora…. N2.lsnrapplicationonlineonlinemerlin 2

ora…. in2.gsdapplicationonlineonlinemerlin 2

ora…. in2.onsapplicationonlineonlinemerlin 2

ora…. in2.vipapplicationonlineonlinemerlin 2

3 .安装Oracle数据库11 g版本1软件

创建Oracle主目录

以oracle用户身份在两个节点上创建新的oracle主目录。

mkdir-p/u01/app/Oracle/product/11.1.0/db _ 1

安装Oracle数据库软件

从OTN下载Oracle数据库软件。

以oracle用户身份在merlin1上运行,

merlin1-/stage/database/run installer

欢迎页面:单击下一步。

选择安装类型:

选择自定义。

指定主页详细信息:

Oracle基目录:/u01/app/oracle。

名称: OraDb11g_home1

路径:/u01/app/Oracle/product/11.1.0/db _ 1

指定硬件群集安装模式:

选择群集安装。

单击“全部选择”。

产品特定要求检查:整体结果验证成功。

可用的产品组件:选择所有必需的组件。

特权操作系统组:

数据库管理员( OSdba )组: DBA。

数据库操作员( OSOPER )组: oinstall。

ASM管理员( OSASM )组: dba。

创建数据库:

选择只安装数据库软件。

说明:单击“安装”。

执行配置脚本:以root用户身份运行以下脚本:

在merlin1上运行/u01/app/Oracle/product/11.1.0/db _1/root.sh。

在merlin2上运行/u01/app/Oracle/product/11.1.0/db _1/root.sh。

返回merlin1的运行配置脚本画面,单击OK。

安装结束了。 单击“退出”。

升级Oracle数据库

数据库升级前的检查

在运行数据库升级助手( DBUA )之前,请运行数据库升级前检查( utlu111i.sql )以确保满足所有先决条件。 作为升级过程的一部分,DBUA会自动将cluster_database参数从true更改为false。 进行必要的更改后,在升级数据库之前重新运行脚本。

以sys用户身份连接,

SQL spool /tmp/utlu111i.log

SQL @/u01/app/Oracle/product/11.1.0/db _1/RDBMS/admin/utl u111 I

Oracle数据库11.1预升级信息工具08-13-200718:03:45

同调

********************************。

数据库:

********************************。

name:dev db

version:10.2.0.3.0

compatible:10.2.0.1.0

block size:8192

platform. Linux ia ( 32位) ) ) )。

time zone file:v4

同调

********************************。

table spaces:[ makeadjustmentsinthecurrentenvironment ]

********************************。

systemtablespaceisadequatefortheupgrade。

. …. minimum required size:743 MB

undotbs1tablespaceisadequatefortheupgrade。

. …. minimum required size:315 MB

sysauxtablespaceisadequatefortheupgrade。

. …. minimum required size:458 MB

temptablespaceisadequatefortheupgrade。

. …. minimum required size:61 MB

exampletablespaceisadequatefortheupgrade。

. …. minimum required size:66 MB

同调

********************************。

update parameters:[ updateoracledatabase 11.1 init.oraorspfile ]

********************************。

- noupdateparameterchangesarerequired。

同调

********************************。

renamed parameters:[ updateoracledatabase 11.1 init.oraorspfile ]

********************************。

- norenamedparametersfound.nochangesarerequired。

同调

********************************。

obsolete/deprecated parameters:[ updateoracledatabase 11.1 init.oraorspfile ]

********************************。

background _ dump _ destreplacedbydiagnostic _ dest

user _ dump _ destreplacedbydiagnostic _ dest

core _ dump _ destreplacedbydiagnostic _ dest

同调

********************************。

components:[ thefollowingdatabasecomponentswillbeupgradedorinstalled ]

********************************。

oraclecatalogviews [ upgrade ] valid

oraclepackagesandtypes [ upgrade ] valid

jserverjavavirtualmachine [ upgrade ] valid

oraclexdkforjava [ upgrade ] valid

realapplicationclusters [ upgrade ] valid

oracleworkspacemanager [ upgrade ] valid

olapanalyticworkspace [ upgrade ] valid

OLAP catalog [ upgrade ] valid

em repository [ upgrade ] valid

Oracle text [ upgrade ] valid

oraclexmldatabase [ upgrade ] valid

oraclejavapackages [ upgrade ] valid

Oracle intermedia [ upgrade ] valid

spatial [ upgrade ] valid

数据调整[ upgrade ] valid

expression filter [ upgrade ] valid

rule manager [ upgrade ] valid

oracleolapapi [ upgrade ] valid

同调

********************************。

Miscellaneous Warnings

********************************。

warning :the cluster _ databaseparameteriscurrentlytrueandmustbe

settofalsepriortorunningtheupgrade

warning :databasecontainsstaleoptimizerstatistics。

. refer to the 11 gupgradeguideforinstructionstoupdate

. statisticspriortoupgradingthedatabase。

……componentschemaswithstalestatistics :

…. SYS

warning :databasecontainsschemaswithobjectsdependentonnetwork

包。

. refer to the 11 gupgradeguideforinstructionstoconfigurenetworkacls。

warning :emdatabasecontrolrepositoryexistsinthedatabase。

. directdowngradeofemdatabasecontrolisnotsupported.refer to the

. …. 11g Upgrade Guide fo

r instructions to save the EM data prior to upgrade.

.

PL/SQL procedure successfully completed.

SQL> spool off

修改 oracle 用户环境文件

修改 ORACLE_HOME 以便在两个节点上反映新的 Oracle 数据库 11g 目录。

merlin1-> more .profile

export PS1=`/bin/hostname -s`->

export EDITOR=vi

export ORACLE_SID=devdb1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1

export ORA_CRS_HOME=/u02/crs/oracle

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/loca

l/bin:/usr/X11R6/bin

umask 022

升级数据库

以 oracle 用户身份在 merlin1 上执行 dbua。

merlin1-> ../.profile

merlin1-> which dbua

/u01/app/oracle/product/11.1.0/db_1/bin/dbua

merlin1-> dbua

欢迎页面:单击 Next。

升级操作:选择 Upgrade a Database。

数据库:选择 devdb。

数据库升级助手:单击 Yes 移植现有的监听器。

图 1

数据库升级助手:单击 No 稍后升级 ASM。

图 2

诊断目标:

Oracle 基目录:/u01/app/oracle

诊断目标:/u01/app/oracle

图 3

恢复配置:

选择 Specify Flash Recovery Area。

闪回恢复区: RECOVERYDEST。

闪回恢复区大小:2048 MB。

重新编译无效对象:选择 Recompile invalid objects at the end of upgrade。

摘要:单击 Finish。

图 4

图 5

进度:单击 OK 查看升级结果。

升级结果:单击 Close。

SQL> select comp_name,version,status from dba_registry;

COMP_NAME VERSION STATUS

————————————— ———- ——

Oracle Enterprise Manager 11.1.0.6.0 VALID

OLAP Catalog 11.1.0.6.0 VALID

Spatial 11.1.0.6.0 VALID

Oracle Multimedia 11.1.0.6.0 VALID

Oracle XML Database 11.1.0.6.0 VALID

Oracle Text 11.1.0.6.0 VALID

Oracle Data Mining 11.1.0.6.0 VALID

Oracle Expression Filter 11.1.0.6.0 VALID

Oracle Rule Manager 11.1.0.6.0 VALID

Oracle Workspace Manager 11.1.0.6.0 VALID

Oracle Database Catalog Views 11.1.0.6.0 VALID

Oracle Database Packages and Types 11.1.0.6.0 VALID

JServer JAVA Virtual Machine 11.1.0.6.0 VALID

Oracle XDK 11.1.0.6.0 VALID

Oracle Database Java Packages 11.1.0.6.0 VALID

OLAP Analytic Workspace 11.1.0.6.0 VALID

Oracle OLAP API 11.1.0.6.0 VALID

Oracle Real Application Clusters 11.1.0.6.0 VALID

18 rows selected.

merlin1-> srvctl config database -d devdb

merlin1 devdb1 /u01/app/oracle/product/11.1.0/db_1

merlin2 devdb2 /u01/app/oracle/product/11.1.0/db_1

merlin1-> $ORA_CRS_HOME/bin/crs_stat -t

Name Type Target State Host

————————————————————

ora.devdb.db application ONLINE ONLINE merlin1

ora….b1.inst application ONLINE ONLINE merlin1

ora….b2.inst application ONLINE ONLINE merlin2

ora….SM1.asm application ONLINE ONLINE merlin1

ora….N1.lsnr application ONLINE ONLINE merlin1

ora….in1.gsd application ONLINE ONLINE merlin1

ora….in1.ons application ONLINE ONLINE merlin1

ora….in1.vip application ONLINE ONLINE merlin1

ora….SM2.asm application ONLINE ONLINE merlin2

ora….N2.lsnr application ONLINE ONLINE merlin2

ora….in2.gsd application ONLINE ONLINE merlin2

ora….in2.ons application ONLINE ONLINE merlin2

ora….in2.vip application ONLINE ONLINE merlin2

新的诊断位置

SQL> select name, value from v$parameter where name like \\\’%dump_dest\\\’ or name like \\\’diag%\\\’;

NAME VALUE

——————– ————————————————–

background_dump_dest /u01/app/oracle/diag/rdbms/devdb/devdb1/trace

user_dump_dest /u01/app/oracle/diag/rdbms/devdb/devdb1/trace

core_dump_dest /u01/app/oracle/diag/rdbms/devdb/devdb1/cdump

diagnostic_dest /u01/app/oracle

5. 升级 Oracle ASM

单独的 ASM 主目录不是必需的;但是,具有一个单独的 ASM 主目录具有以下优点:可让您将补丁或补丁集独立地从 ASM 主目录应用到 Oracle RDBMS 主目录。在同一个节点上运行一个以上的数据库实例时,具有单独的 ASM 主目录和 RDBMS 主目录尤其受益。在 Oracle RDBMS 主目录需要修补时,ASM 实例可用性将不会受到影响。

此时,您的 ASM 主目录仍然在 Oracle 数据库 10g 主目录下运行。

merlin1-> srvctl config asm -n merlin1

ASM1 /u01/app/oracle/product/10.2.0/db_1

merlin1-> srvctl config asm -n merlin2

ASM2 /u01/app/oracle/product/10.2.0/db_1

创建 ASM 主目录

在两个节点上,以 oracle 用户身份创建新的 ASM 主目录

mkdir /u01/app/oracle/product/11.1.0/asm

并修改 shell 配置文件中的 ORACLE_HOME 变量,以反映新的 ASM 主目录。

ORACLE_HOME=/u01/app/oracle/product/11.1.0/asm

在 ASM 主目录中安装 Oracle 数据库 11g 第 1 版软件

以 oracle 用户身份在 merlin1 上执行,

merlin1-> ../.profile

merlin1-> /stage/database/runInstaller

欢迎页面:单击 Next。

选择安装类型:

选择 Enterprise Edition。

指定 Home 详细内容:

Oracle 基目录:/u01/app/oracle。

名称:OraASM11g_home。

路径:/u01/app/oracle/product/11.1.0/asm。

指定硬件集群安装模式:

选择 Cluster Installation。

单击 Select All。

特定于产品的必要条件检查:验证总体结果成功。

升级现有数据库:

您希望立即执行升级吗?:No。

选择配置选项:

选择 Install Software Only。

特权操作系统组:

数据库管理员 (OSDBA) 组:dba

数据库操作员 (OSOPER) 组:oinstall

ASM 管理员 (OSASM) 组:dba

摘要:单击 Install。

执行配置脚本:以 root 用户身份执行下面的脚本。

在 merlin1 上执行 /u01/app/oracle/product/11.1.0/asm/root.sh。

在 merlin2 上执行 /u01/app/oracle/product/11.1.0/asm/root.sh。

返回到 merlin1 的执行配置脚本屏幕,然后单击 OK。

安装结束:单击 Exit。

升级 ASM

在 merlin1 上,以 oracle 用户身份停止数据库并启动 DBUA。

merlin1-> srvctl stop database -d devdb

merlin1-> /u01/app/oracle/product/11.1.0/asm/bin/dbua

欢迎页面:单击 Next。

升级操作:选择 Upgrade Automatic Storage Management Instance。

摘要:单击 Finish。

图 6

图 7

进度:单击 OK 查看升级结果。

升级结果:单击 Close。

merlin1-> srvctl config asm -n merlin1

ASM1 /u01/app/oracle/product/11.1.0/asm

merlin1-> srvctl config asm -n merlin2

ASM2 /u01/app/oracle/product/11.1.0/asm

merlin1-> srvctl start database -d devdb

merlin1-> crs_stat -t

Name Type Target State Host

————————————————————

ora.devdb.db application ONLINE ONLINE merlin1

ora….b1.inst application ONLINE ONLINE merlin1

ora….b2.inst application ONLINE ONLINE merlin2

ora….SM1.asm application ONLINE ONLINE merlin1

ora….N1.lsnr application ONLINE ONLINE merlin1

ora….in1.gsd application ONLINE ONLINE merlin1

ora….in1.ons application ONLINE ONLINE merlin1

ora….in1.vip application ONLINE ONLINE merlin1

ora….SM2.asm application ONLINE ONLINE merlin2

ora….N2.lsnr application ONLINE ONLINE merlin2

ora….in2.gsd application ONLINE ONLINE merlin2

ora….in2.ons application ONLINE ONLINE merlin2

ora….in2.vip application ONLINE ONLINE merlin2

图 8

修改磁盘组兼容性属性和数据库兼容性参数

作为最后一步,要利用 Oracle 数据库 11g 的新特性,必须将数据库兼容性参数和磁盘组兼容性属性更改为 11.1.0。

在 devdb1 实例上,

SQL> show parameter compatible

NAME TYPE VALUE

———————— ———– ————————-

compatible string 10.2.0.1.0

SQL> alter system set compatible=\\\’11.1.0\\\’ scope=spfile;

System altered.

在 merlin1 上,重新启动数据库,

merlin1-> srvctl stop database -d devdb

merlin1-> srvctl start database -d devdb

在 ASM1 实例上,

SQL> select name,compatibility,database_compatibility from

v$asm_diskgroup;

NAME COMPATIBILITY DATABASE_COMPATIBILI

————— ————- ——————–

DG1 10.1.0.0.0 10.1.0.0.0

RECOVERYDEST 10.1.0.0.0 10.1.0.0.0

SQL> alter diskgroup dg1 set attribute \\\’compatible.asm\\\’=\\\’11.1.0\\\’;

Diskgroup altered.

SQL> alter diskgroup dg1 set attribute \\\’compatible.rdbms\\\’=\\\’11.1.0\\\’;

Diskgroup altered.

SQL> alter diskgroup recoverydest set attribute \\\’compatible.asm\\\’=\\\’11.1.0\\\’;

Diskgroup altered.

SQL> alter diskgroup recoverydest set attribute \\\’compatible.rdbms\\\’=\\\’11.1.0\\\’;

Diskgroup altered.

SQL> select name,compatibility,database_compatibility from v$asm_diskgroup;

NAME COMPATIBILITY DATABASE_COMPATIBILI

————— ————- ——————–

DG1 11.1.0.0.0 11.1.0.0.0

RECOVERYDEST 11.1.0.0.0 11.1.0.0.0

6. 探索 Oracle 数据库 11g

此部分将简要描述 Oracle 数据库 11g 的几个新特性。新特性的详细描述不在本指南的讨论范围之内。要获得更完整的列表,请参阅 Oracle 数据库新特性指南 11g 第 1 版 (11.1)。

自动内存管理 — 在 Oracle 数据库 11g 中,已经使用动态参数 memory_target 进一步自动化了内存管理。您只需指定总的实例内存大小,数据库将自动管理 SGA 与 PGA 之间的内存分配。视图 v$memory_target_advice 将提供内存调整建议。

间隔分区通过在插入行超出分区范围时自动创建新表分区,提高了分区表的可管理性。

按整数值分区

SQL> create table patients (

2 patientid number not null,name varchar2(10),address varchar2(15)

3 )

4 partition by range (patientid)

5 interval (100)

6 (partition p1 values less than (100))

7 /

Table created.

SQL> select partition_name,high_value

2 from user_tab_partitions

3 where table_name=\\\’PATIENTS\\\’;

PARTITION_NAME HIGH_VALUE

————— —————

P1 100

SQL> insert into patients values (100,\\\’ROBERT\\\’,\\\’4 BORNE AVE\\\’);

1 row created.

SQL> select partition_name,high_value

2 from user_tab_partitions

3 where table_name=\\\’PATIENTS\\\’;

PARTITION_NAME HIGH_VALUE

————— —————

P1 100

SYS_P81 200

SQL> select count(*) from patients partition (SYS_P81);

COUNT(*)

———-

1

按日期分区

SQL> create table userlogs (

2 transid number,

3 transdt date,

4 terminal varchar2(10)

5 )

6 partition by range (transdt)

7 interval (numtoyminterval(1,\\\’YEAR\\\’))

8 (

9 partition p1 values less than (to_date(\\\’01-01-2007\\\’,\\\’mm-dd-yyyy\\\’))

10 );

Table created.

SQL> select partition_name,high_value

2 from user_tab_partitions

3 where table_name=\\\’USERLOGS\\\’;

PARTITION_NAME HIGH_VALUE

————– ——————————————————————————–

P1 TO_DATE(\\\’ 2007-01-01 00:00:00\\\’, \\\’SYYYY-MM-DD HH24:MI:SS\\\’, \\\’NLS_CALENDAR=GREGORIA

SQL> insert into userlogs values (1,\\\’11-AUG-07\\\’,\\\’XAV0004\\\’);

1 row created.

SQL> select partition_name,high_value

2 from user_tab_partitions

3 where table_name=\\\’USERLOGS\\\’;

PARTITION_NAME HIGH_VALUE

————– ——————————————————————————–

P1 TO_DATE(\\\’ 2007-01-01 00:00:00\\\’, \\\’SYYYY-MM-DD HH24:MI:SS\\\’, \\\’NLS_CALENDAR=GREGORIA

SYS_P42 TO_DATE(\\\’ 2008-01-01 00:00:00\\\’, \\\’SYYYY-MM-DD HH24:MI:SS\\\’, \\\’NLS_CALENDAR=GREGORIA

SQL> select count(*) from userlogs partition (sys_p42);

COUNT(*)

———-

1

引用分区根据父表的分区模式对子表进行分区。

SQL> create table patients (

2 patientid number not null,name varchar2(10), address varchar2(15)

3 )

4 partition by range (patientid)

5 (partition p1 values less than (100),

6 partition p2 values less than (200))

7 /

Table created.

SQL> alter table patients

2 add constraint patients_pk primary key (patientid);

Table altered.

SQL> create table invoices (

2 invoiceno number,amount number, patientid number not null,

3 constraint invoices_fk

4 foreign key (patientid) references patients

5 )

6 partition by reference (invoices_fk);

Table created.

SQL> select dbms_metadata.get_ddl(\\\’TABLE\\\’,\\\’INVOICES\\\’,\\\’VCHAN\\\’) from dual;

DBMS_METADATA.GET_DDL(\\\’TABLE\\\’,\\\’INVOICES\\\’,\\\’VCHAN\\\’)

———————————————————————–

CREATE TABLE VCHAN.INVOICES

( INVOICENO NUMBER,

AMOUNT NUMBER,

PATIENTID NUMBER NOT NULL ENABLE,

CONSTRAINT INVOICES_FK FOREIGN KEY (PATIENTID)

REFERENCES VCHAN.PATIENTS (PATIENTID) ENABLE

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255

STORAGE(

BUFFER_POOL DEFAULT)

PARTITION BY REFERENCE (INVOICES_FK)

(PARTITION P1

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE USERS NOCOMPRESS ,

PARTITION P2

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE USERS NOCOMPRESS )

SQL> insert into patients values (1,\\\’TOBY\\\’,\\\’88 Palace Ave\\\’);

1 row created.

SQL> insert into invoices values (150,262.12,1);

1 row created.

SQL> select count(*) from invoices partition (p1);

COUNT(*)

———-

1

SQL> select count(*) from invoices partition (p2);

COUNT(*)

———-

0

SQL> insert into patients values (110,\\\’GILY\\\’,\\\’512 HILE STREET\\\’);

1 row created.

SQL> insert into invoices values (151,500.01,110);

1 row created.

SQL> select count(*) from invoices partition (p1);

COUNT(*)

———-

1

SQL> select count(*) from invoices partition (p2);

COUNT(*)

———-

1

Oracle 数据库 11g 中的表压缩支持传统的 DML 和删除列操作。压缩数据在读取期间不需要解压缩,这样,因为读取的数据块较少,查询压缩数据的速度将明显加快。

SQL> create tablespace tbs1 datafile \\\’/u01/app/oracle/oradata/db11g/tbs1_01.dbf\\\’ size 500M;

Tablespace created.

SQL> create tablespace tbs2 datafile \\\’/u01/app/oracle/oradata/db11g/tbs2_01.dbf\\\’ size 500M;

Tablespace created.

SQL> create table mytable_compress (col1 varchar2(26),col2 varchar2(26)) tablespace tbs1 compress for all operations;

Table created.

SQL> create table mytable_nocompress (col1 varchar2(26),col2 varchar2(26)) tablespace tbs2;

Table created.

SQL> alter system flush buffer_Cache;

System altered.

SQL> alter system flush shared_pool;

System altered.

SQL> set timing on

SQL> insert into mytable_nocompress

2 select \\\’ABCDEFGHIJKLMNOPQRSTUVWXYZ\\\’,\\\’ABCDEFGHIJKLMNOPQRSTUVWXYZ\\\’

3 from (select 1 from dual connect by level <= 2000000);

2000000 rows created.

Elapsed: 00:00:8.07

SQL> commit;

Commit complete.

Elapsed: 00:00:00.07

SQL> alter system flush buffer_Cache;

System altered.

SQL> alter system flush shared_pool;

System altered.

SQL> insert into mytable_compress

2 select \\\’ABCDEFGHIJKLMNOPQRSTUVWXYZ\\\’,\\\’ABCDEFGHIJKLMNOPQRSTUVWXYZ\\\’

3 from (select 1 from dual connect by level <= 2000000);

2000000 rows created.

Elapsed: 00:00:41.79

SQL> commit;

Commit complete.

Elapsed: 00:00:00.04

SQL> select segment_name,extents from user_segments where segment_name like \\\’MYTABLE%\\\’;

SEGMENT_NAME EXTENTS

—————————— ———-

MYTABLE_COMPRESS 53

MYTABLE_NOCOMPRESS 88

SQL> select tablespace_name,bytes/1024/1024 from dba_free_space where tablespace_name like \\\’TBS%\\\’;

TABLESPACE_NAME BYTES/1024/1024

—————————— —————

TBS1 461.9375

TBS2 363.9375

SQL> alter table mytable_compress drop column col2;

Table altered.

Elapsed: 00:00:21.04

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码官网:www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3