Windows下如何查看ASM磁盘对应的设备?

如题,在Windows系统下维护ASM磁盘提供存储设备的Oracle数据库时,该如何确定ASM磁盘对应的磁盘设备呢?

1 在操作系统层面看到下述磁盘信息,Disk 0是操作系统盘,Disk 1,Disk 2是2块ASM磁盘:

wps_clip_image-11545

2 从ASM实例里,看到磁盘组、磁盘的信息如下:

SQL> select name,total_mb,free_mb,state from v$asm_diskgroup;

NAME                             TOTAL_MB    FREE_MB STATE
------------------------------ ---------- ---------- -----------
ORADATA                            206849      32661 MOUNTED

SQL> select name,total_mb,free_mb,state from v$asm_disk;

NAME                             TOTAL_MB    FREE_MB STATE
------------------------------ ---------- ---------- --------
                                   206849          0 NORMAL
ORADATA_0001                       206849      32661 NORMAL

SQL> select name,total_mb,free_mb,state,path from v$asm_disk;

NAME                             TOTAL_MB    FREE_MB STATE    PATH
------------------------------ ---------- ---------- -------- --------------------
                                   206849          0 NORMAL   \\.\ORCLDISKORADATA0
ORADATA_0001                       206849      32661 NORMAL   \\.\ORCLDISKDATA0

SQL>

上述看到的信息已经是对ORADATA磁盘组执行过drop disk之后看到的信息。

那么接下来,如果想要OS级别移除ORADATA磁盘里path为\\.\ORCLDISKORADATA0的磁盘的话,该如何确定该磁盘对应OS级别的磁盘呢?究竟是Disk 1还是Disk2呢?

3 方法1:

C:\Users\Administrator>asmtool -list
NTFS                             \Device\Harddisk0\Partition1           278973M
ORCLDISKDATA0                    \Device\Harddisk1\Partition1           206849M
ORCLDISKORADATA0                 \Device\Harddisk2\Partition1           206849M

C:\Users\Administrator>

方法2:

通过DBCA进入ASM管理[Oracle 10g版本,11g应该使用ASMCA]之后,选择给磁盘stamp disk之后,也可以看到下述信息:

wps_clip_image-11662

进而,均可以可定path为\\.\ORCLDISKORADATA0的ASM磁盘对应于OS上的Disk2。

4 通过上述第3步骤移除磁盘的stamp操作之后,看到的信息如下:

wps_clip_image-11786

此时,已经从ASM实例里看不到ASM磁盘的信息了。

5 最终,从OS级别删除磁盘Disk 2的卷信息,分区信息之后,如下:

wps_clip_image-11848

附:在Linux上,可以直接通过/usr/sbin/oracleasm querydisk /dev/sd*的方法来查找ASM磁盘对应OS级别的设备信息。

11gR2 OCP实验1:搭建数据库服务器OEL5.5 X86_64

一 实验目的

本实验是整个系列教程的前期准备,即部署Oracle数据库服务器。这里通过虚拟机技术来创建一台Linux服务器,后续的章节中我们将在该数据库服务器上安装Oracle 11gR2数据库软件,并创建数据库。

Note

1 操作系统选择Oracle公司的Oracle Enterprise Linux5.5 X86_64,非必须,也可以选择其它版本Linux,如Redhat,建议选择64位系统,但不建议选择Windows平台。

2 虚拟机平台选择VMware公司的VMware ESXi Version 5.1的虚拟主机,条件不允许的话,也可以选择安装VMware Server作为虚拟机软件。

二 软件获取

三 实验步骤

这里,我们需要完成在VMware ESXi Version 4.0的虚拟主机上创建1台虚拟机的工作,其中虚拟机的基本配置信息如下表[这里仅给出建议值,非必须,具体视实际硬件资源而定]

Item Value Mark
OS

OEL 5.5 X86_64

 
Kernel

2.6.18-194.el5 X86_64

 
Hostname OCP11gR2  
Domain oracleonlinux.cn  
IP

172.16.0.224/20

掩码为255.255.240.0
Gateway

172.16.15.254

 
Hard disk 1 30G  
Hard disk 2 8G 后续配置ASM磁盘用
Hard disk 3 8G 后续配置ASM磁盘用
CPU 4c  
Memory 2G  
Swap 4G  

                    表1 虚拟机基础配置信息表

1 配置虚拟机,安装OEL 5.5 X86_64Linux操作系统

root用户登录172.16.0.181的虚拟主机: 

 

进入虚拟主机管理界面:

    新建虚拟机,选择CustomNext进入下一步:

    给虚拟机命名为11gR2–OCPNext

选择Datastore位置,这里选择第1个名为snap-62ed4023-BAT的存储设备,Next

虚拟机版本选择version 8Next

操作系统类型选择Linux,版本选择Red Hat Enterprise Linux 5(64-bit)Next

CPU核数选择4Next

内存选择2GNext

网卡选择1块,Next

SCSI驱动器类型选择LSI Logic ParallelNext

选择创建新磁盘,Next

磁盘大小选择30GNext

wps_clip_image-3983

虚拟设备节点选择默认SCSI(0:0)Next

选中在虚拟机创建之前编辑选项,Continue

编辑光驱设备,选择ISO文件,找到之前已经准备就绪的OEL 5.5 X86_64位的ISO文件:

选中光驱在启动时连接选项,最后,单击Finish完成。

至此,一台新的虚拟机配置完成。

 

2 启动11gR2–OCP虚拟机,安装Linux操作系统

11gR2–OCP虚拟机加电,进入图形界面开始安装系统:

 

回车,进入安装:

Skip,跳过光驱检查:

 

Next,开始安装Oracle Enterprise Linux

 

语言选择—>English,键盘选择–>U.S.English美式键盘,硬盘分区选择最后一个选项Create custom layoutNext

 

给硬盘分区,其中SWAP分区选择4000M,剩余空间全部划给根分区/Next

 

    网络配置,参照表1 虚拟机基础配置信息表,分别配置eth0网卡的IP、子网掩码、网关、主机名,Next

 

时区选择,亚洲/上海,Next,配置root用户口令,Next

 

选择定制软软包,Next

 

Note:
    Desktop Environments:
               GNOME Desktop Environment
    Applications: 
               Editors
    Development:
               Development Libraries
               Development Tools
               GNOME Software Development
               Legacy Software Development
               X software Development
    Base System :
               Administration Tools
               Base
               Legacy Software Support
               System Tools
               X Window System

其它的软件包,可以忽略,暂时不装,一来加快操作系统的安装进度,二来其余的软件包对于配置Oracle 11gR2 数据库环境而言不需要,如果在将来的安装过程中,系统提示缺失软件包的时候,我们也可以手工从安装光盘中自行安装。Next

进入格式化文件系统,开始安装软件包,直到最后:

 

根据提示,选择reboot系统。

系统重启之后,Forward,选择关闭FirewallNext

 

禁用SELinuxNext

 

直到最后一步,按照提示,再次重新启动系统,使刚才的配置生效。

重启之后,键入root用户名和对应的口令,登录进入图形界面:

 

到此,通过虚拟机技术已经成功创建1OEL 5.5 X86_64位系统的数据库服务器。

 

四 实验结果

   通过完成本实验,您应该掌握通过虚拟机技术来创建1Linux虚拟机,以便为后续的实验课程做好铺垫!

一步一步在Linux上升级10gR2 RAC到11gR2 RAC(8-完)

升级后修改/etc/orataboracle用户环境变量

将双节点的/etc/oratab文件中的下列

devdb:/u01/app/oracle/product/10.2.0/db_1:N

改为新的11g配置信息。

节点1改为:

devdb1:/u01/app/oracle/product/10.2.0/db_1:N

节点改为:

devdb2:/u01/app/oracle/product/10.2.0/db_1:N

 

修改双节点oracle用户的/home/oracle/.bash_profile配置文件:

节点1修改后:

节点2修改后:

 

修改cluster_database=true

关闭数据库,修改cluster_database=true之后,重启。

SQL> select * from v$version;

 

BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production

PL/SQL Release 11.2.0.4.0 – Production

CORE    11.2.0.4.0      Production

TNS for Linux: Version 11.2.0.4.0 – Production

NLSRTL Version 11.2.0.4.0 – Production

 

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>         

 

node1-> cat /u01/app/oracle/product/11.2.0/db_1/dbs/initdevdb1.ora 

SPFILE=’+DATA/devdb/spfiledevdb.ora’

node1-> 

 

节点1重启:

node1-> env|grep ORA

ORA_CRS_HOME=/u01/app/oracle/product/10.2.0/crs_1

ORACLE_SID=devdb1

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

node1-> sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Fri Dec 27 16:08:20 2013

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

ORACLE instance started.

 

Total System Global Area 1219260416 bytes

Fixed Size                  2252744 bytes

Variable Size             452984888 bytes

Database Buffers          754974720 bytes

Redo Buffers                9048064 bytes

Database mounted.

Database opened.

SQL> show parameter cluster_database

 

NAME                                 TYPE        VALUE

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

cluster_database                     boolean     TRUE

cluster_database_instances           integer     2

SQL> 

 

节点启动数据库:

 

将数据库、实例、服务重新配置到Grid Infrastructure下管理

添加数据库:

node1-> srvctl config database -d devdb

PRCD-1120 : The resource for database devdb could not be found.

PRCR-1001 : Resource ora.devdb.db does not exist

node1->

 

添加:

node1-> srvctl add database -d devdb -o /u01/app/oracle/product/11.2.0/db_1 -c RAC -m oracleonlinux.cn -p +DATA/devdb/spfiledevdb.ora -y automatic -a data,fra

node1-> 

 

添加之后:

node1-> srvctl config database -d devdb

Database unique name: devdb

Database name: 

Oracle home: /u01/app/oracle/product/11.2.0/db_1

Oracle user: oracle

Spfile: +DATA/devdb/spfiledevdb.ora

Domain: oracleonlinux.cn

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: devdb

Database instances: 

Disk Groups: DATA,FRA

Mount point paths: 

Services: 

Type: RAC

Database is administrator managed

node1-> 

 

添加实例:

node1-> srvctl add instance -h

 

Adds a database instance configuration to the Oracle Clusterware.

 

Usage: srvctl add instance -d <db_unique_name> -i <inst_name> -n <node_name> [-f]

    -d <db_unique_name>      Unique name for the database

    -i <inst>                Instance name

    -n <node_name>           Node name

    -f                       Force the add operation even though some resource(s) will be stopped

    -h                       Print usage

