AS4 10g 单节点迁移到ASM RAC步骤总结

AS4上 迁移单实例节点到RAC

迁移过程大概记录:


1.准备sharedisk

准备两块共享磁盘,一块用于ocr vdisk,一块用于ASM

 


2.为ASM 建立vg lv raw

 

NODE 1:

a.建立分区(linux 因为LV 的raw 会覆盖cylinders 0 ,而分区默认是从cylinders 1开始,所以要用分区):


fdisk ,主节点先分区,第二个节点直接fdisk w写入就行

b.绑定RAW:

 

绑定参数加入配置文件:

[root@pri ~]# vi /etc/sysc
sysconfig/   sysctl.conf
[root@pri ~]# vi /etc/sysconfig/rawdevices

# This file and interface are deprecated.
# Applications needing raw device access should open regular
# block devices with O_DIRECT.
# raw device bindings
# format: <rawdev> <major> <minor>
#          <rawdev> <blockdev>
# example: /dev/raw/raw1 /dev/sda1
#          /dev/raw/raw2 8 5
/dev/raw/raw1 253 2
/dev/raw/raw2 /dev/sdc1               
/dev/raw/raw3 /dev/sdc3

"/etc/sysconfig/rawdevices" 11L, 347C written   

c.重启服务生效
[root@pri ~]# service rawdevices restart
Assigning devices:
           /dev/raw/raw1 -->   253 2
/dev/raw/raw1: bound to major 253, minor 2
           /dev/raw/raw2 -->   /dev/sdc1
/dev/raw/raw2: bound to major 8, minor 33
           /dev/raw/raw3 -->   /dev/sdc3
/dev/raw/raw3: bound to major 8, minor 35

d.修改RAW权限:

 

[root@pri ~]# chown oracle:dba /dev/raw/raw*
[root@pri ~]# ll /dev/raw/raw*
crw-rw---- 1 oracle dba 162, 1 Jul 17 22:16 /dev/raw/raw1
crw-rw---- 1 oracle dba 162, 2 Jul 17 23:42 /dev/raw/raw2
crw-rw---- 1 oracle dba 162, 3 Jul 17 23:42 /dev/raw/raw3

e.用久修改权限文件,防止重启后失效:

[root@pri ~]# vi /etc/udev/permissions.d/50-udev.permissions
找到这一行,修改成:

