Author: mac

  • Oracle 9i/10g/11g数据库升级路线图总览

    熟悉Oracle升级服务的朋友可能在文档中反复看到以下几张升级路线图,现在把它们汇总在一起以便于寻找。    

  • Slide:Upgrade 11.2.0.1 RAC DB/RDBMS to 11.2.0.2 in Linux By Maclean

    Upgrade 11.2.0.1 rac db to 11.2.0.2 in linux View more documents from Maclean Liu

  • Upgrade 11.2.0.1 DB/RDBMS to 11.2.0.2 in Linux

    在<Upgrade 11.2.0.1 GI/CRS to 11.2.0.2 in Linux>一文中我们介绍了升级11.2.0.1 GI/CRS到11.2.0.2的详细步骤,因为GI/CRS的版本总是要求大于DB/RDBMS,所以这是我们升级RDBMS数据库软件的前提条件。 接下来我们将具体介绍升级11.2.0.1 DB/RDBMS到 11.2.0.2的详细步骤: 一、 下载补丁介质 11.2.0.2的patchset目前没有公开的下载地址,因为updates.oracle.com目前已经不再提供ftp下载模式,所以我们只能通过登录My Oracle Support后进入Patch栏目搜索Patchid并获得加密的下载链接。 11.2.0.2补丁集的全称是11.2.0.2.0 PATCH SET FOR ORACLE DATABASE SERVER (Patchset)(patchid:10098816),可以通过10098816这个id到Patch栏目搜索,并找出对应平台的介质zip包。如在Linux x86-64平台上:   以上p10098816_112020_Linux-x86-64_1of7.zip和p10098816_112020_Linux-x86-64_2of7.zip ,这2个zip包对应为Database/RDBMS软件的介质,我们不需要下载所有的7个zip包,有这2个升级数据库软件就已经足够了。 完成以上2个软件的下载后,分别解压zip包: unzip p10098816_112020_Linux-x86-64_1of7.zip -d $PATCHHOME unzip p10098816_112020_Linux-x86-64_2of7.zip -d $PATCHHOME 二、以out of place方式安装11.2.0.2 DB数据库软件 因为11.2.0.2的Patchset以后都是out of place的,所以我们可以不用像在11gr2以前那样必须在原有安装低版本软件的基础上才能升级软件,而可以选择在别的位置完全新安装。 注意该步骤不需要停止数据库实例,可以在前期工作中完成。 以DB/RDBMS数据库软件的拥有者身份(oracle用户)启动方才解压目录下的oui安装界面: su – oracle (oracle)$ unset ORACLE_HOME ORACLE_BASE ORACLE_SID (oracle)$…

  • Script:List Schema/Table Constraints

    以下脚本可以用于列出相关模式或表上的Constraints约束: —<tfsscons.sql begin>—————————————————— SET ECHO off REM NAME: tfsscons.sql REM USAGE:”@path/tfsscons” REM ————————————————————————– REM REQUIREMENTS: REM SELECT permissions on dba_constraints, dba_cons_columns and REM dba_ind_columns. REM ————————————————————————– SET ARRAYSIZE 1 SET FEEDBACK off SET SERVEROUT on SET PAGESIZE 66 SET NEWPAGE 6 SET LINESIZE 75 SET PAUSE off SET VERIFY off ACCEPT puser PROMPT ‘Enter the…

  • Know GCS AND GES structure size in shared pool

    RAC环境中共享池很大一部分被gcs和ges资源所占用,一般来说这些资源对象都是永久的(perm)的,所以我们无法期待LRU或flush shared_pool操作能够清理这些资源。 在使用大缓存(large buffer cache)的RAC实例环境中,查询v$sgastat内存动态性能视图时总是能发现’gcs resources’、’gcs shadows’、’ ges resource’、’ges enqueues ‘这些组件占用了共享池中的大量内存,为了避免shared pool出现著名的ORA-04031错误,Oracle推荐在RAC环境中设置较大的shared_pool_size初始化参数,此外显示地设置较大的GCS和GES资源结构的初始化分配数(INITIAL_ALLOCATION)也有利于避免ORA-4031。 这些控制GES和GCS资源结构初始化分配数量的参数主要包括: _gcs_resources  number of gcs resources to be allocated GCS Resources Number of GCS resource structures determined by _gcs_resources parameter Stored in segmented array Externalized in X$KJBR Number of free GCS resource structures in X$KJBRFX _gcs_shadow_locks number of pcm shadow locks to be…

  • Remote Listener Server side Connect-Time Load Balancing

    这里不鏖述remote_listener参数的作用和服务器端连接时负载均衡的技术,只说明以下本次演示,想说明的是客户端连接原始LISTENER时只发生短暂的通信即断开,继而连接由初始连接节点分配的目标节点的LISTENER,且保持对监听端口之间的通信connection,这里在Unix/Linux上只用到监听端口,原理如下图:     我们通过client sql net trace来连接一些详细信息: SQL> select instance_name,instance_number from gv$instance; INSTANCE_NAME INSTANCE_NUMBER —————- ————— VPROD2 2 VPROD1 1 SQL> show parameter remote_listener NAME TYPE VALUE ———————————— ———– —————————— remote_listener string RAC_LISTENER [grid@vrh1 admin]$ tnsping RAC_LISTENER TNS Ping Utility for Linux: Version 11.2.0.3.0 – Production on 06-SEP-2012 08:15:42 Copyright (c) 1997, 2011, Oracle. All…

  • 为什么oracle在AIX有空闲内存的情况下使用SWAP

    这是由于oracle在AIX上使用shmget()函数调用内存,在 lock_sga=true的情况下会指定 SHM_PIN 这个PIN 共享内存的flag,但是由于vmo 参数 v_pinshm=0,所以默认不启用SHM_PIN flag,这会导致oracle可能在aix仍有空闲内存的情况下使用Pgsp paging space: 如何诊断Oracle在AIX上是否使用Pgsp? svmon -G svmon -U oracle   关于 v_pinshm IBM官方有最权威的解释: The v_pinshm parameter When you set the v_pinshm parameter to 1, it causes pages in shared memory segments to be pinned by VMM, if the application, which does the shmget(), specifies SHM_PIN as part of the flags. The default…

  • Oracle安装与操作系统用户组

    Oracle软件在安装维护过程中长要和操作用户组(OS user group)打交道,从早前的只有oracle用户和dba组发展到今天11gr2中的grid用户和asm组,Oracle管理的日新月异可见一斑。 我们在单实例(single-instance)环境中常用的三个操作用户组,分别是: oinstall用户组 oinstall 组是Oracle推荐创建的OS用户组之一,建议在系统第一次安装oracle软件产品之前创建该oinstall组,理论上该oinstall组应当拥有oracle软件产品目录(例如$CRS_HOME和$ORACLE_HOME)和oracle Inventory信息目录仓库,oracle Inventory信息目录记录了系统上安装过的oracle产品的记录。关于oracle Inventory产品信息仓库更多内容可以参考<深入理解Oracle Universal Installer (OUI)>一文。 若系统中已有安装过oracle产品软件,则现有的oracle Inventory目录的所有组必须是今后用来安装新oracle软件产品的用户的主组(primary group)。 现有的oracle Inventory拥有者组可以通过/etc/oraInst.loc位置文件了解: inventory_loc=/u01/app/oracle/oraInventory inst_group=oinstall 若/etc/oraInst.loc(少数平台不在该位置)位置文件不存在,那么建议创建oinstall用户组,注意在RAC环境中要保持各节点上用户组的gid一致: # /usr/sbin/groupadd -g GID oinstall OSDBA用户组(dba) OSDBA是我们必须要创建的一种系统DBA用户组(dba),若没有该用户组我们将无法安装数据库软件及执行管理数据库的任务。 OSOPER用户组(oper) OSOPER是一种额外的用户组(oper),我们可以选择要不要创建该用户组,创建该用户组可以满足让os用户行使某些数据库管理权限(包括SYSOPER角色权限)的目的。注意SYSOPER的权限包括startup和shutdown,所以要小心为该用户组添加成员。   创建OSOPER用户组的方法: # /usr/sbin/groupadd oper 综上所述在单机环境(single-instance)中oracle软件拥有者用户(常见的oracle或者orauser),因该同时是oinstall、dba、oper用户组的成员。同时该用户的主用户组必须是oinstall。 Oracle Database 11g release 2中选择Privileged Operating System Groups   而在11.2的GI/CRS环境中数据库软件拥有者用户(oracle或orauser)还必须是asmdba用户组的成员。 usermod -g oinstall -G dba,oper,asmdba [oracle|orauser] id oracle uid=54321(oracle)…

  • ORA-12500 TNS-00510一例

    在AIX 5.3+ 9.2.0.8中listener遇到以下错误:   TNS-12500: TNS:listener failed to start a dedicated server process TNS-12540: TNS:internal limit restriction exceeded TNS-12560: TNS:protocol adapter error TNS-00510: Internal limit restriction exceeded     TNS-00510说明是由于操作系统资源不足引起的TNS-12500, 即资源不足导致监听器不足以启动一个独占服务进程, 这种资源不足可能是由于空闲内存不足所引起的, 也有可能由例如AIX上的maxuproc参数引起,具体诊断思路如下:   nmon/topas lsattr -El sys0 errpt -a show parameter sga show parameter pga 查询listener.log的小,过大的listener.log也可能引起该问题 若是windows 32bit需要特殊处理 ,启动AWE/PAE

  • Upgrade 11.2.0.1 GI/CRS to 11.2.0.2 in Linux

    11.2.0.2已经release 1年多了,相对于11.2.0.1要稳定很多。现在我们为客户部署新系统的时候一般都会推荐直接装11.2.0.2(out of place),并打到<Oracle Recommended Patches — Oracle Database>所推荐的PSU。 对于现有的系统则推荐在停机窗口允许的前提下尽可能升级到11.2.0.2上来,当然客户也可以更耐心的等待11.2.0.3版本的release。 针对11.2.0.1到11.2.0.2上的升级工程,其与10g中的升级略有区别。对于misson-critical的数据库必须进行有效的升级演练和备份操作,因为Oracle数据库软件的升级一直是一项复杂的工程,并且具有风险,不能不慎。 同时RAC数据库的升级又要较single-instance单实例的升级来的复杂,主要可以分成以下步骤: 1.  若使用Exadata Database Machine硬件,首先要检查是否需要升级Exadata Storage Software和Infiniband Switch的版本,<Database Machine and Exadata Storage Server 11g Release 2 (11.2) Supported Versions> 2. 完成rolling upgrade Grid Infrastructure的准备工作 3.滚动升级Gird Infrastructure GI软件 4.完成升级RDBMS数据库软件的准备工作 5.具体升级RDBMS数据库软件,包括升级数据字典、并编译失效对象等 这里我们重点介绍的是滚动升级GI/CRS集群软件的准备工作和具体升级步骤,因为11.2.0.2是11gR2的第一个Patchset,且又是首个out of place的大补丁集,所以绝大多数人对新的升级模式并不熟悉。   升级GI的准备工作   1.注意从11.2.0.1 GI/CRS滚动升级(rolling upgrade)到 11.2.0.2时可能出现意外错误,具体见<Pre-requsite for 11.2.0.1 to 11.2.0.2 ASM…