node1-> srvctl add instance -d devdb -i devdb1 -n node1

node1-> srvctl add instance -d devdb -i devdb2 -n node2

 

添加服务:

 

验证

重启双节点OS

 

启动服务:

node1-> srvctl start service -d devdb -s rac11g

node1-> crs_stat -t

 

 

看到此时SCAN IP浮动到节点2

 

 

Q:如何处理gsd服务为OFFLINE的情况?

A:可以参照我之前的一篇文章:

http://www.oracleonlinux.cn/2012/03/how_to_start_11gr2_rac_oc4j_gsd_service/

 

最后,可以考虑将双节点上的原10g clusterware以及数据库软件删除掉!

此处不再给予赘述展示!!!!

一步一步在Linux上升级10gR2 RAC到11gR2 RAC(7)

开始正式升级

Note

11g 软件来启库,且已UPGRADE方式,注意环境变量的设置!

执行$ORACLE_HOME/rdbms/admin/catupgrd.sql来升级!

 

node1-> export ORACLE_SID=devdb1                                  

node1-> export ORACLE_BASE=/u01/app/oracle                       

node1-> export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 

node1-> export PATH=$ORACLE_HOME/bin:$PATH.                      

node1-> which sqlplus

/u01/app/oracle/product/11.2.0/db_1/bin/sqlplus

node1-> sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Fri Dec 27 13:01:19 2013

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup upgrade   

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

ORACLE instance started.

 

Total System Global Area 1219260416 bytes

Fixed Size                  2252744 bytes

Variable Size             385876024 bytes

Database Buffers          822083584 bytes

Redo Buffers                9048064 bytes

Database mounted.

Database opened.

SQL> spool /home/oracle/u_info4.log

SQL> @?/rdbms/admin/catupgrd

…..

……

……

.

Oracle Database 11.2 Post-Upgrade Status Tool           12-27-2013 14:12:22

.

Component                               Current      Version     Elapsed Time

Name                                    Status       Number      HH:MM:SS

.

Oracle Server

.                                         VALID      11.2.0.4.0  00:13:37

JServer JAVA Virtual Machine

.                                         VALID      11.2.0.4.0  00:10:44

Oracle Real Application Clusters

.                                         VALID      11.2.0.4.0  00:00:00

Oracle Workspace Manager

.                                         VALID      11.2.0.4.0  00:00:37

OLAP Analytic Workspace

.                                         VALID      11.2.0.4.0  00:00:17

OLAP Catalog

.                                         VALID      11.2.0.4.0  00:00:50

Oracle OLAP API

.                                         VALID      11.2.0.4.0  00:00:29

Oracle Enterprise Manager

.                                         VALID      11.2.0.4.0  00:07:15

Oracle XDK

.                                         VALID      11.2.0.4.0  00:03:15

Oracle Text

.                                         VALID      11.2.0.4.0  00:00:46

Oracle XML Database

.                                         VALID      11.2.0.4.0  00:05:15

Oracle Database Java Packages

.                                         VALID      11.2.0.4.0  00:00:19

Oracle Multimedia

.                                         VALID      11.2.0.4.0  00:03:41

Spatial

.                                         VALID      11.2.0.4.0  00:05:15

Oracle Expression Filter

.                                         VALID      11.2.0.4.0  00:00:12

Oracle Rules Manager

.                                         VALID      11.2.0.4.0  00:00:09

Final Actions

.                                                                00:00:43

Total Upgrade Time: 00:53:32

 

PL/SQL procedure successfully completed.

 

SQL> 

SQL> SET SERVEROUTPUT OFF

SQL> SET VERIFY ON

SQL> commit;

 

Commit complete.

 

SQL> 

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> 

SQL> 

SQL> 

SQL> DOC

DOC>#######################################################################

DOC>#######################################################################

DOC>

DOC>   The above sql script is the final step of the upgrade. Please

DOC>   review any errors in the spool log file. If there are any errors in

DOC>   the spool file, consult the Oracle Database Upgrade Guide for

DOC>   troubleshooting recommendations.

DOC>

DOC>   Next restart for normal operation, and then run utlrp.sql to

DOC>   recompile any invalid application objects.

DOC>

DOC>   If the source database had an older time zone version prior to

DOC>   upgrade, then please run the DBMS_DST package.  DBMS_DST will upgrade

DOC>   TIMESTAMP WITH TIME ZONE data to use the latest time zone file shipped

DOC>   with Oracle.

DOC>

DOC>#######################################################################

DOC>#######################################################################

DOC>#

SQL> 

SQL> Rem Set errorlogging off

SQL> SET ERRORLOGGING OFF;

SQL> 

SQL> REM END OF CATUPGRD.SQL

SQL> 

SQL> REM bug 12337546 – Exit current sqlplus session at end of catupgrd.sql.

SQL> REM                This forces user to start a new sqlplus session in order

SQL> REM                to connect to the upgraded db.

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

node1-> 

 

大概整个升级过程持续 00:53:32

提示检查升级日志,去查看/home/oracle/u_info4.log且需要处理掉错误!!!!!!!

检查日志过程中,之前在步骤尝试升级数据库时遇到的错误已经不存在,且亦无其它错误出现。

 

执行catuppst.sql执行升级后操作

执行 @$ORACLE_HOME/rdbms/admin/catuppst.sql

 

node1-> hostname

node1.oracleonlinux.cn

node1-> export ORACLE_SID=devdb1                                  

node1-> export ORACLE_BASE=/u01/app/oracle                       

node1-> export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 

node1-> export PATH=$ORACLE_HOME/bin:$PATH.                      

node1-> which sqlplus 

/u01/app/oracle/product/11.2.0/db_1/bin/sqlplus

node1-> sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Fri Dec 27 15:25:11 2013

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

ORACLE instance started.

 

Total System Global Area 1219260416 bytes

Fixed Size                  2252744 bytes

Variable Size             503316536 bytes

Database Buffers          704643072 bytes

Redo Buffers                9048064 bytes

Database mounted.

Database opened.

SQL> spool /home/oracle/u5.log

SQL> @$ORACLE_HOME/rdbms/admin/catuppst.sql

 

TIMESTAMP

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

COMP_TIMESTAMP POSTUP_BGN 2013-12-27 15:26:38

 

 

PL/SQL procedure successfully completed.

 

 

This script will migrate the Baseline data on a pre-11g database

to the 11g database.

 

 

…..

…..

SQL> PROMPT Updating registry…

Updating registry…

SQL> INSERT INTO registry$history

  2    (action_time, action,

  3     namespace, version, id,

  4     bundle_series, comments)

  5  VALUES

  6    (SYSTIMESTAMP, ‘APPLY’,

  7     SYS_CONTEXT(‘REGISTRY$CTX’,’NAMESPACE’),

  8     ‘11.2.0.4’,

  9     0,

 10     ‘PSU’,

 11     ‘Patchset 11.2.0.2.0’);

 

1 row created.

 

SQL> COMMIT;

 

Commit complete.

 

SQL> SPOOL off

SQL> SET echo off

Check the following log file for errors:

/u01/app/oracle/cfgtoollogs/catbundle/catbundle_PSU_DEVDB_APPLY_2013Dec27_15_26_50.log

SQL> 

 

根据提示检查/home/oracle/u5.log

/u01/app/oracle/cfgtoollogs/catbundle/catbundle_PSU_DEVDB_APPLY_2013Dec27_15_26_50.log均无错误!!!!

编译失效对象

执行 @$ORACLE_HOME/rdbms/admin/utlrp.sql来编译失效对象

 

SQL> spool /home/oracle/u6.log

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

 

TIMESTAMP

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

COMP_TIMESTAMP UTLRP_BGN  2013-12-27 15:31:15

 

DOC>   The following PL/SQL block invokes UTL_RECOMP to recompile invalid

DOC>   objects in the database. Recompilation time is proportional to the

DOC>   number of invalid objects in the database, so this command may take

DOC>   a long time to execute on a database with a large number of invalid

DOC>   objects.

DOC>

DOC>   Use the following queries to track recompilation progress:

DOC>

DOC>   1. Query returning the number of invalid objects remaining. This

DOC>      number should decrease with time.

DOC>         SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);

DOC>

DOC>   2. Query returning the number of objects compiled so far. This number

DOC>      should increase with time.

DOC>         SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;

DOC>

DOC>   This script automatically chooses serial or parallel recompilation

DOC>   based on the number of CPUs available (parameter cpu_count) multiplied

DOC>   by the number of threads per CPU (parameter parallel_threads_per_cpu).

DOC>   On RAC, this number is added across all RAC nodes.

DOC>

DOC>   UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel

DOC>   recompilation. Jobs are created without instance affinity so that they

DOC>   can migrate across RAC nodes. Use the following queries to verify

DOC>   whether UTL_RECOMP jobs are being created and run correctly:

DOC>

DOC>   1. Query showing jobs created by UTL_RECOMP

DOC>         SELECT job_name FROM dba_scheduler_jobs

DOC>            WHERE job_name like ‘UTL_RECOMP_SLAVE_%’;

DOC>

DOC>   2. Query showing UTL_RECOMP jobs that are running

DOC>         SELECT job_name FROM dba_scheduler_running_jobs

DOC>            WHERE job_name like ‘UTL_RECOMP_SLAVE_%’;

DOC>#

 

PL/SQL procedure successfully completed.

 

 

TIMESTAMP

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

COMP_TIMESTAMP UTLRP_END  2013-12-27 15:33:55

 

DOC> The following query reports the number of objects that have compiled

DOC> with errors.

DOC>

DOC> If the number is higher than expected, please examine the error

DOC> messages reported with each object (using SHOW ERRORS) to see if they

DOC> point to system misconfiguration or resource constraints that must be

DOC> fixed before attempting to recompile these objects.

DOC>#

 

OBJECTS WITH ERRORS

——————-

                  0

 

DOC> The following query reports the number of errors caught during

DOC> recompilation. If this number is non-zero, please query the error

DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors

DOC> are due to misconfiguration or resource constraints that must be

DOC> fixed before objects can compile successfully.

DOC>#

 

ERRORS DURING RECOMPILATION

—————————

                          0

 

 

Function created.

 

 

PL/SQL procedure successfully completed.

 

 

Function dropped.

 

 

PL/SQL procedure successfully completed.

 

SQL>

