利用RMAN将Oracle 11g的文件系统单实例数据库移植到双机RAC+ASM环境的过程
- 格式:docx
- 大小:24.00 KB
- 文档页数:11
Oracle 11G R2 RAC实施过程图文版(本文仅限于11G R2 on redhatlinux 6.x系列)内容目录1 实施准备 (2)1.1 调研与方案制定 (2)1.2 存储划分方案(参考) (3)1.3 介质 (4)2 设置系统 (4)2.1 系统检查 (4)2.1.1 cpu信息 (4)2.1.1 确认内存大小 (5)2.1.2 检查文件系统 (5)2.1.3 检查网络设置 (6)2.2 设置操作系统 (7)2.2.1 主机正名 (7)2.2.2 配置本地主机名解析hosts文件 (7)2.2.3 修改内核参数 (7)2.2.4 关闭防火墙服务 (8)2.2.5 关闭selinux (8)2.2.6 配置时钟同步 (9)2.3 设置软件安装/运行用户 (9)2.3.1 创建用户 (9)2.3.2 设置初始密码 (10)2.3.3 设置用户进程资源配额 (10)2.4 设置存储 (10)2.4.1 多路径软件配置 (10)2.4.2 udev绑定参考 (11)3 安装软件 (12)3.1 准备安装介质 (12)3.1.1 准备目录和权限(所有节点) (12)3.1.2 上传zip包(推荐ftp方式) (12)3.1.3 使用grid用户解包 (13)3.2 安装集群软件 (13)3.2.1 运行安装程序runInstaller (13)3.2.2 设置grid用户环境变量 (37)3.2.3 验证资源和服务状态,确定成功安装 (37)3.2.4 验证缺省监听 (38)3.2.5 查看scan_listener (39)3.3 安装数据库软件 (39)3.3.1 运行交互式安装程序runInstaller (39)3.3.2 为oracle用户的添加软件环境变量 (47)4 创建数据库 (47)4.1 创建asm diskgroup (47)4.1.1 以grid用户运行asmca工具 (47)4.2 创建数据库zbwshx(在1节点操作) (49)5 应用累计补丁更新PSU (69)5.1 升级补丁工具opatch (69)5.2 补丁1节点软件 (69)5.3 补丁2节点软件 (71)5.4 升级数据库(1节点操作) (71)6 附加脚本(可选) (72)6.1 调整数据库一些缺省设置 (72)6.2 管理集群服务 (73)7 初始化业务环境(举例) (73)1 实施准备1.1 调研与方案制定1.2 存储划分方案(参考)存储要1T1T分配,超过2T会有问题1.3 介质2 设置系统2.1 系统检查2.1.1 cpu信息1 查看物理cpu数shell(root)>cat /proc/cpuinfo |grep physical\ id|sort|uniq2 查看单个cpu coresshell(root)>cat /proc/cpuinfo |grepcpu\ cores|uniq3 查看单个是否超线程shell(root)>cat /proc/cpuinfo |grepcpu\ cores|uniq4 合计cpu coresshell(root)>cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c shell(root)>mpstat 12.1.1 确认内存大小物理内存是256Gswap取值算法为物理内存的一倍,当物理内存超过64G,建议>=物理内存,这里32G符合最小2.1.2 检查文件系统/var和/tmp空间至少2G,建议10G/dev/shm共享空间设为物理内存/2 2.1.3 检查网络设置检查1节点public网卡设置检查2节点public网卡设置检查1节点private网卡地址(第一组)检查2节点private网卡设置(第一组)检查1节点 private网卡(第二组)检查2节点private网卡(第二组)2.2 设置操作系统2.1.1 主机正名1节点(全部小写最好了)2节点注意:重新登陆确认改变生效2.1.2 配置本地主机名解析hosts文件shell(root)>vi /etc/hosts#public address192.168.9.101 zbwshx01192.168.9.102 zbwshx02#public vip address192.168.9.103 zbwshx01-vip192.168.9.104 zbwshx02-vip192.168.9.105 zbwshx-cluster-scan(建议3个,用DNS解析)#private group #110.10.11.11 zbwshx01-priv110.10.11.12 zbwshx02-priv1#private group #210.10.12.11 zbwshx01-priv210.10.12.12 zbwshx02-priv2#NTP服务器192.168.5.11 ntpserver2.1.3 修改内核参数1.编辑sysctl.confshell(root)>vi /etc/sysctl.conf#ORACLE SETTINGfs.aio-max-nr = 1048576fs.file-max = 6815744#{shmall}单位pages,命令"echo $((物理内存/$(getconf PAGESIZE)))"(计算:物理内存/4096)kernel.shmall = 67108864#{shmmax},单位bytes,为物理内存一半,echo $((256*1024*1024*1024/2))kernel.shmmax = 137438953472(物理内存/2)kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048586net.ipv4.ipfrag_high_thresh=524288net.ipv4.ipfrag_low_thresh=393216net.ipv4.tcp_rmem=4096 524288 16777216net.ipv4.tcp_wmem=4096 524288 16777216net.ipv4.tcp_timestamps=0net.ipv4.tcp_sack=0net.ipv4.tcp_window_scaling=1net.core.optmem_max=524287dev_max_backlog=2500sunrpc.tcp_slot_table_entries=128sunrpc.udp_slot_table_entries=128net.ipv4.tcp_mem=16384 16384 16384#多心跳网卡时需要多播技术net.ipv4.conf.default.rp_filter = 0#多播设备eth2,eth4net.ipv4.conf.eth2.rp_filter = 0net.ipv4.conf.eth4.rp_filter = 02.生效shell(root)>modprobesunrpcshell(root)>sysctl -p2.1.4 关闭防火墙服务shell(root)>chkconfig --level 2345 iptables offshell(root)>chkconfig --level 2345 ip6tables offshell(root)>service iptables stopshell(root)>service ip6tables stop2.1.5 关闭selinuxshell(root)>setenforce 0shell(root)>vi /etc/selinux/configSELINUX=disabled2.1.6 配置时钟同步∙配置NTP服务器<非数据库内容,略>∙配置ntp客户端shell(root)>vi /etc/ntp.conf注释掉其他restrict和server条目,增加如下serverntpserverrestrictntpserver mask 255.255.255.255nomodifynotrapnoquery ∙修改ntpd配置文件shell(root)>vi /etc/sysconfig/ntpdSYNC_HWCLOCK=yesOPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"∙重启ntpd进程shell(root)>chkconfig --level 2345 ntpd onshell(root)>service ntpd start∙确认握手成功shell(root)>ntpq -p(初次同步需要一定时间)∙检查状态shell(root)>ntpstat2.2 设置软件安装/运行用户2.2.1 创建用户shell(root)>groupadd -g 10501 oinstallshell(root)>groupadd -g 10502 asmadminshell(root)>groupadd -g 10503 asmdbashell(root)>groupadd -g 10504 asmopershell(root)>groupadd -g 10505 dbashell(root)>groupadd -g 10506 opershell(root)>useradd -m -u 10501 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -s /bin/bash -c "Grid Infrastructure Owner" gridshell(root)>useradd -m -u 10502 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle2.2.2 设置初始密码shell(root)>password gridshell(root)>password oracle2.2.3 设置用户进程资源配额shell(root)>vi /etc/security/limits.conf#ORACLE SETTINGroot soft nproc 2047root hard nproc 16384root soft nofile 1024root hard nofile 65536root soft stack 10240root hard stack 32768grid soft nproc 2047grid hard nproc 16384grid soft nofile 1024grid hard nofile 65536grid soft stack 10240grid hard stack 32768oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240oracle hard stack 327682.3 设置存储要求:✓同一个lun/vdisk在每个节点上设备名一致✓根据方案,通过scsi_id确认每一个lun/vdisk从存储上划分正确的✓共享模式要求在lun/vdisk在每个节点能同时读写✓RAC安装,lun/vdisk在操作系统上的设备名的属主是grid,组主是asmadmin,权限6602.3.1 多路径软件配置<非数据库内容,略>redhatlinux自带多路径软件multipath的参考文档官方文档:https:///documentation/zh-CN/Red_Hat_Enterprise_Linux/6/html/DM_Multipath/index.html百度搜索文档:/i6241962348353946114/绑定用户组案例:/2014/01/multipath实现设备用户组设置.html2.3.2 udev绑定参考注意:∙如果多路径软件已经实现了设备名绑定、属(组)主设置、权限设置,则不需要再配置udev∙udev不具有多路径failover能力∙本例为scsi磁盘∙∙1.shell(root)>fdisk -l|grep Disk\ /dev/sd根据系统人员告知,设备sda是本地操作系统宿主硬盘,不能使用,剩下的是共享磁盘2.查看scsi_idshell(root)>scsi_id -gvu /dev/sdN3.新建或编辑udev的rule文件shell(root)>vi /etc/udev/rules.d/99-oracle.rules(必须是99)KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36006016010402600126dd2e653ebe511", NAME+="crs_01", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="360060160104026004eb5b3db53ebe511", NAME+="crs_02", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="360060160104026006edcb7d153ebe511", NAME+="crs_03", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36006016010402600f0b413ee53ebe511", NAME+="fra_data_01", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36006016010402600162f6d1254ebe511", NAME+="zbwshx_data_01", OWNER="grid", GROUP="asmadmin", MODE="0660"4.启动udevshell(root)>udevadm control reload-rulesshell(root)>start_udev3 安装软件3.1 准备安装介质(介质上传到/u01/media/oracle/linux_x64目录)3.1.1 准备目录和权限(所有节点)shell(root)>mkdir -p /u01/media/oracle/linux_x64shell(root)>chown -R grid:oinstall /u01shell(root)>chmod -R g+w /u013.1.2 上传zip包(推荐ftp方式)✓用grid用户上传✓上传grid安装包,database安装包,补丁包,补丁工具✓上传后介质属主grid,组主oinstall3.1.3 使用grid用户解包shell(grid)>cd /u01/media/oracle/linux_x64shell(grid)>unzip p1*******_112040_Linux-x86-64_1of7.zipshell(grid)>unzip p1*******_112040_Linux-x86-64_2of7.zipshell(grid)>unzip p1*******_112040_Linux-x86-64_3of7.zip3.2 安装集群软件3.2.1 运行安装程序runInstallershell(grid)>cd gridshell(grid)>./runInstaller提示:为了把x-windows程序的界面投射到windows终端上,需要执行2个步骤1.在windows上启动本地X11Forward程序,推荐x-manager中的xpassive(端口默认6000,注意firewall)2.在服务器上设定shell环境变量:export DISPLAY=YourIP:0.03.执行xclock测试在DHCP+DNS的环境,需要激活GNS,这里关闭本方案只有一个SCAN IP,使用/etc/hosts解析(也就是说需要将SCAN IP写入到/etc/hosts 下)建立主机之间ssh互信,这样可以免密码互相登陆,oracle安装过程中会把1节点的软件自动复制到2节点。
rac数据库RMAN 备份与恢复一、数据库备份在主库上通过rman 每天对数据库进行备份,并且保留两份备份在主库删除归档和进行rman 备份的脚本:[oracle@rac1 arch]$ pwd/opt/app/arch[oracle@rac1 arch]$ more del_arch.shexport ORACLE_SID=orcl1export ORACLE_BASE=/opt/app/oracleexport ORACLE_TERM=xtermexport ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1source /opt/app/arch/orcl1/del_arch.listsource /opt/app/arch/orcl2/del_arch.list/opt/app/oracle/product/10.2.0/db_1/bin/rman target / log='/opt/app/arch/rman.log' <<EOFdelete obsolete recovery window of 3 days;crosscheck archivelog all;delete noprompt obsolete;delete noprompt expired archivelog all;crosscheck backup;delete noprompt expired backup;backup format='/opt/app/arch/rman/orcl_full_%U_%T' tag='orcl_full' database;backup current controlfile tag='orcl_ctlfile'format='/opt/app/arch/rman/orcl_ctlfile_%U_%T';backup spfile tag='orcl_spfile'format='/opt/app/arch/rman/orcl_spfile_%U_%T';exitEOF执行时间:[oracle@rac1 arch]$ crontab -l30 02 * * 0 /opt/app/arch/del_arch.sh30 02 * * 1 /opt/app/arch/del_arch.sh30 02 * * 2 /opt/app/arch/del_arch.sh30 02 * * 3 /opt/app/arch/del_arch.sh30 02 * * 4 /opt/app/arch/del_arch.sh30 02 * * 5 /opt/app/arch/del_arch.sh30 02 * * 6 /opt/app/arch/del_arch.sh每天的备份文件放在/opt/app/arch/rman/目录下二、数据库恢复如果数据库出现故障,可以从备份文件中恢复数据库,最早可以恢复到两天前的备份时间点RAC 下的RMAN 讲究的是备份和还原的策略要一致。
在Oracle 10g下,我们可以使用RMAN duplicate 命令创建一个具有不同DBID 的复制库。
到了Oracle 11gR2,RMAN 的duplicate 有2种方法实现:1. Active database duplication2. Backup-based duplicationActive database duplication 通过网络,直接copy target 库到auxiliary 库,然后创建复制库。
这种方法就不需要先用RMAN 备份数据库,然后将备份文件发送到auxiliary端。
这个功能的作用是非常大的。
尤其是对T级别的库。
因为对这样的库进行备份,然后将备份集发送到备库,在进行duplicate 的代价是非常大的。
一备份要占用时间,二要占用备份空间,三在网络传送的时候,还需要占用带宽和时间。
所以Active database duplicate 很好的解决了以上的问题。
它对大库的迁移非常有用。
如果是从RAC duplicate 到单实例,操作是一样的。
如果是从单实例duplicate 到RAC。
那么先duplicate 到单实例。
然后将单实例转换成RAC。
Oracle 10g 下Rman duplicate 的例子参考:RMAN 异机复制数据库下面我们看一下11gR2下,Active Database Duplicate的步骤如下:1. 创建Auxiliary 库的Initialization Parameter:如果使用spfile,那么在pfile文件里只需要设置一个DB_NAME参数,其他参数会在duplicate 命令中自己设置。
如果使用pfile,那么需要设置如下参数:DB_NAMECONTROL_FILESDB_BLOCK_SIZEDB_FILE_NAME_CONVERTLOG_FILE_NAME_CONVERTDB_RECOVERY_FILE_DEST2. 在Auxiliary库创建Password File 文件对于Backup-based duplication,Password File 不是必须的,但是对于Active Database Duplication,Password File是必须的。
Oracle 11G数据库DataGuard灾备切换方案、检查1、确定MRP进程在正常运行real-time apply real-time apply SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;2、确定有足够的归档进程在所有的主备库实例上查询参数LOG_ARCHIVE_MAX_PROCESSES,确定其值大于等于4, 但不会太大3、确定目标备库的REDO为clear状态虽然在发起SWITCHOVER TO PRIMARY命令时,备库的REDO会自动转换为CLEAR 状态,但依然建议在SWITCHOVER前REDO为CLEAR状态。
确保正确设置了 LOG_FILE_NAME_CONVERT参数。
AND L.STATUS NOT IN (\UNUSED’,、CLEARING’,’CLEARING_CURRENT’);如果如上的查询有结果,4、确定没有大量的GAP5、确定主库以及目标备库的所有文件都为ONLINE主备库分别执行如下SQL,查看tempfile是否正常,如果备库上缺失文件则需要进行处、切换1、检查主库是否可切换至STANDBY如上的SQL查询结果如果为〃TO STANDBY”或者〃SESSIONS ACTIVE〃表示主库可切换至STANDBY,如果不为这两个值,则说明REDO传输存在问题。
2、停止主库第一个节点以外的所有实例(RAC)最好使用shutdown normal或者shutdown immediate方式停止数据库。
如果使用了shutdown abort将其他节点进行了关闭,则需等待RAC reconfig完成,且第一个节点将其余REDO正常前滚或回滚3、切换主库至STANDBY角色如果遇到ORA-16139报错,且V$DATABASE视图中DATABASE_ROLE字段的值已为“ PHYSICAL STANDBY”,则可继续(这种问题的出现其中一个可能是数据库有大量的数据文件)。
Oracle双机热备架构方案一想到Oracle双机热备,我脑海中立刻浮现出那些无数个夜晚,灯火通明的数据中心,以及那些为了保证数据安全、系统稳定而奋斗的工程师们。
在这个方案中,我们要解决的问题是如何确保关键业务数据的实时备份和快速恢复,下面就是我构思这个方案的过程。
我们需要明确Oracle双机热备的架构。
Oracle双机热备,顾名思义,就是两台服务器互为备份,一台为主机,另一台为备机。
当主机发生故障时,备机能够迅速接管主机的业务,保证业务的连续性。
1.架构设计(1)硬件设备我们需要两台性能相近的服务器,最好是同一型号,这样可以减少硬件兼容性问题。
服务器需要具备较高的处理能力,以满足业务需求。
(2)存储设备为了实现数据的实时备份,我们需要使用共享存储设备。
这里有两种选择:磁盘阵列和存储网络。
磁盘阵列可以提供较高的数据读写速度,但成本较高;存储网络则相对便宜,但性能略有不足。
根据实际需求,我们可以选择合适的存储方案。
(3)网络设备为了实现数据的实时同步,我们需要搭建一个高速网络。
这里建议使用万兆以太网,以保证数据传输速度。
2.软件配置(1)操作系统(2)Oracle数据库在两台服务器上安装Oracle数据库,并配置好数据库实例。
为了保证数据的一致性,我们需要使用OracleDataGuard来实现实时数据备份。
(3)集群管理软件为了实现故障切换,我们需要使用集群管理软件。
这里推荐使用OracleClusterware,它可以帮助我们实现快速的故障切换和恢复。
3.实施步骤(1)搭建硬件环境我们需要将两台服务器连接到共享存储设备,并配置好网络设备。
(2)安装操作系统在两台服务器上安装相同的操作系统,并配置好网络参数。
(3)安装Oracle数据库在两台服务器上安装Oracle数据库,并配置好数据库实例。
(4)配置OracleDataGuard在主机上创建一个物理备份,然后将备份传输到备机。
在备机上配置OracleDataGuard,实现实时数据备份。
一、概述Oracle RAC(Real Application Clusters)是Oracle公司开发的一种集裙数据库解决方案,它允许多台服务器共享一个数据库。
Oracle RAC采用了双活(Active-Active)架构,即每台数据库服务器都可以同时读写数据,相互之间实时同步。
这种架构提高了数据库的可用性和性能,但也带来了一些挑战,比如双活原理的实现。
二、双活原理的核心思想1. 数据同步双活原理的核心思想是保持所有节点之间的数据一致性。
当一台节点更新了数据,其他节点需要立即感知到这个变化,并进行相应的同步操作。
这就要求实现实时的数据同步机制,确保所有节点上的数据是一致的。
2. 无法单机判断双活架构下,每台数据库服务器都可以处理读写请求,而且无法单凭一台服务器的状态来判断整个系统的健康状况,因为数据可能在任何一个节点上进行更新。
3. 一致性协议为了解决这个问题,双活原理采用了一致性协议。
一致性协议的核心是确保所有节点上的数据都能达到一致状态,即所有变更必须被所有节点接受,否则会导致数据不一致。
这就需要数据库服务器之间高效、可靠的通信机制来达成一致。
三、双活原理的实现1. 通信机制为了实现双活原理,Oracle RAC采用了高速、可靠的网络通信机制。
这样才能确保节点间的数据同步是实时的,而且不会有丢包或延迟等问题。
2. HA(High Av本人lability)模块Oracle RAC还集成了HA模块,用于监控和管理集裙中的各个节点。
HA模块可以检测节点的状态,当发现有节点失效时,可以将其列入黑名单,确保其他节点不会向其发送数据,以避免可能的数据不一致性问题。
3. 数据同步在Oracle RAC中,数据同步是由内部机制来实现的。
每当有数据更新时,会向其他节点发送同步请求,确保所有节点上的数据都能保持一致。
另外,Oracle RAC还采用了分布式锁机制,确保在多节点并发写入数据时不会出现冲突。
四、双活原理的应用1. 提高系统可用性双活原理的应用可以提高数据库系统的可用性。
Oracle 11g RAC维护参考RAC集群,全称Real Application Clusters,译为“实时应用集群”,是Oracle提供的一种高可用、并行集群系统,RAC除了具有高可用能力还有负载均衡能力,整个RAC集群系统由Oracle Clusterware (集群软件)和Real Application Clusters(RAC)两大部分组成。
1硬件环境RAC集群的硬件环境包括主机、共享存储、网络设备。
1.1主机(节点)RAC集群环境中至少有两台主机,也就是两个节点,每个节点配置一样的硬件,至少配置两块物理网卡。
1.2网络设备网卡,每个RAC集群节点上至少配置两块物理网卡。
一块网卡用于集群内部的私有通信,集群节点间数据块的传输都是通过这块网卡,我们称之为私有网卡,IP别名Private IP;另一块网卡用于对外服务,比如数据库的查询等,我们称之为公有网卡,IP别名Public IP。
除此之外,每个节点还有第三个VIP(Virtual IP)的IP。
RAC集群正常运行时,每个节点的VIP会被分配到公有网卡上,当某个节点出现故障宕机时,这个节点的VIP会被移到其它正常运行节点的公有网卡上。
网络交换机,首先,用于连接所有节点的公有网卡以提供对外的数据库服务,其次,用于连接各个节点之间的私有网卡以传递集群节点之间的心跳数据和数据库数据块(Cache Fusion)。
1.3共享存储在RAC集群中,最重要的是共享存储,RAC是一个“多实例、单一数据库”的架构,所有的节点共享一个数据库。
数据文件、联机日志、参数文件、控制文件存放在共享存储上以保证每个节点的实例都能访问。
每个节点安装HBA卡,然后通过光纤线和存储设备连接。
2软件环境RAC集群的软件组成包含:操作系统、集群软件、数据库软件。
2.1操作系统每个节点上所安装的操作系统必须是相同版本的。
2.2集群软件Oracle Clusterware(统称为CRS/Cluster Ready Service)集群软件,负责管理整个集群环境中的硬件资源,并为上层的RAC集群提供基础服务。
AIX+Hacmp双机热备oracle10g安装环境说明系统部署:Unix AIX 6.1版本+HACMP 5.4版本+ORACLE 10g双机热备的方式是Oracle程序安装在各自的主机上,只把数据库实例安装的共享存储上双机热备原理:通过Hacmp实现双机热备,a、b两台小机中,同一时刻只有一台机器对外提供服务,另一台机器处于待命状态。
A为主机,b为备机,正常情况下是a机对外提供服务,当a机发生故障无法提供服务时,b机会自动接管,将系统和oracle服务切换到b机上。
这个自动切换的过程大概需要3分钟的样子。
当a机故障修改之后,启动a机上的hacmp,这时系统又会自动从备机b上自动切换回主机a上。
小机a、b都有各自的IP地址,不管是a在提供服务,还是b在提供服务,他们对外提供的服务IP地址是不变的,即客户端在连接的时候,不会因为两台小机之间的切换而需要改变配置。
Oracle实例安装步骤1、安装前的准备1.1 修改root用户下的fsize资源限制:# vi /etc/security/limitsroot:fsize = -11.2 修改用户允许的最大进程数:# smit chgsys1.3 修改root用户在命令行中使用backspace键:# cd# vi .profilesmit erase ^![注] ^! 代表backspace键。
1.4 在每个节点上检查网络配置1.5 编辑hosts文件,把主备节点相应的主机名和IP写入1.6在每个节点上建立dba,hagsuser,oinstall组和oracle用户建立用户组:dba用户组:其中:hagsuser组ID:502oinstall组ID:503[注]可以通过命令smit或smitty操作。
1.7 建立oracle用户:oracle用户:[注]oracle的primary group为dba,Group Set为hagsuser和oinstall。
oracle 11g rac 原理Oracle 11g RAC(Real Application Clusters)是Oracle数据库的一种高可用解决方案,它允许多个节点共享同一个数据库实例,以提供更高的可用性和可扩展性。
以下是Oracle 11g RAC 的原理:1. 共享存储:Oracle 11g RAC需要使用共享存储来存储数据库的数据文件、控制文件和日志文件。
共享存储通常是通过网络连接到多个节点,因此所有节点可以同时访问存储中的数据。
2. 共享连接:Oracle 11g RAC使用Cluster Interconnect来提供节点之间的高速连接。
Cluster Interconnect是一个专用的高速网络,用于节点之间的通信,以确保数据的一致性和互操作性。
3. 共享缓存:每个节点都有自己的SGA(System Global Area)用来缓存数据库的数据块。
Oracle 11g RAC使用Cache Fusion技术来确保所有节点的缓存数据的一致性。
当一个节点需要访问另一个节点的数据时,它可以直接从其他节点的缓存中读取数据,而不需要访问磁盘。
4. 共享处理:Oracle 11g RAC使用Global Cache Service(GCS)和Global Enqueue Service(GES)来协调多个节点上的并发事务。
GCS负责管理缓存数据的锁定和共享,以保证数据的一致性,而GES负责处理并发事务之间的资源请求和释放。
5. 自动故障转移:Oracle 11g RAC具有自动故障转移功能,当某个节点宕机时,自动将该节点上的数据库实例转移到其他节点上,以保证服务的连续性。
故障转移是通过Clusterware软件来实现的,它可以监控节点的状态,并在节点失效时自动触发故障转移操作。
总的来说,Oracle 11g RAC通过共享存储、共享连接、共享缓存和共享处理来实现多个节点之间的数据共享和并发访问。
Oracle单实例迁移到RAC实例--使⽤RMAN异机恢复Oracle 官⽹有关单实例迁移到RAC的⼀个步骤说明:How to Convert 10g Single-Instance database to 10g RAC using Manual Conversion procedure [ID 747457.1]RMAN 备份异机恢复并创建新DBID⼀. ⼤致操作步骤如下:1. 安装Clusterware 和 ASM 实例2. 备份源库,并将备份集copy到rac 节点上3. 在RAC 上还原并修改初始化参数⽂件,还原控制⽂件和数据⽂件4. 增加undo 表空间和redo log 线程组,创建密钥⽂件5. 配置RAC监听6. 将数据库等资源添加到CRS注意:迁移的2个db版本版本要⼀致。
包括⼩版本。
⽐如10.2.0.4.0.我这个测试的时候是从10.2.0.1.0 迁移到10.2.0.4.0. 结果在open resetlogs的时候报错了,必须要先升级后,才能打开。
Redhat 5.4 Orcle RAC 数据库从10.2.0.1升级到 10.2.0.4⼆. 具体操作步骤2.1 安装Clusterware 和ASM 实例这个参考Blog:Redhat 5.4 Oracle 10g RAC Openfiler+Multipath + RAW+ ASM 安装⽂档安装之后的进程如下:[oracle@rac1 u01]$ sh crs_stat.shName Target State Host------------------------------ ---------- --------- -------ora.rac1.ASM1.asm ONLINE ONLINE rac1ora.rac1.gsd ONLINE ONLINE rac1ora.rac1.ons ONLINE ONLINE rac1ora.rac1.vip ONLINE ONLINE rac1ora.rac2.ASM2.asm ONLINE ONLINE rac2ora.rac2.gsd ONLINE ONLINE rac2ora.rac2.ons ONLINE ONLINE rac2ora.rac2.vip ONLINE ONLINE rac22.2 在源库⽤RMAN 备份,并将备份⽂件copy到rac上相关备份脚本,参考Blog:Linux 平台下 RMAN 全备和增量备份 shell 脚本Nocatalog 下的RMAN 增量备份 shell脚本源库实例名:anqing,为了确认迁移成功,我们现在源库上创建⼀个表dave,并插⼊⼀条记录。
利用RMAN将Oracle 11g的文件系统单实例数据库移植到双机RAC+ASM环境的过程目的:利用单实例的rman全备,恢复到已有的RAC的ASM磁盘组内,删除RAC 已有的数据库,完成单实例数据库到RAC的环境迁移。
环境:单实例:sid: single版本:11.1.0.7ip: 192.168.76.160data: /home/oracle/single已有RAC:数据库:racdb版本:11.1.0.7testrac01: 192.168.76.160/161 sid: racdb1testrac02: 192.168.76.162/163 sid: racdb2data:+TESTDG/racdbdb_name: racdbsidprefix: racdbinit file: +TESTDG/racdb/spfileracdb.ora一、已有RAC的环境。
su - oracleexport ORACLE_SID=+ASM1sqlplus / as sysdbaselect name,state from v$asm_diskgroup;SQL> select name,state from v$asm_diskgroup;NAME STATE-------------------- -------------------TESTDG MOUNTEDalter system set log_archive_dest_1='Location=/arch_dir' scope=spfile sid='racdb1'; alter system set log_archive_format='racdb_%t_%s_%r.dbf' scope=spfile sid='racdb1'; alter system set log_archive_dest_1='Location=/arch_dir' scope=spfile sid='racdb2'; alter system set log_archive_format='racdb_%t_%s_%r.dbf' scope=spfile sid='racdb2';二、单实例的备份单实例和rac的版本要一致,包括小版本。
三、开始进行迁移。
(一)、将单节点的备份文件复制到rac的节点一上。
将单实例single数据库的rman备份集放到RAC服务器上相应的目录下。
目前用于测试的单实例single就在192.168.76.160上建的。
(二)、删除已有RAC环境中的数据库信息。
由于原RAC下有数据库(racdb),需要将数据库从crs中删除。
su - oracleoracle$srvctl config database -d racdbtestrac01 racdb1 /testapp/db/product/11testrac02 racdb2 /testapp/db/product/11oracle$ srvctl remove instance -d racdb -i racdb2oracle$ srvctl remove instance -d racdb -i racdb1srvctl remove database -d racdb删除前:testrac01:/#crs_stat -tName Type Target State Host------------------------------------------------------------ora....SM1.asm application ONLINE ONLINE testrac01ora....01.lsnr application ONLINE ONLINE testrac01ora....c01.gsd application ONLINE ONLINE testrac01ora....c01.ons application ONLINE ONLINE testrac01ora....c01.vip application ONLINE ONLINE testrac01ora....SM2.asm application ONLINE ONLINE testrac02ora....02.lsnr application ONLINE ONLINE testrac02ora....c02.gsd application ONLINE ONLINE testrac02ora....c02.ons application ONLINE ONLINE testrac02ora....c02.vip application ONLINE ONLINE testrac02ora.racdb.db application OFFLINE OFFLINEora....b1.inst application OFFLINE OFFLINEora....b2.inst application OFFLINE OFFLINE删除后:testrac01:/#crs_stat -tName Type Target State Host------------------------------------------------------------ora....SM1.asm application ONLINE ONLINE testrac01ora....01.lsnr application ONLINE ONLINE testrac01ora....c01.gsd application ONLINE ONLINE testrac01ora....c01.ons application ONLINE ONLINE testrac01ora....c01.vip application ONLINE ONLINE testrac01ora....SM2.asm application ONLINE ONLINE testrac02ora....02.lsnr application ONLINE ONLINE testrac02ora....c02.gsd application ONLINE ONLINE testrac02ora....c02.ons application ONLINE ONLINE testrac02ora....c02.vip application ONLINE ONLINE testrac02(三)、开始进行rman恢复:目标:将单节点的single数据库,恢复到ASM环境。
节点一: sid:singedb1节点二: sid: singedb2ASM存放目录: +TESTDG/single目录。
过程简述:手动创建init文件,利用单节点的rman备份,先恢复controlfile到+TESTDG/SINGLE 下。
然后,利用rman的set newname功能进行数据文件的迁移,也恢复到ASM上。
然后在节点一上,重建redo log和temp,注意是thread 1的。
也要为节点二创建thread 2的redo log。
最后可以尝试进行recover和open resetlogs。
在节点一上open后,为节点二创建undotbs2。
对参数文件spfile进行设置。
在crs中注册数据库和两个实例,利用crs进行实例的启停。
然后迁移成功。
1、手动创建pfile在/testapp/db/product/11/dbs下:vi initsingledb1----*.audit_file_dest='/testapp/db/admin/racdb/adump'*.audit_trail='db'*.cluster_database_instances=2*.cluster_database=true*.compatible='11.1.0.0.0'*.control_files='+TESTDG/single/single_01.ctl','+TESTDG/single/single_02.ctl','+TESTD G/single/single_03.ctl'*.db_block_size=8192*.db_create_file_dest='+TESTDG'*.db_domain=''*.db_name='single'*.diagnostic_dest='/testapp/db'*.dispatchers='(PROTOCOL=TCP) (SERVICE=racdbXDB)'singledb2.instance_number=2singledb1.instance_number=1singledb2.local_listener='LISTENER_RACDB2'singledb1.local_listener='LISTENER_RACDB1'singledb1.log_archive_dest_1='Location=/arch_dir'singledb2.log_archive_dest_1='Location=/arch_dir'singledb1.log_archive_format='single_%t_%s_%r.dbf'singledb2.log_archive_format='single_%t_%s_%r.dbf'*.memory_target=2760900608*.open_cursors=300*.processes=400*.remote_listener='LISTENERS_RACDB'*.remote_login_passwordfile='exclusive'*.sessions=191singledb2.thread=2singledb1.thread=1singledb2.undo_tablespace='UNDOTBS2'singledb1.undo_tablespace='UNDOTBS1'---2、恢复控制文件在节点一上,利用rman备份,将控制文件恢复到ASM上,因为init文件中已经给出了路径。