# raw devices
ram*:oracle:disk:0660
raw/*:oracle:disk:0660

 

NODE 2:
root@standby ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "oraclevg" using metadata type lvm2
Found volume group "VolGroup00" using metadata type lvm2
[root@standby ~]# vgdisplay -v oraclevg

激活scan到的VG
[root@standby ~]# vgchange -a y oraclevg
  

其余步骤参照NODE 1中的b.---e.
  

3.建立ASM 实例


On the first node, create an init+ASM1A.ora file in $ORACLE_HOME/dbs with the following parameters:


vi init+ASM1A.ora


asm_diskstring='/dev/raw/raw*'
background_dump_dest=/oracle/admin/+ASM/bdump
core_dump_dest=/oracle/admin/+ASM/cdump
user_dump_dest=/oracle/admin/+ASM/udump
instance_type=asm
large_pool_size=16M
remote_login_passwordfile=exclusive
+ASM1A.instance_number=1
+ASM1B.instance_number=2


4.Create ASM password file.
Using the orapwd utility, create an orapw+ASM1A file in $ORACLE_HOME/dbs on the first node.

[oracle@salmon1]$ cd $ORACLE_HOME/dbs
[oracle@salmon1]$ orapwd file=orapw+ASM1A password=sys entries=5


5.Create the first ASM instance.
Create the first ASM instance on the first node. The second ASM instance will be created in Post Installation after the CRS

software is installed on the second node.

[oracle@salmon1]$ export ORACLE_SID=+ASM1A
[oracle@salmon1]$ sqlplus / as sysdba

SQL*Plus: Release 10.1.0.3.0 - Production on Thu May 26 05:51:07 2005

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 104857600 bytes
Fixed Size                777616 bytes
Variable Size             104079964 bytes
Database Buffers          0 bytes
Redo Buffers              0 bytes
ORA-15110: no diskgroups mounted

6. Create the ASM instance spfile.
Create a spfile immediately after the ASM instance starts. With spfile, any newly created disk groups are automatically

added to the spfile.

SQL> create spfile from pfile;

File created.

 

7. Create disk groups.

CREATE DISK GRROUP DATA EXTERNAL REDUNDANCY DISK '/dev/raw/raw1'


8.Migrate data files to ASM.

You must use RMAN to migrate the data files to ASM disk groups. All data files will be migrated to the newly created disk

group, DG1. The redo logs and control files are created in DG1 and DG2. In a production environment, you should store redo

logs on different set of disks and disk controllers from the rest of the Oracle data files.


[oracle@pri dbs]$export ORALCE_SID=test
[oracle@pri dbs]$sqlplus '/as sysdba'

SQL> alter system set db_create_file_dest=’+DG1’;

System altered.

SQL> alter system set control_files='+DG1/cf1.dbf' scope=spfile;

System altered.

SQL> shutdown immediate;


[oracle@pri dbs]$

[oracle@pri ~]$ rman target /


RMAN> startup nomount;

Oracle instance started

Total System Global Area     524288000 bytes

Fixed Size                     1268460 bytes
Variable Size                146801940 bytes
Database Buffers             373293056 bytes
Redo Buffers                   2924544 bytes


RMAN> restore controlfile from '/oracle/oradata/test/control01.ctl'

RMAN> restore controlfile from '/oracle/oradata/test/control01.ctl';

Starting restore at 17-7月 -09
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=321 devtype=DISK

 

channel ORA_DISK_1: copied control file copy
output filename=+DATA/control01.ctl
Finished restore at 17-7月 -09

RMAN>
RMAN>
RMAN> alter database mount;

database mounted
released channel: ORA_DISK_1


RMAN> backup as copy database format '+DATA';

Starting backup at 17-7月 -09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=321 devtype=DISK
channel ORA_DISK_1: starting datafile copy
input datafile fno=00001 name=/oracle/oradata/test/system01.dbf
output filename=+DATA/test/datafile/system.257.692491979 tag=TAG20090717T225226 recid=4 stamp=692492102
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:02:37
channel ORA_DISK_1: starting datafile copy
input datafile fno=00003 name=/oracle/oradata/test/sysaux01.dbf
output filename=+DATA/test/datafile/sysaux.258.692492119 tag=TAG20090717T225226 recid=5 stamp=692492208
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:46
channel ORA_DISK_1: starting datafile copy
input datafile fno=00002 name=/oracle/oradata/test/undotbs01.dbf
output filename=+DATA/test/datafile/undotbs1.259.692492223 tag=TAG20090717T225226 recid=6 stamp=692492266
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:06
channel ORA_DISK_1: starting datafile copy
input datafile fno=00009 name=/oracle/oradata/usertmp01.dbf
output filename=+DATA/test/datafile/userstmp.260.692492289 tag=TAG20090717T225226 recid=7 stamp=692492300
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:25
Finished backup at 17-7月 -09


RMAN> switch database to copy;

datafile 1 switched to datafile copy "+DATA/test/datafile/system.257.692491979"
datafile 2 switched to datafile copy "+DATA/test/datafile/undotbs1.259.692492223"
datafile 3 switched to datafile copy "+DATA/test/datafile/sysaux.258.692492119"
datafile 9 switched to datafile copy "+DATA/test/datafile/userstmp.260.692492289"


RMAN> alter database open;

database opened

RMAN> exit

 

[oracle@pri ~]$ sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.4.0 - Production on 星期五 7月 17 23:04:28 2009

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


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Data Mining and Real Application Testing options


SQL>select tablespace_name, file_name from dba_data_files;

TABLESPACE_NAME FILE_NAME
--------------- --------------------------------------------------------------------------------
SYSAUX          +DATA/test/datafile/sysaux.258.692492119
UNDOTBS1        +DATA/test/datafile/undotbs1.259.692492223
SYSTEM          +DATA/test/datafile/system.257.692491979
USERSTMP        +DATA/test/datafile/userstmp.260.692492289


9.Migrate temp tablespace to ASM.

SQL> alter tablespace temp add tempfile size 100M;

Tablespace altered.


SQL> select file_name from dba_temp_files;

FILE_NAME
--------------------------------------------------------------------------------
+DATA/test/tempfile/temp.261.692493003
/oracle/oradata/test/temp01.dbf

10.Migrate redo logs to ASM.

Drop existing redo logs and recreate them in ASM disk groups


SQL> select group#, members,status from v$log;

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          2 INACTIVE
         2          2 INACTIVE
         3          2 CURRENT

SQL> select group#, members,status from v$log;

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          2 INACTIVE
         2          2 INACTIVE
         3          2 CURRENT

SQL> alter database drop logfile group 1;

Database altered.

SQL> alter database add logfile group 1 size 50m;

Database altered.

SQL> alter database drop logfile group 2;

Database altered.

SQL> alter database add logfile group 2 size 50m;

Database altered.

SQL> alter system switch logfile;

System altered.

SQL> alter system switch logfile;

System altered.

SQL> select group#, members,status from v$log;

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          2 ACTIVE
         2          2 CURRENT
         3          2 ACTIVE

SQL> /

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          2 ACTIVE
         2          2 CURRENT
         3          2 ACTIVE

SQL> /

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          2 ACTIVE
         2          2 CURRENT
         3          2 ACTIVE

SQL> /

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          2 ACTIVE
         2          2 CURRENT
         3          2 ACTIVE

SQL> /

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          2 ACTIVE
         2          2 CURRENT
         3          2 ACTIVE

SQL> /

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          2 ACTIVE
         2          2 CURRENT
         3          2 ACTIVE

SQL> /

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          2 ACTIVE
         2          2 CURRENT
         3          2 ACTIVE

SQL> /

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          2 ACTIVE
         2          2 CURRENT
         3          2 INACTIVE

SQL> alter database drop logfile group 3;

Database altered.

SQL> select group#, member from v$logfile;

    GROUP# MEMBER
---------- --------------------------------------------------
         2 +DATA/test/onlinelog/group_2.264.692493817
         2 +DATA/test/onlinelog/group_2.265.692493831
         1 +DATA/test/onlinelog/group_1.262.692493755
         1 +DATA/test/onlinelog/group_1.263.692493769


11.Create pfile from spfile.
Create and retain a copy of the database pfile. You'll add more RAC specific parameters to the pfile later, in the Post

Installation


SQL> create pfile from spfile;

File created.


-------------------------------------------------------------------------------------
准备安装crs软件

 


12.两端建立ORACLE 用户 和DBA组,注意uid gid相同

13.配置用户等效性

下面是两个节点都做:
[oracle@pri ~]$ chmod 700 ~/.ssh
[oracle@pri ~]$ /usr/bin/ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /oracle/.ssh/id_rsa.
Your public key has been saved in /oracle/.ssh/id_rsa.pub.
The key fingerprint is:
0a:f6:07:73:56:3a:14:3b:a1:36:b6:81:df:83:80:71 oracle@pri
[oracle@pri ~]$ /usr/bin/ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /oracle/.ssh/id_dsa.
Your public key has been saved in /oracle/.ssh/id_dsa.pub.
The key fingerprint is:
eb:63:ed:18:2f:39:d6:41:f5:e7:36:43:e4:22:fd:0b oracle@pri


只在NODE1:
[oracle@pri ~]$ more ~/.ssh/authorized_keys
/oracle/.ssh/authorized_keys: No such file or directory
[oracle@pri ~]$ touch ~/.ssh/authorized_keys
[oracle@pri ~]$ cd ~/.ssh
[oracle@pri .ssh]$ ll
total 20
-rw-r--r-- 1 oracle dba   0 Jul 18 00:12 authorized_keys
-rw------- 1 oracle dba 736 Jul 18 00:10 id_dsa
-rw-r--r-- 1 oracle dba 600 Jul 18 00:10 id_dsa.pub
-rw------- 1 oracle dba 963 Jul 18 00:10 id_rsa
-rw-r--r-- 1 oracle dba 220 Jul 18 00:10 id_rsa.pub
-rw-r--r-- 1 oracle dba 620 Jul 2 22:40 known_hosts

[oracle@pri .ssh]$ ssh pri cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
[oracle@pri .ssh]$ ssh pri cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[oracle@pri .ssh]$ ssh standby cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[oracle@pri .ssh]$ ssh standby cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


[oracle@pri .ssh]$ scp authorized_keys standby:/oracle/.ssh
oracle@standby's password:
authorized_keys                                                                                   100% 1648     1.6KB/s  

00:00   
[oracle@pri .ssh]$ chmod 600 ~/.ssh/authorized_keys(两个节点 )

 

14.在XMANAGER 的shell中输入:为了installer不用输入密码访问node2

$ exec /usr/bin/ssh-agent $SHELL
$ /usr/bin/ssh-add

15.Preventing Oracle Clusterware Installation Errors Caused by stty Commands

During an Oracle Clusterware installation, Oracle Universal Installer uses SSH (if available) to run commands and copy

files to the other nodes. During the installation, hidden files on the system (for example, .bashrc or .cshrc) will cause

installation errors if they contain stty commands.


编辑.bashrc
if [ -t 0 ]; then
   stty intr ^C
fi

 

16.暂时要把OCR 的权限改成root:dba
[root@pri tmp]# chown root:dba /dev/raw/raw2

 

 

 

 

 

 

 

 

 

清除


rm -rf /etc/oracle/
rm -f /etc/init.d/init.cssd
rm -f /etc/init.d/init.crs
rm -f /etc/init.d/init.crsd
rm -f /etc/init.d/init.evmd
rm -f /etc/rc2.d/K96init.crs
rm -f /etc/rc2.d/S96init.crs
rm -f /etc/rc3.d/K96init.crs
rm -f /etc/rc3.d/S96init.crs
rm -f /etc/rc5.d/K96init.crs
rm -f /etc/rc5.d/S96init.crs
rm -Rf /etc/oracle/scls_scr
rm -f /etc/inittab.crs
cp /etc/inittab.orig /etc/inittab
rm -rf /oracle/product/10.2.0.1/crs
rm -rf /oracle/oraInventory/


转载请标明出处:http://hi.baidu.com/%C8%FD%B7%C9%D4%C6/blog/item/05d58fc3fd8a675cb219a8cd.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值