升级后确认监听

确保listener是运行在11gR2 Grid路径下:

node1-> lsnrctl status

 

LSNRCTL for Linux: Version 11.2.0.4.0 – Production on 27-DEC-2013 15:39:46

 

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

 

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

STATUS of the LISTENER

————————

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.4.0 – Production

Start Date                26-DEC-2013 22:12:55

Uptime                    0 days 17 hr. 26 min. 51 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/11.2.0/grid/network/admin/listener.ora

Listener Log File         /u01/app/grid/diag/tnslsnr/node1/listener/alert/log.xml

Listening Endpoints Summary…

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.0.33)(PORT=1521)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.0.35)(PORT=1521)))

Services Summary…

Service “+ASM” has 1 instance(s).

  Instance “+ASM1”, status READY, has 1 handler(s) for this service…

Service “devdb.oracleonlinux.cn” has 1 instance(s).

  Instance “devdb1”, status READY, has 2 handler(s) for this service…

Service “devdbXDB.oracleonlinux.cn” has 1 instance(s).

  Instance “devdb1”, status READY, has 1 handler(s) for this service…

The command completed successfully

node1-> 

一步一步在Linux上升级10gR2 RAC到11gR2 RAC(6)

11 升级10gR2 RAC数据库至11gR2 RAC数据库

升级前的准备工作:

确保原10g RAC数据库在双节点上都已经正常关闭,如果没关闭,请确保在所有节点上都关闭。

B Copy 10gR2 RAC下的初始化参数文件、口令文件、网络配置文件至11gR2 软件下对应的目录

节点1

node1-> cp /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora /u01/app/oracle/product/11.2.0/db_1/network/admin/

node1-> cp /u01/app/oracle/product/10.2.0/db_1/dbs/initdevdb1.ora /u01/app/oracle/product/11.2.0/db_1/dbs/  

node1-> cp /u01/app/oracle/product/10.2.0/db_1/dbs/orapwdevdb1 /u01/app/oracle/product/11.2.0/db_1/dbs/

 

节点2

node2-> cp /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora /u01/app/oracle/product/11.2.0/db_1/network/admin/

node2-> cp /u01/app/oracle/product/10.2.0/db_1/dbs/initdevdb2.ora /u01/app/oracle/product/11.2.0/db_1/dbs/

node2-> cp /u01/app/oracle/product/10.2.0/db_1/dbs/orapwdevdb2 /u01/app/oracle/product/11.2.0/db_1/dbs/

node2-> 

Note 1

请将cluster_database=false,如果不修改该参数的话,在下一步中,用11gR2版本的数据库软件来拉起10gRAC库的时候,您会遭遇下述错误:

即,在启动数据库的过程中,发现Hang

检查alert日志:

node1-> tail -f /u01/app/oracle/diag/rdbms/devdb/devdb1/trace/alert_devdb1.log 

minact-scn: Inst 1 is now the master inc#:2 mmon proc-id:24159 status:0x7

minact-scn status: grec-scn:0x0000.00000000 gmin-scn:0x0000.00000000 gcalc-scn:0x0000.00000000

Errors in file /u01/app/oracle/diag/rdbms/devdb/devdb1/trace/devdb1_ora_24227.trc:

ORA-39701: database must be mounted EXCLUSIVE for UPGRADE or DOWNGRADE

Errors in file /u01/app/oracle/diag/rdbms/devdb/devdb1/trace/devdb1_ora_24227.trc:

ORA-39701: database must be mounted EXCLUSIVE for UPGRADE or DOWNGRADE

Error 39701 happened during db open, shutting down database

USER (ospid: 24227): terminating the instance due to error 39701

Instance terminated by USER, pid = 24227

ORA-1092 signalled during: ALTER DATABASE OPEN MIGRATE…

 

node1-> oerr ora 39701

39701, 00000, “database must be mounted EXCLUSIVE for UPGRADE or DOWNGRADE”

// *Cause:  The database was mounted for SHARED cluster access.

// *Action: Set the CLUSTER_DATABASE initialization parameter to FALSE and

//          restart the server with the UPGRADE or DOWNGRADE option.

node1-> 

 

Note2

如果不将原10g RAC下的/u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora文件拷贝至11g RAC的下u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora,在下一步中,您将遭遇下述错误:

node1-> sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Thu Dec 26 10:57:22 2013

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup upgrade pfile=’/u01/app/oracle/product/11.2.0/db_1/dbs/initdevdb1.ora’; 

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

ORA-00119: invalid specification for system parameter REMOTE_LISTENER

ORA-00132: syntax error or unresolved network name ‘LISTENERS_DEVDB’

SQL> 

尝试升级数据库

这里通过执行$ORACL_HOME/rdbms/admin/catupgrd.sql来尝试升级数据库。

其实,在这步骤里应该是过不去,因为源库需要执行升级前预检查的工作!

预检查脚本:

Note

要用新装的11g 11204版本的数据库软件来拉10gRAC的库,注意环境变量的设置,且要以UPGRADE的方式来拉库

 

node1-> hostname

node1.oracleonlinux.cn

node1-> export ORACLE_SID=devdb1                                  

node1-> export ORACLE_BASE=/u01/app/oracle                       

node1-> export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 

node1-> export PATH=$ORACLE_HOME/bin:$PATH.                      

node1-> which sqlplus 

/u01/app/oracle/product/11.2.0/db_1/bin/sqlplus

node1-> sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Fri Dec 27 10:27:20 2013

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup upgrade

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

ORACLE instance started.

 

Total System Global Area 1219260416 bytes

Fixed Size                  2252744 bytes

Variable Size             385876024 bytes

Database Buffers          822083584 bytes

Redo Buffers                9048064 bytes

Database mounted.

Database opened.

SQL> 

然后执行$ORACL_HOME/rdbms/admin/catupgrd.sql脚本来升级数据库:

SQL> spool /home/oracle/upgrade_info.log

SQL> @?/rdbms/admin/catupgrd

DOC>#######################################################################

DOC>#######################################################################

DOC>

DOC>   The first time this script is run, there should be no error messages

DOC>   generated; all normal upgrade error messages are suppressed.

DOC>

DOC>   If this script is being re-run after correcting some problem, then

DOC>   expect the following error which is not automatically suppressed:

DOC>

DOC>   ORA-00001: unique constraint (<constraint_name>) violated

DOC>              possibly in conjunction with

DOC>   ORA-06512: at “<procedure/function name>”, line NN

DOC>

DOC>   These errors will automatically be suppressed by the Database Upgrade

DOC>   Assistant (DBUA) when it re-runs an upgrade.

DOC>

DOC>#######################################################################

DOC>#######################################################################

DOC>#

DOC>######################################################################

DOC>######################################################################

DOC>    The following statement will cause an “ORA-01722: invalid number”

DOC>    error if the user running this script is not SYS.  Disconnect

DOC>    and reconnect with AS SYSDBA.

DOC>######################################################################

DOC>######################################################################

DOC>#

 

no rows selected

 

DOC>######################################################################

DOC>######################################################################

DOC>    The following statement will cause an “ORA-01722: invalid number”

DOC>    error if the database server version is not correct for this script.

DOC>    Perform “ALTER SYSTEM CHECKPOINT” prior to “SHUTDOWN ABORT”, and use

DOC>    a different script or a different server.

DOC>######################################################################

DOC>######################################################################

DOC>#

 

no rows selected

 

DOC>#######################################################################

DOC>#######################################################################

DOC>   The following statement will cause an “ORA-01722: invalid number”

DOC>   error if the database has not been opened for UPGRADE.

DOC>

DOC>   Perform “ALTER SYSTEM CHECKPOINT” prior to “SHUTDOWN ABORT”,  and

DOC>   restart using UPGRADE.

DOC>#######################################################################

DOC>#######################################################################

DOC>#

 

no rows selected

 

DOC>#######################################################################

DOC>#######################################################################

DOC>     The following statement will cause an “ORA-01722: invalid number”

DOC>     error if the Oracle Database Vault option is TRUE.  Upgrades cannot

DOC>     be run with the Oracle Database Vault option set to TRUE since

DOC>     AS SYSDBA connections are restricted.

DOC>

DOC>     Perform “ALTER SYSTEM CHECKPOINT” prior to “SHUTDOWN ABORT”, relink

DOC>     the server without the Database Vault option, and restart the server

DOC>     using UPGRADE mode.

DOC>

DOC>

DOC>#######################################################################

DOC>#######################################################################

DOC>#

 

no rows selected

 

DOC>#######################################################################

DOC>#######################################################################

DOC>   The following statement will cause an “ORA-01722: invalid number”

DOC>   error if Database Vault is installed in the database but the Oracle

DOC>   Label Security option is FALSE.  To successfully upgrade Oracle

DOC>   Database Vault, the Oracle Label Security option must be TRUE.

DOC>

DOC>   Perform “ALTER SYSTEM CHECKPOINT” prior to “SHUTDOWN ABORT”,

DOC>   relink the server with the OLS option (but without the Oracle Database

DOC>   Vault option) and restart the server using UPGRADE.

DOC>#######################################################################

DOC>#######################################################################

DOC>#

 

no rows selected

 

DOC>#######################################################################

DOC>#######################################################################

DOC>   The following statement will cause an “ORA-01722: invalid number”

DOC>   error if bootstrap migration is in progress and logminer clients

DOC>   require utlmmig.sql to be run next to support this redo stream.

DOC>

DOC>   Run utlmmig.sql

DOC>   then (if needed)

DOC>   restart the database using UPGRADE and

DOC>   rerun the upgrade script.

DOC>#######################################################################

DOC>#######################################################################

DOC>#

 

no rows selected

 

DOC>#######################################################################

DOC>#######################################################################

DOC>   The following error is generated if the pre-upgrade tool has not been

DOC>   run in the old ORACLE_HOME home prior to upgrading a pre-11.2 database:

DOC>

DOC>   SELECT TO_NUMBER(‘MUST_HAVE_RUN_PRE-UPGRADE_TOOL_FOR_TIMEZONE’)

DOC>                       *

DOC>      ERROR at line 1:

DOC>      ORA-01722: invalid number

DOC>

DOC>     o Action:

DOC>       Shutdown database (“alter system checkpoint” and then “shutdown abort”).

DOC>       Revert to the original oracle home and start the database.

DOC>       Run pre-upgrade tool against the database.

DOC>       Review and take appropriate actions based on the pre-upgrade

