利用RMAN将Oracle 11g的文件系统单实例数据库移植到双机RAC+ASM环境的过程
oracle 11gr2图文安装rac版
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节点。
ORACLE RAC数据库RMAN 备份与恢复
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 11gR2 使用 RMAN duplicate from active database 复制数据库
在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是必须的。
Oracle11G数据库DataGuard灾备切换方案
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双机热备的架构。
Oracle双机热备,顾名思义,就是两台服务器互为备份,一台为主机,另一台为备机。
当主机发生故障时,备机能够迅速接管主机的业务,保证业务的连续性。
1.架构设计(1)硬件设备我们需要两台性能相近的服务器,最好是同一型号,这样可以减少硬件兼容性问题。
服务器需要具备较高的处理能力,以满足业务需求。
(2)存储设备为了实现数据的实时备份,我们需要使用共享存储设备。
这里有两种选择:磁盘阵列和存储网络。
磁盘阵列可以提供较高的数据读写速度,但成本较高;存储网络则相对便宜,但性能略有不足。
根据实际需求,我们可以选择合适的存储方案。
(3)网络设备为了实现数据的实时同步,我们需要搭建一个高速网络。
这里建议使用万兆以太网,以保证数据传输速度。
2.软件配置(1)操作系统(2)Oracle数据库在两台服务器上安装Oracle数据库,并配置好数据库实例。
为了保证数据的一致性,我们需要使用OracleDataGuard来实现实时数据备份。
(3)集群管理软件为了实现故障切换,我们需要使用集群管理软件。
这里推荐使用OracleClusterware,它可以帮助我们实现快速的故障切换和恢复。
3.实施步骤(1)搭建硬件环境我们需要将两台服务器连接到共享存储设备,并配置好网络设备。
(2)安装操作系统在两台服务器上安装相同的操作系统,并配置好网络参数。
(3)安装Oracle数据库在两台服务器上安装Oracle数据库,并配置好数据库实例。
(4)配置OracleDataGuard在主机上创建一个物理备份,然后将备份传输到备机。
在备机上配置OracleDataGuard,实现实时数据备份。
oracle rac双活原理
一、概述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维护参考
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安装和双机切换
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 原理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实例--使⽤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,并插⼊⼀条记录。
oracle10g RAC ASM rman备份到单节点文件系统恢复处理步骤
一、RAC 转换单机环境
1、创建pfile
2、relink oracle
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk rac_off
make -f ins_rdbms.mk ioracle
) SIZE 500M,
GROUP 6 (
'/oradata/datafs/app/redo601',
'/oradata/datafs/app/redo602'
) SIZE 500M,
GROUP 7 (
'/oradata/datafs/app/redo701',
set newname for datafile '+ATMDG/postdbs/pafetbs101.dbf' to '/oradata/datafs/app/pafetbs101.dbf';
set newname for datafile '+ATMDG/postdbs/pafetbs201.dbf' to '/oradata/datafs/app/pafetbs201.dbf';
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
set newname for datafile '+ATMDG/postdbs/datafile/system.256.842220161' to '/oradata/datafs/app/system.256.842220161';
oracle双机热备方案
Oracle双机热备方案摘要Oracle数据库是一种非常常见的关系型数据库管理系统(RDBMS)。
为了保证数据的高可用性和容错性,在生产环境中常常需要使用双机热备方案。
本文将介绍Oracle双机热备方案的基本原理和实现步骤。
1. 引言随着企业对数据可靠性和高可用性的要求越来越高,数据库的备份和恢复策略变得尤为重要。
Oracle的双机热备解决方案是一种常见的高可用性解决方案,可以在一台服务器发生故障时无缝切换到另一台服务器上。
2. 双机热备原理Oracle的双机热备方案主要基于Redo Log和Datafile。
Redo Log记录了数据库的所有变化,包括插入、更新和删除操作,它在数据库中是以循环日志的形式存储的。
Datafile则是存储实际的数据,包括表、索引等。
双机热备方案的基本原理是将主服务器的Redo Log和Datafile实时复制到备份服务器上,以保证数据的一致性和完整性。
当主服务器发生故障时,备份服务器可以立即接管主服务器的工作,实现无缝切换。
3. 双机热备实现步骤3.1 配置主服务器首先,我们需要在主服务器上进行一些配置。
以下是配置主服务器的步骤: - 安装Oracle软件,并创建一个Oracle实例。
- 配置主服务器的Redo Log和Datafile。
- 配置主服务器的监听器(listener),以便备份服务器可以连接到主服务器。
3.2 配置备份服务器在备份服务器上也需要进行相应的配置。
以下是配置备份服务器的步骤: - 安装Oracle软件,并创建一个Oracle实例。
- 配置备份服务器的Redo Log和Datafile。
注意,备份服务器的Redo Log和Datafile应与主服务器完全一致。
- 配置备份服务器的监听器(listener)。
3.3 设置双机热备在主服务器和备份服务器的配置完成后,我们需要进行一些额外的设置来实现双机热备。
以下是设置双机热备的步骤: - 在主服务器上创建一个备份控制文件。
ORACLE双机热备安装教程
ORACLE双机热备安装教程ORACLE是一种常见的关系型数据库管理系统,双机热备是一种常用的高可用性解决方案。
在实现ORACLE双机热备之前,需要先安装ORACLE数据库并进行基础配置。
本教程将为您详细介绍ORACLE双机热备的安装步骤。
1.系统准备首先,需要确保两台服务器系统已经安装好,并且网络配置正确。
每台服务器都需要预留至少100 GB的硬盘空间用于数据库存储。
另外,Oracle官方推荐使用相同版本的操作系统和数据库软件进行双机热备安装。
2.安装ORACLE数据库软件3.配置主数据库在主服务器上进行ORACLE数据库的配置。
首先,创建监听程序,以便在其他设备上连接到主数据库。
打开终端,输入命令`lsnrctl start`启动监听器。
然后,创建数据库实例,输入命令`dbca`。
按照向导配置数据库参数,包括实例名称、数据库字符集、储存选项等。
完成后,等待数据库创建完成。
4.创建备份数据库打开终端,输入命令`dbca`创建备份数据库。
与主数据库的配置类似,按照向导的提示进行配置,注意要选择备份数据库类型,并确保备份数据库与主数据库的参数一致。
5.创建归档目录在主服务器上创建一个归档目录,用于存储主数据库的归档日志。
输入命令`mkdir /u01/arch`创建归档目录,并进一步配置归档目录的权限。
6.配置主数据库参数打开主数据库的参数文件,并修改以下参数:-LOG_ARCHIVE_DEST_1:设置归档目录路径-LOG_ARCHIVE_DEST_2:设置备份数据库的归档目录路径-LOG_ARCHIVE_FORMAT:设置归档日志的命名格式保存文件并重启数据库。
7.复制主数据库文件到备份数据库在主服务器上打开终端,输入命令`scp -r/u01/oradata/username/* backup-server:/u01/oradata/username`,将主数据库的文件复制到备份服务器。
8.配置备份数据库打开备份数据库的参数文件,并修改以下参数:-LOG_ARCHIVE_DEST_1:设置归档目录路径-LOG_ARCHIVE_FORMAT:设置归档日志的命名格式保存文件并重启备份数据库。
oracle11g+asm+rac安装指南linux
oracle11g+asm+rac安装指南linuxoracle11g+asm+rac安装指导环境描述:网络接口、ip分配:#publicbind0192.100.65.19tpps-ora01192。
100.65.20tpps-ora02#vip192.100.65.21tpps-ora01-vip192.100.65.22tpps-ora02-vip#私人的172.16.65.19tpps-ora01-priv172.16.65.20tpps-ora02-priv#扫描192.100.65.23orascan主机名:修改hostname如主节点tpps-ora01,次节点tpps-ora02注:图中rac01改为tpps-ora01,rac02改为tpps-ora02,以下各图均按此方式操作。
[ root@localhost~]#vi/etc/sysconfig/network关闭selinux配置:[ root@localhost~]#cat/etc/selinux/config#thisfilecontrolsthestateofselinuxonthesystem.#selinux=cantakeoneofthesethreev alues:#强制执行SELinuxSecurity政策。
#permissive-selinuxprintswarningsinsteadofenforcing.#disabled-selinuxisfullydisabled.selinux=disabled#selinuxtype=政策的类型。
可能的价值是:#targeted-onlytargetednetworkdaemonsareprotected.#strict-fullselinuxprotection.selinuxtype=targeted关闭防火墙:[ root@localhost~]#chkconfig——列表表iptables0:off1:off2:on3:on4:on5:on6:off[root@localhost~]#chkconfigiptablesoff[ root@localhost~]#chkconfig--listiptablesiTables0:off1:off2:off3:off4:off5:off6:off1.检查每个节点的os环境1.检查可用空间:○[root@localhost~]#df-hFileSystemSizeUse%mountedon/dev/sda2124g4.2g114g4%//dev/sda1494m17m452m4%/boottmpfs2。
Oracle11GADG搭建RACtoSingle详细教程(RMANDUPLICATE)
Oracle11GADG搭建RACtoSingle详细教程(RMANDUPLICATE)前言经过交流群中朋友的多次要求,这次给大家分享一下RAC to Single 的 ADG 搭建教程!一、环境准备老规矩,测试环境实战演示:主机名ip DB Version db_name db_unique_name主库节点一lucifer01 10.211.55.100 11.2.0.4 orcl主库节点二lucifer02 10.211.55.101 11.2.0.4 orcl备库luciferdg 10.211.55.110 11.2.0.4 orcl以下几点需要注意:•db_unique_name 主备库不能相同•db_name主备库需保持一致•主备库DB版本需保持一致二、搭建过程1、Oracle软件安装使用我写的Oracle 一键安装脚本,快速安装主库 RAC 和备库单机。
cd ../racdbvagrant upvagrant ssh node1su - rootcd /softsh rac_install.sh简单等待一段时间,Oracle RAC 就安装成功了!2、环境配置搭建 ADG 之前,需要先配置一下环境信息,包括主机名解析以及TNS。
1、配置 hosts 文件主库:##节点一#dgcat<<EOF>>/etc/hosts10.211.55.110 luciferdgEOF##节点二#dgcat<<EOF>>/etc/hosts10.211.55.110 luciferdgEOF备库:##dgcat<<EOF>>/etc/hosts10.211.55.100 lucifer0110.211.55.101 lucifer0210.211.55.105 lucifer-scanEOF2、配置 TNS主库+备库,在 root 用户下执行:##tnsnames.orasu - oracle -c "cat <<EOF >> /u01/app/oracle/product/11.2.0/db/network/admin/tnsnames.o ra##FOR DG BEGINORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = lucifer-scan)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))ORCL1 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = lucifer01)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))ORCL2 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = lucifer02)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))ORCLDG =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = luciferdg)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))##FOR DG BEGINEOF"3、主库开启归档和强制日志开启归档模式(需要停机):srvctl stop database -d orcl -o immediatesrvctl start instance -d orcl -i orcl1 -o mountalter database archivelog;alter database open;srvctl start instance -d orcl -i oorcl2开启强制日志模式(可在线开启):alter database force logging;4、复制参数文件和密码文件至备库复制参数文件至备库(备库执行),要在 oracle 用户下复制:su - oraclescp oracle@lucifer01:/tmp/initorcldg.ora /tmp备库创建目录:mkdir -p /u01/app/oracle/admin/orcl/adumpsu - oracle -c "mkdir -p /oradata/orcl/datafile"su - oracle -c "mkdir -p /oradata/orcl/onlinelog"su - oracle -c "mkdir -p /oradata/orcl/tempfile"mkdir -p /u01/app/oracle/fast_recovery_area/orclchown -R oracle:oinstall /u01/app/oracle/admin/orcl/adump chown -R oracle:oinstall /u01/app/oracle/fast_recovery_area 备库修改参数文件:*._optimizer_cartesian_enabled=FALSE*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'*.audit_trail='NONE'*.compatible='11.2.0.4.0'*.db_block_size=8192*.control_files='/oradata/orcl/control01.ctl','/u01/app/oracle /fast_recovery_area/orcl/control02.ctl'*.db_create_file_dest='/oradata/orcl'*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_are a'*.db_recovery_file_dest_size=5501878272*.deferred_segment_creation=FALSE*.diagnostic_dest='/u01/app/oracle'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.event='10949 trace name context forever:28401 trace name context forever,level 1:10849 trace name context forever, level 1:19823 trace name context forever, level 90'*.open_cursors=300*.pga_aggregate_target=196083712*.processes=150*.result_cache_max_size=0*.sga_target=784334848*.db_unique_name='orcldg'*.log_archive_config='dg_config=(ORCLDG,ORCL)'*.log_archive_dest_1='location=/archivelogvalid_for=(all_logfiles,all_roles) db_unique_name=ORCLDG' *.log_archive_dest_2='service=orcl async valid_for=(online_logfiles,primary_role) db_unique_name=ORCL' *.log_archive_dest_state_2='ENABLE'*.log_archive_format='%t_%s_%r.arc'*.log_archive_max_processes=4*.remote_login_passwordfile='exclusive'*.fal_server='ORCL'*.fal_client='ORCLDG'*.db_file_name_convert='+DATA','/oradata'*.log_file_name_convert='+DATA','/oradata'*.standby_file_management='AUTO'*.undo_tablespace='UNDOTBS1'复制密码文件至备库(备库执行),要在 oracle 用户下复制:su - oraclescporacle@lucifer01:/u01/app/oracle/product/11.2.0/db/dbs/orap worcl1 /u01/app/oracle/product/11.2.0/db/dbs/orapworcl5、主库添加 stanby log 文件set pagesize100set line222col member for a60select * from v$logfile;select * from v$log;注意:•stanby log 日志大小与 redo log 日志保持一致•stanby log 数量:standby logfile=(1+logfile组数)*thread=(1+3)*1=4 组,需要加 4 组 standby logfile•thread 要与redo log 保持一致,如果是rac,需要增加多个thread 对应的 standby logALTER DATABASE ADD STANDBY LOGFILE thread 1group 5 ('+DATA') SIZE 120M,group 6 ('+DATA') SIZE 120M,group 7 ('+DATA') SIZE 120M;ALTER DATABASE ADD STANDBY LOGFILE thread 2group 8 ('+DATA') SIZE 120M,group 9 ('+DATA') SIZE 120M,group 10 ('+DATA') SIZE 120M;select * from v$standby_log;6、备库开启到 nomount 状态startup nomount pfile='/tmp/initorcldg.ora';3、RMAN DUPLICATErman 恢复备库:rman target sys/oracle@orcl1 AUXILIARY sys/oracle@orcldgrun {allocate channel prmy1 type disk;allocate channel prmy2 type disk;allocate auxiliary channel aux1 type disk;allocate auxiliary channel aux2 type disk;DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;}主库设置 ADG 参数:ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORCL,ORCLDG)';ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=+DATAVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=ORCL';ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=orcldgLGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCLDG';ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=4;ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;ALTER SYSTEM SET FAL_SERVER=ORCLDG;ALTER SYSTEM SET FAL_CLIENT=ORCL;ALTER SYSTEM SET DB_FILE_NAME_CONVERT='/oradata','+DATA' SCOPE=SPFILE;ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='/oradata','+DATA' SCOPE=SPFILE;ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;4、备库开启日志应用-- 首先开启备库至只读状态alter database open read only;-- 开启主备同步进程ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;-- 检查备库角色select database_role,open_mode from v$database;DATABASE_ROLE OPEN_MODE---------------- --------------------PHYSICAL STANDBY READ ONLY WITH APPLY-- 检查保护模式,最大性能SQL> SELECT protection_mode FROM v$database;PROTECTION_MODE--------------------MAXIMUM PERFORMANCE5、主库开启 LOG_ARCHIVE_DEST_STATE_2确认主备之前没有问题,主库开启同步:ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE; 写在最后ADG 的搭建过程比较简单,有很多朋友经常问,单机到单机,RAC 到单机,RAC到RAC的教程。
oracle 11gR2 RAC更换存储数据迁移方案
数据库更换存储迁移方案生产数据库环境数据库版本:Oracle 11g R2 RAC (11204)数据存储方式:共享存储,ASM管理ASM 组及名字: crsdg,datadg数据库实例名:zgdb1,zgdb2数据库数据量:100G操作系统版本:RedHat 5.8数据迁移实施步骤流程目前数据库的数据是存放在和其他业务共用的存储上,此次实施的目的是将数据迁移到新的存储上而不影响业务正常运行,迁移方案主要利用ASM 重平衡特性实现更换存储迁移数据,时间需要预计2天左右,大体迁移步骤就是如下几步操作:1.首先保证新存储和RAC当前节点间的可用性;2.将新存储划分LUN给2台数据库服务器,2台数据库服务器不替换,可以重新规划存储方案或者保持原存储方案,目前依照原存储规划方案;3.LUN磁盘映射给ORACLE集群,通过asmca或者asm命令行添加到ASM组中;4.迁移原OCR和votedisk表决盘到新ASM组;5.给现有ASM磁盘组添加ASM磁盘(新存储分配的),进行数据DATADG迁移,采用ASM重平衡的方式;6.删除原存储的ASM磁盘;7.检查系统、集群、数据库日志;新存储映射流程存储划分LUN映射1.存储和服务器之间连线;2.划分存储LUN,保证LUN数量及大小与之前旧存储划分一致;3.在数据库服务器安装多路径软件,保证2台服务链路一致;4.检查链路是否一致 powermt display dev=allLUN映射到ORACLE1.编辑/etc/udev/rules.d/50-udev.rules文件,添加新存储映射SUBSYSTEM=="block", KERNEL=="emcpowera", GROUP="asmadmin", OWNER="grid", MODE="0660"SUBSYSTEM=="block", KERNEL=="emcpowerb", GROUP="asmadmin", OWNER="grid", MODE="0660"SUBSYSTEM=="block", KERNEL=="emcpowerc", GROUP="asmadmin", OWNER="grid", MODE="0660"SUBSYSTEM=="block", KERNEL=="emcpowerd", GROUP="asmadmin", OWNER="grid", MODE="0660"SUBSYSTEM=="block", KERNEL=="emcpowere", GROUP="asmadmin", OWNER="grid", MODE="0660"SUBSYSTEM=="block", KERNEL=="emcpowerf", GROUP="asmadmin", OWNER="grid", MODE="0660"2.启动udev_start,识别存储路径3.切到grid用户,使用ASMCA,添加新的ASM磁盘组数据库双重备份数据库迁移实施之前,先把当前数据进行备份,防止迁移异常之后,能够及时恢复数据,使用2种方式对数据库进行备份;方式一:rman备份数据1.开启数据库归档,启动到mount下,alter database archivelog2.备份参数文件c reate pfile=’/home/oracle/backup/init.ora’ from spfile;3.备份数据库export ORACLE_SID= zgdb1rman target / log='/tmp/rman_full.log' append <<EOFrun{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;allocate channel c4 type disk;backup as compressed backupset filesperset 6 databaseformat '/home/oracle/backup/full_%d_%T_%s_%p';backup current controlfile format '/home/oracle/backup/ctl_%d_%T_%s_%p';}EOF4.备份密码文件cp $ORACLE_HOME/dbs/initpwzgdb1 /home/oracle/backup/5.数据库还原startup pfile=’/home/oracle/backup/init.ora’nomount;restore controlfile from '/home/oracle/rman/ctl_ ';alter database mount;restore database;recover database;alter database open;方式二:数据泵方式进行数据库备份1.创建directory目录create directory backup as '/home/oracle/backup';2.授权导出用户权限grant read,write on directory backup to system;3.备份数据expdp system/oracle directory=backup dumpfile=zgdb.dmp logfile=expdp.log schemas=hsman exclude=statistics cluster=n parallel=8;4.恢复数据impdp system/oracle directory=backup dumpfile=zgdb.dmp logfile=impdp.log schemas=hsman cluster=n parallel=8ASM迁移详细步骤集群迁移实施步骤1.grid用户下,使用asmca添加新的ASM组ocrvoting,3个10G LUN,采用normal方式;2.grid用户下,添加votediskcrsctl query css votediskcrsctl replace votedisk ocrvotingcreate pfile='/home/grid/asmpfile.ora' from spfile;create spfile='+ocrvoting' from pfile='/home/grid/asmpfile.ora';3.root用户下迁移ocrocrcheckocrconfig -add +ocrvotingocrconfig -replace +vocrvoting -replacement +crsdgocrconfig -delete +crsdgsqlplus / as sysasmalter diskgroup crsdg dismount;drop diskgroup crsdg including contents;4.检查votedisk和ocr状态crsctl query css votediskocrcheck数据迁移实施步骤1.查看数据磁盘状态sqlplus / as sysdbacol GROUP_NUMBER format 99col state format a10col name format a15col path format a20col failgroup format a20set line 200select GROUP_NUMBER,DISK_NUMBER,STATE,REDUNDANCY,TOTAL_MB,FREE_MB,name,path,failgroup from v$asm_disk order by GROUP_NUMBER;2.迁移数据磁盘组数据(PATH),时间较长;SQL> alter diskgroup DATA add disk '/DEV/EMCPOWER1' rebalance power 11;Diskgroup altered.SQL> alter diskgroup DATA add disk '/DEV/EMCPOWER2' rebalance power 11;Diskgroup altered.SQL> alter diskgroup DATA add disk '/DEV/EMCPOWER3' rebalance power 11;Diskgroup altered.由于指定rebalance power 11,ASM会自动均衡ASM磁盘组DATA里面存放的数据在各ASM磁盘的分布。
Oracle11GRACtoRACDATAGUARD配置
Oracle11GRACtoRACDATAGUARD配置第五部分ORACLE 11G RAC TO RACDataguard 安装与管理5.1 环境准备以HDB为例,阐述oracle 11g Dataguard physical standby的安装过程。
主从数据库都是ORACLE 11G RAC环境,数据和ORACLE程序都在CFS共享磁盘上。
运⾏crs_stat –t 检查各资源状态。
在本系统中,采⽤Maximum Performance⽅式,即⽇志同步采取lgwr noaffirm⽅式。
环境如下:5.2 Dataguard Physical Standby 数据库创建5.2.1 tnsnames.ora修改修改源端和⽬标端的tnsnames.ora, 加⼊以下内容:5.2.2 password file 重建重新⽣成源端的password file,并复制到⽬标端。
并建⽴到$ORACLE_HOME/dbs的软5.2.3 设置数据库运⾏在force logging模式5.2.4 创建pfile 参数⽂件在源端数据库⽣成pfile, 并复制到⽬标端。
并修改以下参数5.2.5 ⽣成spfile参数⽂件在⽬标端⽤pifle启动数据库到nomount状态。
从pfile ⽣成spfile.5.2.6 测试备库连接在源端:确保从主库可以连接到从库。
如果不能连接,检查以前的配置,然后再进⾏下⼀步。
5.2.7 创建standby⽇志⽂件在主库上创建,应该会同步到从库。
Standy log 的推荐数⽬为:(# of online redo logs per primary instance + 1) * # of instances5.2.8 复制数据库数据库的复制过程有⼏种⽅法:⽅法1:RMAN “on the fly duplicate”这种⽅式可以⾃动备份datafile,control⽂件到⽬标端,⽽且复制过程事主库仍可正常运⾏。
ORACLE LINUX 11G RAC 单实例DATAGUARD
ORACLE LINUX 11G RAC 单实例DATAGUARD环境说明:源库:双节点RAC:CPU:12MEM:8G操作系统:Linux 2.6.18-194.el510.135.33.170 11grac110.135.33.171 11grac210.135.33.172 11grac1-vip10.135.33.173 11grac2-vipDB_NAME=oemdb_unique_Name=oemDATAGUARD目标库:单实例CPU:4MEM:6G操作系统:Linux 2.6.18-194.el510.135.161.241DB_NAME=oemdb_unique_name=dgtest安装步骤一、源库设置强制归档:二、源库设置参数,设置完毕后参数如下所示DB_NAME=oemDB_UNIQUE_NAME=oemLOG_ARCHIVE_CONFIG='DG_CONFIG=(oem,oem_dg)'LOG_ARCHIVE_DEST_1='LOCATION=/dbfs_backup/oemVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=oem'LOG_ARCHIVE_DEST_2='SERVICE=oem_dg LGWR AFFIRMVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oem_dg'LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLEREMOTE_LOGIN_PASSWORDFILE=EXCLUSIVELOG_ARCHIVE_FORMAT=%t_%s_%r.arcLOG_ARCHIVE_MAX_PROCESSES=4FAL_SERVER=oem_dgDB_FILE_NAME_CONVERT='/oradata/oem_dg/datafile/','+DATA/oem/dataf ile/'LOG_FILE_NAME_CONVERT='/oradata/oem_dg/','+DATA/oem/STANDBY_FILE_MANAGEMENT=AUTO执行如下命令设置:alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(oem,oem_dg)'scope=both sid='*';alter system set LOG_ARCHIVE_DEST_1='LOCATION=/dbfs_backup/oem VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=oem'scope=both sid='*';alter system set LOG_ARCHIVE_DEST_2='SERVICE=oem_dg LGWR AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oem_dg' scope=both sid='*';alter system set log_archive_format='%t_%s_%r.arc'scope=spfile sid='*';alter system set log_archive_max_processes=4scope=both sid='*';alter system set fal_server=oem_dg scope=both sid='*';alter system setDB_FILE_NAME_CONVERT='/oradata/oem_dg/datafile/','+DATA/oem/dataf ile/'scope=spfile sid='*';alter system set LOG_FILE_NAME_CONVERT='/oradata/oem_dg/,'+DATA/oem/'scope=spfile sid='*';三、重启源库,设置为归档模式。
Oracle11gr2RAC到单实例的DG搭建(落地备份)
Oracle11gr2RAC到单实例的DG搭建(落地备份)⼀、实施⽅案这⼏天给客户的Oracle 11gr2 RAC搭建到单实例的DG,整理了⼀下步骤,理清⼀下思路,⽂中敏感信息已做模糊处理。
RAC⾄单实例的Dataguard为双节点各⾃传递⾃⼰当前线程的归档⾄备库。
由于节点1存储不⾜,备份在节点2上跑。
整体搭建思路如下:备库⽂件⽬录创建à主库force logging(已是归档模式)à备份节点⼆à复制节点⼆⼝令⽂件à创建备库pfileà创建备库à恢复备库à创建主备standby logfileà配置主备监听及TNSà修改主库(节点⼀、节点⼆)参数à打开备库并实时应⽤1.1 主备环境说明Primary Node1Node2Hostname hostname01hostname02Public10.10.10.14110.10.10.143VIP10.10.10.14210.10.10.144SCAN10.10.10.140Instance_name repprod1repprod2DB_name repprodService_names repprodDB_unique_name repprodStorage_mode ASMStandby NodeHostname hostnamedgIP10.10.10.191Instance_name RepproddgDB_name repprodService_names repproddgDB_unique_name repproddgStorage_mode Local disk1.2 ⽂件系统规划Primary Standby+DATADG/repprod/datafile/oradata/datafile+DATADG/repprod/tempfile/oradata/tempfile+ARCDG/repprod/onlinelog/oradata/onlinelog+DATADG/repprod/onlinelog+ARCDG//oradata/arch1.3 实施操作步骤1.3.1 备库存储和⽂件系统创建#standby库上新建各个数据⽂件的存放位置$mkdir -p /oradata/datafile --数据⽂件$mkdir -p /oradata/tempfile --临时⽂件$mkdir -p /oradata/onlinelog --redo⽇志$mkdir -p /oradata/controlfile --控制⽂件$mkdir -p /oradata/arch --归档⽂件#备库为全新安装oracle 11.2.0.4软件,需要⼿⼯建⽴以下⽬录,保持与主库⽬录⼀致。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用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文件中已经给出了路径。