DOC>       output before opening the datatabase in the new software version.

DOC>

DOC>#######################################################################

DOC>#######################################################################

DOC>#

 

Session altered.

 

 

Table created.

 

 

Table altered.

 

SELECT TO_NUMBER(‘MUST_HAVE_RUN_PRE-UPGRADE_TOOL_FOR_TIMEZONE’)

                 *

ERROR at line 1:

ORA-01722: invalid number

 

 

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

node1->

果不其然,发现报错!!!

执行预检查脚本

根据上一步的错误提示:

我们要以原来10gRAC环境的数据库软件来启动数据库,去执行1个升级前的预检查脚本:

Note

该预检查脚本是要把低版本的数据库升级到11204版本的数据库需要执行预检查的脚本,可以参考MetaLink官方文档:Doc ID 837570.1Note 884522.1

这里将utlu112i_7.sql脚本下载至/home/oracle路径下。

这里要以原来10gRAC环境的数据库软件来启动数据库、并且以UPGRADE方式来启库、且需要注意环境变量需要设置成对应原10g RAC数据库软件的配置。

同样,记得需要修改10g参数文件里的cluster_database=false

 

 

Note

11gR2版本下,oracle会自动创建一个隐含参数__oracle_base,而在10g版本下不支持该参数。当然,如果不去掉该参数的话,那么您可能会遇到下述错误:

node1-> export ORACLE_SID=devdb1                                

node1-> export ORACLE_BASE=/u01/app/oracle                      

node1-> export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1  

node1-> export PATH=$ORACLE_HOME/bin:$PATH.                     

node1-> which sqlplus                                           

/u01/app/oracle/product/10.2.0/db_1/bin/sqlplus

node1-> sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.5.0 – Production on Fri Dec 27 10:46:12 2013

 

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

 

Connected to an idle instance.

 

SQL> startup upgrade

ORA-01078: failure in processing system parameters

LRM-00101: unknown parameter name ‘__oracle_base’

SQL>

 

解决:

通过11g创建1pfile,然后将pfile里的初始化参数去掉:

node1-> export ORACLE_SID=devdb1                                  

node1-> export ORACLE_BASE=/u01/app/oracle                       

node1-> export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 

node1-> export PATH=$ORACLE_HOME/bin:$PATH.                      

node1-> which sqlplus                                              

/u01/app/oracle/product/11.2.0/db_1/bin/sqlplus

node1-> sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Fri Dec 27 10:47:09 2013

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup nomount;

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

ORACLE instance started.

 

Total System Global Area 1219260416 bytes

Fixed Size                  2252744 bytes

Variable Size             385876024 bytes

Database Buffers          822083584 bytes

Redo Buffers                9048064 bytes

SQL> create pfile=’/home/oracle/pfile.txt’ from spfile;

 

修改注释掉/home/oracle/pfile.txt里的下述参数:

devdb1.__oracle_base=’/u01/app/oracle’#ORACLE_BASE set from environment

以及修改

*.cluster_database=false

再根据提示,重新执行,参数文件指向新生成的且已修改的/home/oracle/pfile.txt

node1-> export ORACLE_SID=devdb1                               

node1-> export ORACLE_BASE=/u01/app/oracle                     

node1-> export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 

node1-> export PATH=$ORACLE_HOME/bin:$PATH.                    

node1-> which sqlplus                                          

/u01/app/oracle/product/10.2.0/db_1/bin/sqlplus

node1-> sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.5.0 – Production on Fri Dec 27 10:49:18 2013

 

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

 

Connected to an idle instance.

 

SQL> startup upgrade pfile=’/home/oracle/pfile.txt’;      

ORACLE instance started.

 

Total System Global Area 1224736768 bytes

Fixed Size                  2095896 bytes

Variable Size             318768360 bytes

Database Buffers          889192448 bytes

Redo Buffers               14680064 bytes

Database mounted.

Database opened.

SQL> spool /home/oracle/u2.log   

SQL> @/home/oracle/utlu112i_7

Oracle Database 11.2 Pre-Upgrade Information Tool 12-27-2013 10:50:45

Script Version: 11.2.0.4.0 Build: 007

.

**********************************************************************

Database:

**********************************************************************

–> name:          DEVDB

–> version:       10.2.0.5.0

–> compatible:    10.2.0.5.0

–> blocksize:     8192

–> platform:      Linux x86 64-bit

–> timezone file: V4

.

**********************************************************************

Tablespaces: [make adjustments in the current environment]

**********************************************************************

–> SYSTEM tablespace is adequate for the upgrade.

…. minimum required size: 942 MB

–> UNDOTBS1 tablespace is adequate for the upgrade.

…. minimum required size: 400 MB

–> SYSAUX tablespace is adequate for the upgrade.

…. minimum required size: 731 MB

–> TEMP tablespace is adequate for the upgrade.

…. minimum required size: 60 MB

.

**********************************************************************

Flashback: OFF

**********************************************************************

**********************************************************************

Update Parameters: [Update Oracle Database 11.2 init.ora or spfile]

Note: Pre-upgrade tool was run on a lower version 64-bit database.

**********************************************************************

–> If Target Oracle is 32-Bit, refer here for Update Parameters:

— No update parameter changes are required.

.

 

–> If Target Oracle is 64-Bit, refer here for Update Parameters:

— No update parameter changes are required.

.

**********************************************************************

Renamed Parameters: [Update Oracle Database 11.2 init.ora or spfile]

**********************************************************************

— No renamed parameters found. No changes are required.

.

**********************************************************************

Obsolete/Deprecated Parameters: [Update Oracle Database 11.2 init.ora or spfile]

**********************************************************************

–> background_dump_dest         11.1       DEPRECATED   replaced by  “diagnostic_dest”

–> user_dump_dest               11.1       DEPRECATED   replaced by  “diagnostic_dest”

.

 

**********************************************************************

Components: [The following database components will be upgraded or installed]

**********************************************************************

–> Oracle Catalog Views         [upgrade]  VALID

–> Oracle Packages and Types    [upgrade]  VALID

–> JServer JAVA Virtual Machine [upgrade]  VALID

–> Oracle XDK for Java          [upgrade]  VALID

–> Real Application Clusters    [upgrade]  VALID

–> Oracle Workspace Manager     [upgrade]  VALID

–> OLAP Analytic Workspace      [upgrade]  VALID

–> OLAP Catalog                 [upgrade]  VALID

–> EM Repository                [upgrade]  VALID

–> Oracle Text                  [upgrade]  VALID

–> Oracle XML Database          [upgrade]  VALID

–> Oracle Java Packages         [upgrade]  VALID

–> Oracle interMedia            [upgrade]  VALID

–> Spatial                      [upgrade]  VALID

–> Data Mining                  [upgrade]  VALID

–> Expression Filter            [upgrade]  VALID

–> Rule Manager                 [upgrade]  VALID

–> Oracle OLAP API              [upgrade]  VALID

.

**********************************************************************

Miscellaneous Warnings

**********************************************************************

WARNING: –> Database is using a timezone file older than version 14.

…. After the release migration, it is recommended that DBMS_DST package

…. be used to upgrade the 10.2.0.5.0 database timezone version

…. to the latest version which comes with the new release.

WARNING: –> Database contains INVALID objects prior to upgrade.

…. The list of invalid SYS/SYSTEM objects was written to

…. registry$sys_inv_objs.

…. The list of non-SYS/SYSTEM objects was written to

…. registry$nonsys_inv_objs.

…. Use utluiobj.sql after the upgrade to identify any new invalid

…. objects due to the upgrade.

…. USER MDSYS has 18 INVALID objects.

…. USER DMSYS has 2 INVALID objects.

…. USER PUBLIC has 352 INVALID objects.

…. USER CTXSYS has 1 INVALID objects.

…. USER ORACLE_OCM has 2 INVALID objects.

…. USER EXFSYS has 8 INVALID objects.

…. USER DBSNMP has 4 INVALID objects.

…. USER SYSMAN has 3 INVALID objects.

…. USER XDB has 3 INVALID objects.

…. USER SYS has 429 INVALID objects.

…. USER WMSYS has 25 INVALID objects.

WARNING: –> EM Database Control Repository exists in the database.

…. Direct downgrade of EM Database Control is not supported. Refer to the

…. Upgrade Guide for instructions to save the EM data prior to upgrade.

WARNING: –> Your recycle bin is turned on and currently contains no objects.

…. Because it is REQUIRED that the recycle bin be empty prior to upgrading

…. and your recycle bin is turned on, you may need to execute the command:

        PURGE DBA_RECYCLEBIN

…. prior to executing your upgrade to confirm the recycle bin is empty.

.

**********************************************************************

Recommendations

**********************************************************************

Oracle recommends gathering dictionary statistics prior to

upgrading the database.

To gather dictionary statistics execute the following command

while connected as SYSDBA:

 

    EXECUTE dbms_stats.gather_dictionary_stats;

 

**********************************************************************

Oracle recommends removing all hidden parameters prior to upgrading.

 

To view existing hidden parameters execute the following command

while connected AS SYSDBA:

 

    SELECT name,description from SYS.V$PARAMETER WHERE name

        LIKE ‘\_%’ ESCAPE ‘\’

 

Changes will need to be made in the init.ora or spfile.

 

**********************************************************************

SQL> 

 

看到有几个警告,分别是时区、用户的无效对象、以及回收站、数据字典的统计信息,我们可以忽略之!!!!

在这里我们把数据库正常关闭、准备正式升级数据库!!!

一步一步在Linux上升级10gR2 RAC到11gR2 RAC(5)

10 安装11gR2 oracle软件

解压oracle 11g 11.2.0.4.0版本的数据库软件:

解压前2个压缩文件,解压后copy database文件至/home/oracle目录:

[root@node1 ~]# unzip p13390677_112040_Linux-x86-64_1of7.zip 

[root@node1 ~]# unzip p13390677_112040_Linux-x86-64_2of7.zip 

Oracle用户登录图形界面,执行安装:

 

进入安装界面:

 

Next

 

Next

 

Next

 

解决安装RAC数据库软件时,OUI找不到节点:

node1-> pwd

/u01/app/oracle/oraInventory/ContentsXML

node1-> ll

total 12

-rwxrwx— 1 oracle oinstall 329 Dec 25 21:11 comps.xml

-rwxrwx— 1 oracle oinstall 924 Dec 25 21:11 inventory.xml

-rwxrwx— 1 oracle oinstall 292 Dec 25 21:11 libs.xml

node1-> cat inventory.xml 

<?xml version=”1.0″ standalone=”yes” ?>

<!– Copyright (c) 1999, 2013, Oracle and/or its affiliates.

All rights reserved. –>

<!– Do not modify the contents of this file by hand. –>

<INVENTORY>

<VERSION_INFO>

   <SAVED_WITH>11.2.0.4.0</SAVED_WITH>

   <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>

</VERSION_INFO>

<HOME_LIST>

<HOME NAME=”crs” LOC=”/u01/app/oracle/product/10.2.0/crs_1″ TYPE=”O” IDX=”1″ CRS=”true”>

   <NODE_LIST>

      <NODE NAME=”node1″/>

      <NODE NAME=”node2″/>

   </NODE_LIST>

</HOME>

<HOME NAME=”db” LOC=”/u01/app/oracle/product/10.2.0/db_1″ TYPE=”O” IDX=”2″>

   <NODE_LIST>

      <NODE NAME=”node1″/>

      <NODE NAME=”node2″/>

   </NODE_LIST>

</HOME>

<HOME NAME=”Ora11g_gridinfrahome1″ LOC=”/u01/app/11.2.0/grid” TYPE=”O” IDX=”3″ CRS=”true”>

   <NODE_LIST>

      <NODE NAME=”node1″/>

      <NODE NAME=”node2″/>

   </NODE_LIST>

</HOME>

</HOME_LIST>

<COMPOSITEHOME_LIST>

</COMPOSITEHOME_LIST>

</INVENTORY>

node1-> 

在双节上去掉该文件的下述部分:

<HOME NAME=”crs” LOC=”/u01/app/oracle/product/10.2.0/crs_1″ TYPE=”O” IDX=”1″ CRS=”true”>

   <NODE_LIST>

      <NODE NAME=”node1″/>

      <NODE NAME=”node2″/>

   </NODE_LIST>

</HOME>

重新执行安装:

 

Next


Next

 

Next:输入第4步骤中创建的ORACLE_HOME目录:/u01/app/oracle/product/11.2.0/db_1

 

Next

 

Next

 

Next

 

Next

 

Next

 

节点1

[root@node1 ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh 

Performing root user operation for Oracle 11g 

 

The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /u01/app/oracle/product/11.2.0/db_1

 

Enter the full pathname of the local bin directory: [/usr/local/bin]: 

The file “dbhome” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “oraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “coraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

 

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Finished product-specific root actions.

[root@node1 ~]# 

节点2

[root@node2 ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh 

Performing root user operation for Oracle 11g 

 

The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /u01/app/oracle/product/11.2.0/db_1

 

Enter the full pathname of the local bin directory: [/usr/local/bin]: 

The file “dbhome” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “oraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “coraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

 

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Finished product-specific root actions.

[root@node2 ~]# 

一步一步在Linux上升级10gR2 RAC到11gR2 RAC(4)

迁移10g RAC 磁盘组至11gR2 grid

Oracle用户调用/u01/app/11.2.0/grid/bin/asmca 进入ASMCA图形界面来将之前10gR2 RAC下的2ASM磁盘添加到11gR2 grid软件下来进行管理。

:为什么可以把存放10g数据库的磁盘放在11g ASM实例来管理?

:可以参考本人之前文章如何在一台服务器上共用一个ASM实例来创建10.2.0.5和11gR2的物理备库

 

node1-> /u01/app/11.2.0/grid/bin/asmca 

 

Mountdatafra磁盘组:

 

 

节点1通过SQL*PLUS来查看:

 

其中,v$ASM_DISK中看到的name问空的前2条记录是10g RAC下的存放OCRVoting Disk的磁盘,不予理会。

同时,通过11g grid infrastructure下的crs_stat命令也可以查看datafra磁盘组的信息:

node2-> /u01/app/11.2.0/grid/bin/crs_stat -t

Name           Type           Target    State     Host        

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

ora.DATA.dg    ora….up.type ONLINE    ONLINE    node1       

ora.FRA.dg     ora….up.type ONLINE    ONLINE    node1       

ora.GRIDDG.dg  ora….up.type ONLINE    ONLINE    node1       

ora….ER.lsnr ora….er.type ONLINE    ONLINE    node1       

ora….N1.lsnr ora….er.type ONLINE    ONLINE    node1       

ora.asm        ora.asm.type   ONLINE    ONLINE    node1       

ora.cvu        ora.cvu.type   ONLINE    ONLINE    node1       

ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               

ora….network ora….rk.type ONLINE    ONLINE    node1       

ora….SM1.asm application    ONLINE    ONLINE    node1       

ora….E1.lsnr application    ONLINE    ONLINE    node1       

ora.node1.gsd  application    OFFLINE   OFFLINE               

ora.node1.ons  application    ONLINE    ONLINE    node1       

ora.node1.vip  ora….t1.type ONLINE    ONLINE    node1       

ora….SM2.asm application    ONLINE    ONLINE    node2       

ora….E2.lsnr application    ONLINE    ONLINE    node2       

ora.node2.gsd  application    OFFLINE   OFFLINE               

ora.node2.ons  application    ONLINE    ONLINE    node2       

ora.node2.vip  ora….t1.type ONLINE    ONLINE    node2       

ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    node1       

ora.ons        ora.ons.type   ONLINE    ONLINE    node1       

ora….ry.acfs ora….fs.type ONLINE    ONLINE    node1       

ora.scan1.vip  ora….ip.type ONLINE    ONLINE    node1       

node2-> 

一步一步在Linux上升级10gR2 RAC到11gR2 RAC(3)

安装grid软件

解压grid安装介质:

[root@node1 ~]# unzip p13390677_112040_Linux-x86-64_3of7.zip 

解压出第3个压缩包,解压之后,将grid文件mv/home/oracle家目录下:

[root@node1 ~]# ll

total 3667892

drwxr-xr-x 4 root root       4096 Dec 24 17:34 10gbackup

-rw-r–r– 1 root root       1016 Dec 19 13:50 7oracle_.bash_profile.sh

-rw——- 1 root root       1396 Dec 19 10:50 anaconda-ks.cfg

drwxr-xr-x 2 root root       4096 Dec 19 16:29 Desktop

-rw-r–r– 1 root root      52733 Dec 19 10:50 install.log

-rw-r–r– 1 root root       4077 Dec 19 10:50 install.log.syslog

drwxr-xr-x 7 root root       4096 Dec 24 15:51 media

-rw-r–r– 1 root root 1395582860 Dec 24 20:04 p13390677_112040_Linux-x86-64_1of7.zip

-rw-r–r– 1 root root 1151304589 Dec 24 20:05 p13390677_112040_Linux-x86-64_2of7.zip

-rw-r–r– 1 root root 1205251894 Dec 24 20:06 p13390677_112040_Linux-x86-64_3of7.zip

[root@node1 ~]# unzip p13390677_112040_Linux-x86-64_3of7.zip 

….

….

  inflating: grid/rpm/cvuqdisk-1.0.9-1.rpm  

  inflating: grid/runcluvfy.sh       

  inflating: grid/welcome.html       

[root@node1 ~]# ll

total 3667900

drwxr-xr-x 4 root root       4096 Dec 24 17:34 10gbackup

-rw-r–r– 1 root root       1016 Dec 19 13:50 7oracle_.bash_profile.sh

-rw——- 1 root root       1396 Dec 19 10:50 anaconda-ks.cfg

drwxr-xr-x 2 root root       4096 Dec 19 16:29 Desktop

drwxr-xr-x 7 root root       4096 Aug 27 12:33 grid

-rw-r–r– 1 root root      52733 Dec 19 10:50 install.log

-rw-r–r– 1 root root       4077 Dec 19 10:50 install.log.syslog

drwxr-xr-x 7 root root       4096 Dec 24 15:51 media

-rw-r–r– 1 root root 1395582860 Dec 24 20:04 p13390677_112040_Linux-x86-64_1of7.zip

-rw-r–r– 1 root root 1151304589 Dec 24 20:05 p13390677_112040_Linux-x86-64_2of7.zip

-rw-r–r– 1 root root 1205251894 Dec 24 20:06 p13390677_112040_Linux-x86-64_3of7.zip

[root@node1 ~]# 

Root将解压出来的grid目录移动到oracle用户的家目录:

[root@node1 ~]# mv grid/ /home/oracle/

oracle 用户登录图形界面:

 

进入图形安装界面:

 

Next

 

Next

 

Next

 

NextSCAN name输入之前在/etc/hosts文件中配置好的scan-cluster.oracleonlinux.cn

 

Next

添加节点2信息:node2.oracleonlinux.cnnode2-vip.oracleonlinux.cn

 

Next

 

Next


Next

 

Next

 

Next

 

Next

 

Next

 

Next

 

Next:指定在第3步骤中创建的ORACLE_BASEORACELE_HOME:


Next

 

 

单击Fix& CheckAgain:

按照提示:

节点1

[root@node1 ~]# /tmp/CVU_11.2.0.4.0_oracle/runfixup.sh

Response file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.response

Enable file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.enable

Log file location: /tmp/CVU_11.2.0.4.0_oracle/orarun.log

Setting Kernel Parameters…

fs.file-max = 101365

fs.file-max = 6815744

The upper limit of ip_local_port range in response file is not greater than value in /etc/sysctl.conf, hence not changing it.

The upper limit of ip_local_port range in response file is not greater than value for current session, hence not changing it.

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_max=1048576

net.core.rmem_max = 4194304

net.core.wmem_max=262144

net.core.wmem_max = 1048576

fs.aio-max-nr = 1048576

Installing Package /tmp/CVU_11.2.0.4.0_oracle//cvuqdisk-1.0.9-1.rpm

Preparing…                ########################################### [100%]

   1:cvuqdisk               ########################################### [100%]

[root@node1 ~]# 

节点2

[root@node2 ~]# /tmp/CVU_11.2.0.4.0_oracle/runfixup.sh

Response file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.response

Enable file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.enable

Log file location: /tmp/CVU_11.2.0.4.0_oracle/orarun.log

Setting Kernel Parameters…

fs.file-max = 101365

fs.file-max = 6815744

The upper limit of ip_local_port range in response file is not greater than value in /etc/sysctl.conf, hence not changing it.

The upper limit of ip_local_port range in response file is not greater than value for current session, hence not changing it.

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_max=1048576

net.core.rmem_max = 4194304

net.core.wmem_max=262144

net.core.wmem_max = 1048576

fs.aio-max-nr = 1048576

Installing Package /tmp/CVU_11.2.0.4.0_oracle//cvuqdisk-1.0.9-1.rpm

Preparing…                ########################################### [100%]

   1:cvuqdisk               ########################################### [100%]

[root@node2 ~]# 

执行之后,提示缺少软件包:

 

安装缺失的软件包:

节点1

[root@node1 ~]# ll

total 280

drwxr-xr-x 4 root root   4096 Dec 26 21:16 10gbackup

-rw——- 1 root root   1434 Dec 26 15:32 anaconda-ks.cfg

-rw-r–r– 1 root root  54649 Dec 26 15:32 install.log

-rw-r–r– 1 root root   4077 Dec 26 15:32 install.log.syslog

-rw-r–r– 1 root root  11675 Dec 26 21:47 libaio-devel-0.3.106-5.x86_64.rpm

drwxr-xr-x 7 root root   4096 Dec 26 21:28 media

-rw-r–r– 1 root root 178400 Dec 26 21:47 sysstat-7.0.2-3.el5.x86_64.rpm

[root@node1 ~]# rpm -ivh libaio-devel-0.3.106-5.x86_64.rpm 

warning: libaio-devel-0.3.106-5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing…                ########################################### [100%]

   1:libaio-devel           ########################################### [100%]

[root@node1 ~]# rpm -ivh sysstat-7.0.2-3.el5.x86_64.rpm 

warning: sysstat-7.0.2-3.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing…                ########################################### [100%]

   1:sysstat                ########################################### [100%]

[root@node1 ~]# 

节点2

[root@node2 ~]# ll

total 280

drwxr-xr-x 4 root root   4096 Dec 26 21:17 10gbackup

-rw——- 1 root root   1434 Dec 26 15:40 anaconda-ks.cfg

-rw-r–r– 1 root root  54649 Dec 26 15:40 install.log

-rw-r–r– 1 root root   4077 Dec 26 15:40 install.log.syslog

-rw-r–r– 1 root root  11675 Dec 26 21:48 libaio-devel-0.3.106-5.x86_64.rpm

drwxr-xr-x 7 root root   4096 Dec 26 21:09 media

-rw-r–r– 1 root root 178400 Dec 26 21:48 sysstat-7.0.2-3.el5.x86_64.rpm

[root@node2 ~]# rpm -ivh libaio-devel-0.3.106-5.x86_64.rpm 

warning: libaio-devel-0.3.106-5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing…                ########################################### [100%]

   1:libaio-devel           ########################################### [100%]

[root@node2 ~]# rpm -ivh sysstat-7.0.2-3.el5.x86_64.rpm 

warning: sysstat-7.0.2-3.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing…                ########################################### [100%]

   1:sysstat                ########################################### [100%]

[root@node2 ~]# 

Next

 

Next

 

Next

 

执行:

节点1

[root@node1 ~]# /u01/app/11.2.0/grid/root.sh 

Performing root user operation for Oracle 11g 

 

The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /u01/app/11.2.0/grid

 

Enter the full pathname of the local bin directory: [/usr/local/bin]: 

The file “dbhome” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “oraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “coraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

 

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params

Creating trace directory

Installing Trace File Analyzer

OLR initialization – successful

  root wallet

  root wallet cert

  root cert export

  peer wallet

  profile reader wallet

  pa wallet

  peer wallet keys

  pa wallet keys

  peer cert request

  pa cert request

  peer cert

  pa cert

  peer root cert TP

  profile reader root cert TP

  pa root cert TP

  peer pa cert TP

  pa peer cert TP

  profile reader pa cert TP

  profile reader peer cert TP

  peer user cert

  pa user cert

Adding Clusterware entries to inittab

CRS-2672: Attempting to start ‘ora.mdnsd’ on ‘node1’

CRS-2676: Start of ‘ora.mdnsd’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.gpnpd’ on ‘node1’

CRS-2676: Start of ‘ora.gpnpd’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.cssdmonitor’ on ‘node1’

CRS-2672: Attempting to start ‘ora.gipcd’ on ‘node1’

CRS-2676: Start of ‘ora.gipcd’ on ‘node1’ succeeded

CRS-2676: Start of ‘ora.cssdmonitor’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.cssd’ on ‘node1’

CRS-2672: Attempting to start ‘ora.diskmon’ on ‘node1’

CRS-2676: Start of ‘ora.diskmon’ on ‘node1’ succeeded

CRS-2676: Start of ‘ora.cssd’ on ‘node1’ succeeded

 

ASM created and started successfully.

 

Disk Group griddg created successfully.

 

clscfg: -install mode specified

Successfully accumulated necessary OCR keys.

Creating OCR keys for user ‘root’, privgrp ‘root’..

Operation successful.

CRS-4256: Updating the profile

Successful addition of voting disk 1ddd6122f4024f75bf5bba77ba8af58b.

Successfully replaced voting disk group with +griddg.

CRS-4256: Updating the profile

CRS-4266: Voting file(s) successfully replaced

##  STATE    File Universal Id                File Name Disk group

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

 1. ONLINE   1ddd6122f4024f75bf5bba77ba8af58b (ORCL:ASMDISK3) [GRIDDG]

Located 1 voting disk(s).

CRS-2672: Attempting to start ‘ora.asm’ on ‘node1’

CRS-2676: Start of ‘ora.asm’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.GRIDDG.dg’ on ‘node1’

CRS-2676: Start of ‘ora.GRIDDG.dg’ on ‘node1’ succeeded

Configure Oracle Grid Infrastructure for a Cluster … succeeded

[root@node1 ~]# 

节点2

[root@node2 ~]# /u01/app/11.2.0/grid/root.sh 

Performing root user operation for Oracle 11g 

 

The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /u01/app/11.2.0/grid

 

Enter the full pathname of the local bin directory: [/usr/local/bin]: 

The file “dbhome” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “oraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “coraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

 

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params

Creating trace directory

Installing Trace File Analyzer

OLR initialization – successful

Adding Clusterware entries to inittab

CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node node1, number 1, and is terminating

An active cluster was found during exclusive startup, restarting to join the cluster

Configure Oracle Grid Infrastructure for a Cluster … succeeded

[root@node2 ~]# 

 

Next

 

执行grid软件$ORACLE_HOME/bin下的crs_stat来查看集群信息:

node1-> /u01/app/11.2.0/grid/bin/crs_stat -t

Name           Type           Target    State     Host        

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

ora.GRIDDG.dg  ora….up.type ONLINE    ONLINE    node1       

ora….ER.lsnr ora….er.type ONLINE    ONLINE    node1       

ora….N1.lsnr ora….er.type ONLINE    ONLINE    node1       

ora.asm        ora.asm.type   ONLINE    ONLINE    node1       

ora.cvu        ora.cvu.type   ONLINE    ONLINE    node1       

ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               

ora….network ora….rk.type ONLINE    ONLINE    node1       

ora….SM1.asm application    ONLINE    ONLINE    node1       

ora….E1.lsnr application    ONLINE    ONLINE    node1       

ora.node1.gsd  application    OFFLINE   OFFLINE               

ora.node1.ons  application    ONLINE    ONLINE    node1       

ora.node1.vip  ora….t1.type ONLINE    ONLINE    node1       

ora….SM2.asm application    ONLINE    ONLINE    node2       

ora….E2.lsnr application    ONLINE    ONLINE    node2       

ora.node2.gsd  application    OFFLINE   OFFLINE               

ora.node2.ons  application    ONLINE    ONLINE    node2       

ora.node2.vip  ora….t1.type ONLINE    ONLINE    node2       

ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    node1       

ora.ons        ora.ons.type   ONLINE    ONLINE    node1       

ora….ry.acfs ora….fs.type ONLINE    ONLINE    node1       

ora.scan1.vip  ora….ip.type ONLINE    ONLINE    node1       

node1-> 

Oracle 11g OCP Practices and Solutions

一 概述和说明

概述

本实验手册《Oracle 11gR2 OCP Practices and Solutions》内容涵盖Oracle 官方11gR2 OCP培训[Oracle Database 11g Administration Workshop IOracle Database 11g Administration Workshop II]课程所有动手实践内容,用于配合学习官方培训教材,辅助学员备考Oracle 11gR2 OCP,掌握Oracle DBA相关知识,以期祝您顺利通过11g OCP考试,早日进军Oracle DBA高薪金领行业!

读者对象

本系列实验内容涵盖Oracle 官方11gR2 OCP培训内容,因此极为适合需要备考Oracle 11g OCP的朋友们,绝不局限于应试11g OCP考试,所以也可用于一线DBA速查手册,提高您的实际动手能力,告别’Paper’ DBA的尴尬窘境!

在使用和学习的过程中,如果您对Unix/Linux系统有基本的使用经验,外加对关系型数据库有基本认识,是最好不过的了。当然,如果您犹豫的是,这些基本条件您都没有,甚至是一个电脑菜鸟,从未写过程序,未听说过gateway,那么我想,这些都不应该是阻碍您学习Oracle的因素,因为本系列实验手册是傻瓜式的step by step从基础到深入的过程,您需要做的就是照着实验手册,认真独立的完成实验并享受学习Oracle知识的快乐就好!

致谢

首先,最应该感谢的是广大读者和学员朋友们对于我一如既往的的信任与厚爱!如果,您有幸看到这些文字的话(甭管我们是否相识,也甭管您来自哪里?),没错,您就是我最应该感谢的读者和朋友!当然,感谢之外,更是希望通过本人的拙识可以助您顺利通过OCP考试,抑或能在您的实际工作当中派上用场。那样的话,我就心满意足加心安理得!

其次,应该感谢我媳妇儿,是她在我日复一日的精心准备和撰写本系列实验的过程里,主动承担家里家外的的大小杂务,使我可以全身心的投入到制作实验手册的工作中去,并可以享受这整个过程!

最后,臭不要脸的轻声地感谢一下自己,感谢自己可以长期持续的专注于这件看似渺小但实际上有可能给广大学员、网友们带去利好的事情上,并保持着乐观高效的工作状态!

 

版权声明

本系列实验手册中涉及所有文字、图片、视频、音频、代码皆为本人原创内容,在此本人郑重申明,我享有对这些内容的拥有、复制和使用权,未经本人授权,不得以任何形式的传播、转载、复制和使用,如需,请注明内容来源,并经本人许可的前提下自由使用。

    严禁用于各种商业用途,如转载后在淘宝等各网站进行商业性的兜售买卖。具体可见,本人之前的一篇《声讨淘宝上及其他各类非法销售本人Oracle视频作品的卖家和网站》文章!

一步一步在Linux上升级10gR2 RAC到11gR2 RAC(2)

停止10gR2 RAC软件

停止数据库

[root@node1 ~]# su – oracle

node1-> crs_stat -t

Name           Type           Target    State     Host        

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

ora.devdb.db   application    ONLINE    ONLINE    node1       

ora….b1.inst application    ONLINE    ONLINE    node1       

ora….b2.inst application    ONLINE    ONLINE    node2       

ora….c10g.cs application    ONLINE    ONLINE    node1       

ora….db1.srv application    ONLINE    ONLINE    node1       

ora….SM1.asm application    ONLINE    ONLINE    node1       

ora….E1.lsnr application    ONLINE    ONLINE    node1       

ora.node1.gsd  application    ONLINE    ONLINE    node1       

ora.node1.ons  application    ONLINE    ONLINE    node1       

ora.node1.vip  application    ONLINE    ONLINE    node1       

ora….SM2.asm application    ONLINE    ONLINE    node2       

ora….E2.lsnr application    ONLINE    ONLINE    node2       

ora.node2.gsd  application    ONLINE    ONLINE    node2       

ora.node2.ons  application    ONLINE    ONLINE    node2       

ora.node2.vip  application    ONLINE    ONLINE    node2       

node1-> srvctl stop service -d devdb

node1-> crs_stat -t

Name           Type           Target    State     Host        

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

ora.devdb.db   application    ONLINE    ONLINE    node1       

ora….b1.inst application    ONLINE    ONLINE    node1       

ora….b2.inst application    ONLINE    ONLINE    node2       

ora….c10g.cs application    OFFLINE   OFFLINE               

ora….db1.srv application    OFFLINE   OFFLINE               

ora….SM1.asm application    ONLINE    ONLINE    node1       

ora….E1.lsnr application    ONLINE    ONLINE    node1       

ora.node1.gsd  application    ONLINE    ONLINE    node1       

ora.node1.ons  application    ONLINE    ONLINE    node1       

ora.node1.vip  application    ONLINE    ONLINE    node1       

ora….SM2.asm application    ONLINE    ONLINE    node2       

ora….E2.lsnr application    ONLINE    ONLINE    node2       

ora.node2.gsd  application    ONLINE    ONLINE    node2       

ora.node2.ons  application    ONLINE    ONLINE    node2       

ora.node2.vip  application    ONLINE    ONLINE    node2       

node1-> srvctl stop database -d devdb

node1-> crs_stat -t

Name           Type           Target    State     Host        

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

ora.devdb.db   application    OFFLINE   OFFLINE               

ora….b1.inst application    OFFLINE   OFFLINE               

ora….b2.inst application    OFFLINE   OFFLINE               

ora….c10g.cs application    OFFLINE   OFFLINE               

ora….db1.srv application    OFFLINE   OFFLINE               

ora….SM1.asm application    ONLINE    ONLINE    node1       

ora….E1.lsnr application    ONLINE    ONLINE    node1       

ora.node1.gsd  application    ONLINE    ONLINE    node1       

ora.node1.ons  application    ONLINE    ONLINE    node1       

ora.node1.vip  application    ONLINE    ONLINE    node1       

ora….SM2.asm application    ONLINE    ONLINE    node2       

ora….E2.lsnr application    ONLINE    ONLINE    node2       

ora.node2.gsd  application    ONLINE    ONLINE    node2       

ora.node2.ons  application    ONLINE    ONLINE    node2       

ora.node2.vip  application    ONLINE    ONLINE    node2       

node1-> srvctl stop asm -n node1     

node1-> srvctl stop asm -n node2

node1-> crs_stat -t

Name           Type           Target    State     Host        

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

ora.devdb.db   application    OFFLINE   OFFLINE               

ora….b1.inst application    OFFLINE   OFFLINE               

ora….b2.inst application    OFFLINE   OFFLINE               

ora….c10g.cs application    OFFLINE   OFFLINE               

ora….db1.srv application    OFFLINE   OFFLINE               

ora….SM1.asm application    OFFLINE   OFFLINE               

ora….E1.lsnr application    ONLINE    ONLINE    node1       

ora.node1.gsd  application    ONLINE    ONLINE    node1       

ora.node1.ons  application    ONLINE    ONLINE    node1       

ora.node1.vip  application    ONLINE    ONLINE    node1       

ora….SM2.asm application    OFFLINE   OFFLINE               

ora….E2.lsnr application    ONLINE    ONLINE    node2       

ora.node2.gsd  application    ONLINE    ONLINE    node2       

ora.node2.ons  application    ONLINE    ONLINE    node2       

ora.node2.vip  application    ONLINE    ONLINE    node2       

node1-> srvctl stop nodeapps -n node1

node1-> srvctl stop nodeapps -n node2

node1-> crs_stat -t

Name           Type           Target    State     Host        

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

ora.devdb.db   application    OFFLINE   OFFLINE               

ora….b1.inst application    OFFLINE   OFFLINE               

ora….b2.inst application    OFFLINE   OFFLINE               

ora….c10g.cs application    OFFLINE   OFFLINE               

ora….db1.srv application    OFFLINE   OFFLINE               

ora….SM1.asm application    OFFLINE   OFFLINE               

ora….E1.lsnr application    OFFLINE   OFFLINE               

ora.node1.gsd  application    OFFLINE   OFFLINE               

ora.node1.ons  application    OFFLINE   OFFLINE               

ora.node1.vip  application    OFFLINE   OFFLINE               

ora….SM2.asm application    OFFLINE   OFFLINE               

ora….E2.lsnr application    OFFLINE   OFFLINE               

ora.node2.gsd  application    OFFLINE   OFFLINE               

ora.node2.ons  application    OFFLINE   OFFLINE               

ora.node2.vip  application    OFFLINE   OFFLINE               

node1-> 

停止CRS

节点1

[root@node1 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/crsctl stop crs

Stopping resources. This could take several minutes.

Successfully stopped CRS resources.

Stopping CSSD.

Shutting down CSS daemon.

Shutdown request successfully issued.

[root@node1 ~]# 

 

节点2

[root@node2 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/crs_stat -t

Name           Type           Target    State     Host        

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

ora.devdb.db   application    OFFLINE   OFFLINE               

ora….b1.inst application    OFFLINE   OFFLINE               

ora….b2.inst application    OFFLINE   OFFLINE               

ora….c10g.cs application    OFFLINE   OFFLINE               

ora….db1.srv application    OFFLINE   OFFLINE               

ora….SM1.asm application    OFFLINE   OFFLINE               

ora….E1.lsnr application    OFFLINE   OFFLINE               

ora.node1.gsd  application    OFFLINE   OFFLINE               

ora.node1.ons  application    OFFLINE   OFFLINE               

ora.node1.vip  application    OFFLINE   OFFLINE               

ora….SM2.asm application    OFFLINE   OFFLINE               

ora….E2.lsnr application    OFFLINE   OFFLINE               

ora.node2.gsd  application    OFFLINE   OFFLINE               

ora.node2.ons  application    OFFLINE   OFFLINE               

ora.node2.vip  application    OFFLINE   OFFLINE               

[root@node2 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/crsctl stop crs

Stopping resources. This could take several minutes.

Successfully stopped CRS resources.

Stopping CSSD.

Shutting down CSS daemon.

Shutdown request successfully issued.

[root@node2 ~]# 

备份10gR2 RAC软件

备份OCRvoting disk

Note

只需要在其中一个节点备份就可以,因为OCRVoting Disk是存放在共享存储上的。

这里只在节点1上执行备份。

Node1:

[root@node1 ~]# pwd

/root

[root@node1 ~]# mkdir 10gbackup

[root@node1 ~]# ll /dev/raw/ra*

crw-r—– 1 oracle oinstall 162, 1 Dec 24 16:56 /dev/raw/raw1

crw-r—– 1 oracle oinstall 162, 2 Dec 24 16:59 /dev/raw/raw2

[root@node1 ~]# dd if=/dev/raw/raw1 of=/root/10gbackup/10gocr.bak

262112+0 records in

262112+0 records out

134201344 bytes (134 MB) copied, 104.927 seconds, 1.3 MB/s

[root@node1 ~]# dd if=/dev/raw/raw2 of=/root/10gbackup/10gvotingdisk.bak

262112+0 records in

262112+0 records out

134201344 bytes (134 MB) copied, 96.4558 seconds, 1.4 MB/s

[root@node1 ~]# ll /root/10gbackup/

total 262376

-rw-r–r– 1 root root 134201344 Dec 24 17:01 10gocr.bak

-rw-r–r– 1 root root 134201344 Dec 24 17:04 10gvotingdisk.bak

[root@node1 ~]# 

备份RAC初始化脚本

Note

这里需要在双节点上备份/etc/inittab配置文件以及

/etc/init.d/init.crs

/etc/init.d/init.crsd

/etc/init.d/init.cssd

/etc/init.d/init.evmd 初始化脚本。

Node1:

[root@node1 10gbackup]# ll

total 262376

-rw-r–r– 1 root root 134201344 Dec 24 17:01 10gocr.bak

-rw-r–r– 1 root root 134201344 Dec 24 17:04 10gvotingdisk.bak

[root@node1 10gbackup]# cp /etc/inittab /root/10gbackup/inittab.bak

[root@node1 10gbackup]# cp /etc/init.d/init.crs /root/10gbackup/init.crs.bak

[root@node1 10gbackup]# cp /etc/init.d/init.crsd /root/10gbackup/init.crsd.bak

[root@node1 10gbackup]# cp /etc/init.d/init.cssd /root/10gbackup/init.cssd.bak

[root@node1 10gbackup]# cp /etc/init.d/init.evmd /root/10gbackup/init.evmd.bak

[root@node1 10gbackup]# ll

total 262456

-rw-r–r– 1 root root 134201344 Dec 24 17:01 10gocr.bak

-rw-r–r– 1 root root 134201344 Dec 24 17:04 10gvotingdisk.bak

-r-xr-xr-x 1 root root      2436 Dec 24 17:17 init.crs.bak

-r-xr-xr-x 1 root root      5532 Dec 24 17:17 init.crsd.bak

-r-xr-xr-x 1 root root     55174 Dec 24 17:17 init.cssd.bak

-r-xr-xr-x 1 root root      3499 Dec 24 17:17 init.evmd.bak

-rw-r–r– 1 root root      1869 Dec 24 17:16 inittab.bak

[root@node1 10gbackup]# 

Node2:

[root@node2 ~]# cd

[root@node2 ~]# mkdir 10gbackup

[root@node2 ~]# cd 10gbackup/

[root@node2 10gbackup]# ll

total 0

[root@node2 10gbackup]# cp /etc/inittab /root/10gbackup/inittab.bak

[root@node2 10gbackup]# cp /etc/init.d/init.crs /root/10gbackup/init.crs.bak

[root@node2 10gbackup]# cp /etc/init.d/init.crsd /root/10gbackup/init.crsd.bak

[root@node2 10gbackup]# cp /etc/init.d/init.cssd /root/10gbackup/init.cssd.bak

[root@node2 10gbackup]# cp /etc/init.d/init.evmd /root/10gbackup/init.evmd.bak

[root@node2 10gbackup]# ll

total 100

-r-xr-xr-x 1 root root  2436 Dec 24 17:18 init.crs.bak

-r-xr-xr-x 1 root root  5532 Dec 24 17:18 init.crsd.bak

-r-xr-xr-x 1 root root 55174 Dec 24 17:18 init.cssd.bak

-r-xr-xr-x 1 root root  3499 Dec 24 17:18 init.evmd.bak

-rw-r–r– 1 root root  1869 Dec 24 17:18 inittab.bak

[root@node2 10gbackup]# 

备份oracle软件、集群软件

可以用OS tar命令来备份

tar -czf /home/oracle/oracle.tar.z $ORACLE_HOME/

这里不再赘述。

备份数据库

RMAN备份数据库。亦不再赘述。

移除/etc/oracle

Node1:

[root@node1 ~]# ll /etc/oracle/

total 12

-rw-r–r– 1 root oinstall   45 Dec 21 22:19 ocr.loc

drwxrwxr-x 5 root root     4096 Dec 24 16:54 oprocd

drwxr-xr-x 3 root root     4096 Dec 21 22:19 scls_scr

[root@node1 ~]# mv /etc/oracle/ /root/10gbackup/etc_oracle

[root@node1 ~]# ll /etc/oracle

ls: /etc/oracle: No such file or directory

[root@node1 ~]# 

Node2:

[root@node2 ~]# ll /etc/oracle/

total 24

-rw-r–r– 1 root oinstall   45 Dec 21 22:21 ocr.loc

drwxrwxr-x 5 root root     4096 Dec 24 16:55 oprocd

drwxr-xr-x 3 root root     4096 Dec 21 22:21 scls_scr

[root@node2 ~]# mv /etc/oracle/ /root/10gbackup/etc_oracle

[root@node2 ~]# ll /etc/oracle/

total 8

drwxrwxr-x 5 root root 4096 Dec 24 17:29 oprocd

[root@node2 ~]# ll /root/10gbackup/etc_oracle/

total 24

-rw-r–r– 1 root oinstall   45 Dec 21 22:21 ocr.loc

drwxrwxr-x 5 root root     4096 Dec 24 16:55 oprocd

drwxr-xr-x 3 root root     4096 Dec 21 22:21 scls_scr

[root@node2 ~]# 

移除/etc/init.d/init*

Node1:

[root@node1 10gbackup]# cd

[root@node1 ~]# cd /root/10gbackup/

[root@node1 10gbackup]# ll

total 262460

-rw-r–r– 1 root root     134201344 Dec 24 17:01 10gocr.bak

-rw-r–r– 1 root root     134201344 Dec 24 17:04 10gvotingdisk.bak

drwxr-xr-x 4 root oinstall      4096 Dec 21 23:07 etc_oracle

-r-xr-xr-x 1 root root          2436 Dec 24 17:17 init.crs.bak

-r-xr-xr-x 1 root root          5532 Dec 24 17:17 init.crsd.bak

-r-xr-xr-x 1 root root         55174 Dec 24 17:17 init.cssd.bak

-r-xr-xr-x 1 root root          3499 Dec 24 17:17 init.evmd.bak

-rw-r–r– 1 root root          1869 Dec 24 17:16 inittab.bak

[root@node1 10gbackup]# mkdir init_mv

[root@node1 10gbackup]# ll /etc/init.d/init.*

-r-xr-xr-x 1 root root  2436 Dec 21 23:08 /etc/init.d/init.crs

-r-xr-xr-x 1 root root  5532 Dec 21 23:08 /etc/init.d/init.crsd

-r-xr-xr-x 1 root root 55174 Dec 21 23:08 /etc/init.d/init.cssd

-r-xr-xr-x 1 root root  3499 Dec 21 23:08 /etc/init.d/init.evmd

[root@node1 10gbackup]# mv /etc/init.d/init.* /root/10gbackup/init_mv/

[root@node1 10gbackup]# ll /etc/init.d/init.*

ls: /etc/init.d/init.*: No such file or directory

[root@node1 10gbackup]# ll /root/10gbackup/init_mv/

total 76

-r-xr-xr-x 1 root root  2436 Dec 21 23:08 init.crs

-r-xr-xr-x 1 root root  5532 Dec 21 23:08 init.crsd

-r-xr-xr-x 1 root root 55174 Dec 21 23:08 init.cssd

-r-xr-xr-x 1 root root  3499 Dec 21 23:08 init.evmd

[root@node1 10gbackup]# 

Node2:

[root@node2 ~]# cd /root/10gbackup/

[root@node2 10gbackup]# mkdir init_mv

[root@node2 10gbackup]# ll /etc/init.d/init.*

-r-xr-xr-x 1 root root  2436 Dec 21 23:11 /etc/init.d/init.crs

-r-xr-xr-x 1 root root  5532 Dec 21 23:11 /etc/init.d/init.crsd

-r-xr-xr-x 1 root root 55174 Dec 21 23:11 /etc/init.d/init.cssd

-r-xr-xr-x 1 root root  3499 Dec 21 23:11 /etc/init.d/init.evmd

[root@node2 10gbackup]# mv /etc/init.d/init.* /root/10gbackup/init_mv/

[root@node2 10gbackup]# ll /etc/init.d/init.*

ls: /etc/init.d/init.*: No such file or directory

[root@node2 10gbackup]# ll /root/10gbackup/init_mv/

total 92

-r-xr-xr-x 1 root root  2436 Dec 21 23:11 init.crs

-r-xr-xr-x 1 root root  5532 Dec 21 23:11 init.crsd

-r-xr-xr-x 1 root root 55174 Dec 21 23:11 init.cssd

-r-xr-xr-x 1 root root  3499 Dec 21 23:11 init.evmd

[root@node2 10gbackup]# 

修改/etc/inittab文件

Node1:

[root@node1 10gbackup]# tail -10 /etc/inittab

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

 

# Run xdm in runlevel 5

x:5:respawn:/etc/X11/prefdm -nodaemon

#h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 </dev/null

#h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 </dev/null

#h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 </dev/null

[root@node1 10gbackup]#

Node2:

[root@node2 10gbackup]# tail -10 /etc/inittab

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

 

# Run xdm in runlevel 5

x:5:respawn:/etc/X11/prefdm -nodaemon

#h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 </dev/null

#h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 </dev/null

#h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 </dev/null

[root@node2 10gbackup]# 

删除/tmp/.oracle/var/tmp/.oracle

Node1:

[root@node1 10gbackup]# ll /tmp/.oracle/

total 0

[root@node1 10gbackup]# ll /var/tmp/.oracle/

total 0

srwxrwxrwx 1 oracle oinstall 0 Dec 22 10:08 s#4353.1

srwxrwxrwx 1 oracle oinstall 0 Dec 22 10:08 s#4353.2

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sAnode1_crs_evm

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sCnode1_crs_evm

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sCRSD_UI_SOCKET

srwxrwxrwx 1 root   root     0 Dec 24 16:55 snode1DBG_CRSD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 snode1DBG_CSSD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 snode1DBG_EVMD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOCSSD_LL_node1_

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOCSSD_LL_node1_crs

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOracle_CSS_LclLstnr_crs_1

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sora_crsqs

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sprocr_local_conn_0_PROC

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sSYSTEM.evm.acceptor.auth

[root@node1 10gbackup]# rm -rf /tmp/.oracle/

[root@node1 10gbackup]# rm -rf /var/tmp/.oracle/

[root@node1 10gbackup]# 

[root@node1 10gbackup]# 

[root@node1 10gbackup]# ll /tmp/.oracle/

ls: /tmp/.oracle/: No such file or directory

[root@node1 10gbackup]# ll /var/tmp/.oracle/

ls: /var/tmp/.oracle/: No such file or directory

[root@node1 10gbackup]# 

Node2:

[root@node2 10gbackup]# ll /tmp/.oracle/

total 0

[root@node2 10gbackup]# ll /var/tmp/.oracle/

total 64

srwxrwxrwx 1 oracle oinstall 0 Dec 22 10:08 s#15791.1

srwxrwxrwx 1 oracle oinstall 0 Dec 22 10:08 s#15791.2

srwxrwxrwx 1 oracle oinstall 0 Dec 23 14:37 s#5706.1

srwxrwxrwx 1 oracle oinstall 0 Dec 23 14:37 s#5706.2

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sAnode2_crs_evm

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sCnode2_crs_evm

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sCRSD_UI_SOCKET

srwxrwxrwx 1 root   root     0 Dec 24 16:55 snode2DBG_CRSD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 snode2DBG_CSSD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 snode2DBG_EVMD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOCSSD_LL_node2_

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOCSSD_LL_node2_crs

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOracle_CSS_LclLstnr_crs_2

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sora_crsqs

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sprocr_local_conn_0_PROC

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sSYSTEM.evm.acceptor.auth

[root@node2 10gbackup]# rm -rf /tmp/.oracle/

[root@node2 10gbackup]# rm -rf /var/tmp/.oracle/

[root@node2 10gbackup]# ll /tmp/.oracle

ls: /tmp/.oracle: No such file or directory

[root@node2 10gbackup]# ll /var/tmp/.oracle

ls: /var/tmp/.oracle: No such file or directory

[root@node2 10gbackup]# 

 

最后,重启RAC双节点,确认RAC相关服务、后台进程不再出现。