RAC库的导入教程
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 10g rac安装终手册
实验环境vmworkstation +redhat5.4搭建存储虚拟机2块网卡一块eth1 用于连接rac1 rac2 来连存储用192.168.2.10 hostonly一块eth0 用于作为rac1 rac2的公共网卡的网关10.85.10.254 vment2主机名storage添加一个100G硬盘作为存储01 配置共享存储一般的SAN存储服务器可以使用RAID+iSCSI进行架构。
我使用的是一个PC机器,主板不支持RAID,所以只将一块硬盘做成iSCSI服务器。
首先我们做一个服务器端:1、在RHEL5中安装如下的包:iscsi-initiator-utils-6.2.0.868-0.18.el5.i386.rpmperl-Config-General-2.40-1.el5.noarch.rpm(这个包在光盘的cluster storage目录下)scsi-target-utils-0.0-5.20080917snap.el5.i386.rpm (这个包在光盘的cluster storage目录下)2、通过linux中的命令生成IQN编号#iscsi-iname.redhat:e5ab84c569a83、编辑配置文件#vi /etc/tgt/targets.conf在文件中加入<target .redhat:e5ab84c569a8> backing-store /dev/sdb</target>4、启动服务servicetgtd startchkconfigtgtd on5、查看配置信息# tgtadm --lldiscsi --op show --mode targetTarget 1: .redhat:e5ab84c569a8 System information:Driver: iscsiState: readyI_T nexus information:LUN information:LUN: 0Type: controllerSCSI ID: deadbeaf1:0SCSI SN: beaf10Size: 0 MBOnline: YesRemovable media: NoBacking store: No backing storeLUN: 1Type: diskSCSI ID: deadbeaf1:1SCSI SN: beaf11Size: 1000205 MBOnline: YesRemovable media: NoBacking store: /dev/hdbLUN: 2Type: diskSCSI ID: deadbeaf1:2SCSI SN: beaf12Size: 1000205 MBOnline: YesRemovable media: NoBacking store: /dev/hdcAccount information:ACL information:ALL上面的内容就是iSCSI服务的配置,注意,iSCSI的链接端口是3260,保证防火墙访问正常通过。
oracle rac 安装部署文档
oracle rac 安装部署文档oracle oracle rac搭建][常见问题汇总oracle rac 安装部署文档物理硬件配置需求:oracle 虚拟机需求:oracle rac两节点脚本搭建方法操作系统安装数据库安装oracle rac 图形界面搭建方法(适用于两个节点和多个oracle节点)创建磁盘组安装oracle数据库dbca 创建数据库配置oracle性能测试相关的参数关闭iolog常见问题汇总问题一:oracle在运行过程中,异常中断存储进程(gluster,tgtd等)会导致oracle异常报错ORA-01078。
问题二:查看数据库实例状态的时候报错ORA-01034问题三:删除问题表失败问题四:通过系统镜像安装桌面。
问题五:执行完oracle_install_rac.sh 如果oracleasm 命令未别找到,要先解压rpm文件夹问题六:rac01 和rac02 sid配置成一样的了怎么修改问题七:请求spfile错误问题八:ora 12516报错监听程序找不到符合协议堆栈要求的可用处理程序问题九:问题启动数据库报错 ORA-01078物理硬件配置需求:oracle 虚拟机需求:oracle rac两节点脚本搭建方法操作系统安装1.页面选择部署oracle rac2.选择共享盘创建,单机下一步3.配置虚拟机基本信息,– cpu改成2*16核,– 内存改成96G,– 添加一个网卡,连接心跳交换机– 磁盘添加iso redhat镜像文件– 磁盘设置为80G 预先分配网络配置第一个网口作为虚拟机的公网,第二个网口作为虚拟机的私网网口(连接heartbeat交换机的网口)4.单击下一步,安装redhat操作系统 [以下简略提示4点]1.hostname可以先不改2.创建分区的时候,选择Create Custom Layout自己配置分区大小3.创建分区/boot 分区1024M,swap 分区20480M,剩余的空间分配给/分区4.安装的时候选择带桌面的5.red hat系统安装完成后,按页面提示,安装虚拟机性能优化工具(不安装性能优化工具,会导致测试性能的时候,性能大幅下降)6.安装完成后,将虚拟机关机。
oracle11grac安装图解
oracle11grac安装图解(1)安装和配置集群的⽹络基本结构(2)选择⾼级安装(3)将中⽂添加到右侧边框,添加中⽂可避免在使⽤ em 时乱码(4)填写集群名称和scan的解析名称及端⼝,点击next(5)在弹出界⾯,点击add,填写节点2的信息(6)接⼝⽤法,公⽤专⽤(7)为OCR和表决盘选择 ASM 存储⽅式(8)选择crsvol,并填写磁盘组名称,点击下⼀步(9)填写密码(10)不配置IPMI(11)默认组(12)指定安装位置与环境变量中⽬录相同(13)产品清单与环境变量中⽬录相同(14)开始安装(15)执⾏脚本顺序不能错[root@rac1 ~]# /oracle/app/oraInventory/orainstRoot.sh[root@rac2 ~]# /oracle/app/oraInventory/orainstRoot.sh[root@rac1 ~]# /oracle/app/11.2.0/grid/product/db_1/root.sh[root@rac2 ~]# /oracle/app/11.2.0/grid/product/db_1/root.shINS-20802 实⽤程序失败,可忽略创建asm磁盘组在grid ⽤户下,执⾏ asmca,启动 asm 磁盘组创建向导点击create 按钮,在弹出的创建界⾯中填写磁盘组名称,选择外边存储⽅,并勾选成员,选择完毕后点击 ok 选项为外部显⽰符合项。
创建数据库(1)仅安装数据库软件(2)选择全部节点,点击 next(3)将简体中⽂添加到安装选项(4)选择企业版,点击 next(5)保持默认的⽬录,点击 next 应该与环境变量设置相同(6)保持默认的属组信息,点击 next(7)安装过程⾃动进⾏安装检查创建集群数据库实例[oracle@rac1 database]$ dbca(1)选中oracle real application cluters database,下⼀步:(2)创建数据库(3)定制数据库(4)填写全局数据库名和SID,全选节点(5)默认(6)⼝令管理(7)默认(8)指定ASM⼝令(9)⼀直默认,知道字符集选UTF8完成。
AIX7+oracle RAC数据库安装文档
安装工文档目录1.IP地址规划 (3)1.1.AIX系统调试 (4)2.Oracle安装及配置 (15)2.1.Orale安装环境检查 (15)2.2.增加用户和组 (16)2.3.修改环境变量 (17)2.4.配置磁盘 (19)2.5.安装grid (22)2.6.创建ASM盘 (26)2.7.安装database (27)2.8.创建数据库 (30)3.数据库的维护 (40)3.1.查看数据库状态 (41)3.2.数据库常用命令 (45)3.3.ORACLE RAC日常基本维护命令 .............................................................. 错误!未定义书签。
1.基本信息1.1. IP地址规划业务IP地址:1.2. RAC数据库基本信息表1.3. RAC数据库使用对外服务器IP及数据库连接IP:10.1.2.235表空间数据文件创建位置SQL> select file_name from dba_data_files;FILE_NAME--------------------------------------------------------------------------------+DA TA/fwd/datafile/system.256.890142345+DA TA/fwd/datafile/sysaux.257.890142347+DA TA/fwd/datafile/undotbs1.258.890142347+DA TA/fwd/datafile/users.259.890142347+DA TA/fwd/datafile/undotbs2.264.890142709例如create tablespace test datafile ‘+DATA/fwd/datafile/datafiletest.dbf’;2.AIX系统调试1将两块系统磁盘做镜像#smitty extendvg 扩展rootvg,将hdisk1加入到rootvg中按图中所示选择,将hdisk1加入到rootvg中,按回车chvg -Qn rootvg 取消VG中的物理卷限额管理(在VG中只要有任一PV有效,此VG就可用) 运行之后,再用lsvg rootvg查看,QUORUM项的值将是1#smitty mirrorvg 对所选择的VG做镜像。
RAC 安装和配置及ASM最佳实践
8
在Linux上安装Oracle10g RAC
在安装的各个阶段运行 CVU (Cluster Verification Utility) 使用最新的被支持的操作系统版本并且正确设置核心参数 参考OTN上被验证了的多种配置 (只对Linux) - 包含了10g RAC在Linux上的很多配置情况 (包括不 同的Linux版本、不同的硬件配置、不同的存储方式等) - 详细列出了主机型号、CPU类型、内存大小、存储设备 的类型和容量、磁盘阵列(RAID)、网络设备、操作系统 及kernel的版本、oracle软件版本和补丁情况、安装的操 作系统package和oracle package、操作系统参数配置 、测试过的存储方式(如ASM或RAW DEVICE等)、驱动 器模块及配置情况的反馈等 - 详细情况请参考以下网址:
CRS Home (如果已安装CRS软件)
– –
<crs_home>/bin/cluvfy <crs_home>/cv/rpm/cvuqdisk-1.0.1-1.rpm (linux only)
Oracle Home (如果已安装RAC数据库软件)
–
$ORACLE_HOME/bin/cluvfy
© 2005-2006 Oracle Corporation All rights reserved.
在linux上安装oracle10grac在安装的各个阶段运行cvuclusterverificationutility包含了10grac在linux上的很多配置情况包括不同的linux版本不同的硬件配置不同的存储方式等详细列出了主机型号cpu类型内存大小存储设备的类型和容量磁盘阵列raid网络设备操作系统及kernel的版本oracle软件版本和补丁情况安装的操作系统package和oraclepackage操作系统参数配置测试过的存储方式如asm或rawdevice等驱动器模块及配置情况的反馈等详细情况请参考以下网址
oracle rac创建实例
oracle rac创建实例Oracle RAC (Real Application Clusters) 是一个高可用、高性能的数据库解决方案,允许多个节点同时访问和管理一个共享的数据库。
在RAC环境中,可以创建多个实例来支持多个节点和负载均衡。
要在Oracle RAC中创建实例,可以按照以下步骤进行操作:1.安装Oracle数据库软件:首先,确保你已经正确安装了Oracle数据库软件,并设置了适当的参数和配置。
2.创建RAC环境:使用Oracle提供的工具和命令来创建RAC环境。
这包括配置集群件、节点和网络设置等。
3.创建数据库:在RAC环境中创建一个新的数据库。
你可以使用Oracle提供的命令行工具(如dbca)或图形界面工具(如Database Configuration Assistant)来完成此操作。
4.创建实例:在数据库中创建新的实例。
这可以通过修改数据库的初始化参数文件(如init.ora或spfile.ora)来完成,并重新启动数据库实例来使更改生效。
在初始化参数文件中,你需要设置以下参数来创建实例:o instance_name:实例的名称o instance_number:实例编号o memory参数:例如sga_target、pga_aggregate_target等,用于分配内存给实例o other相关参数:根据需要设置其他相关参数5.启动实例:使用适当的命令或工具启动新创建的实例。
这通常涉及使用类似于sqlplus / as sysdba的命令连接到数据库,并执行startup命令来启动实例。
6.验证实例:确保新创建的实例成功启动,并且可以在RAC环境中正常运行。
你可以通过执行一些查询或检查数据库的状态来验证实例是否正常工作。
请注意,这只是一个简化的概述,实际操作可能因你的具体环境和需求而有所不同。
Oracle 11gRAC数据库安装(HPUX11.31+ASM without MC-SG)
HPUX11.31+RAC11G数据库安装2011年6月Author: ma.yu@目录1.用户需求: (3)2.安装过程: (4)2.1 系统环境准备,检查两台机器的状况: (4)2.2 网络环境准备: (7)2.3 补丁: (7)2.4 内核参数修改: (7)2.5 创建ORACLE用户: (8)2.6 磁盘分配: (10)2.7 ORACLE 安装前准备: (13)2.8 ORACLE Clusterware安装: (15)2.9 ORACLE RAC database软件安装: (30)2.10 升级11.1.0.6到11.1.0.7: (38)2.11 Listener创建: (53)2.12 dbca创建数据库: (54)1.用户需求:用户需要安装一套数据库RAC:数据库软件:Oracle11g数据库软件版本:11.1.0.6 ,升级到11.1.0.7。
模式:rac数据库sid:MIS数据库ip 规划如下:目前这边硬件环境是两台rx6600 ,操作系统版本:HP-UX B.11.31存贮设备hp storage works P2000,总存储空间2.8T ,这套存储设备供MIS系统使用的磁盘分为四个,分别为1G,800G*3。
2.安装过程:由于用户没有购买SGeRAC,所以在这次的安装过程中,使用Clusterware+RACdatabase+ASM的方式,不使用SGeRAC。
这样的话,所有的非ASM数据都要保存在共享磁盘分区裸设备上,而不是共享的lv 上。
2.1 系统环境准备,检查两台机器的状况:A.检查内存大小,至少>1GB.# /usr/contrib/bin/machinfo | grep -i Memory# /usr/sbin/dmesg | grep "Physical:"16GB.B.交换空间的检查:-If RAM between 1GB and 2GB, then swap space required is 1.5 times the size of RAM-If RAM > 2GB, then swap space required is equal to the size of RAM# /usr/sbin/swapinfo –a16GB。
RAC 管理(全)
下面分别来介绍这些命令。
1、节点层
olsnodes,这个命令用来显示集群点列表,可用的参数如下:
$olsnodes -h
用法: olsnodes [-n] [-p][-i] [<node> | -l] [-g] [-v]
-n打印节点编号和节点名
Set CRSD Debug Module: CSSD Level: 1
–查看跟踪日志
[root@rac1 cssd]# pwd
/u01/app/oracle/product/crs/log/rac1/cssd
[root@rac1 cssd]# more ocssd.log
…
Cluster Ready Services appears healthy
Event Manager appears healthy
–检查单个状态
[root@rac1 bin]# ./crsctl check cssd
CSS appears healthy
[root@rac1 bin]# ./crsctl check crsd
RAC 管理(crs_stat、crsctl、srvctl)
2012-03-09 10:23:04| 分类: 默认分类 |举报|字号 订阅
Oracle Clusterware的命令集可以分为以下4种:
节点层:osnodes
网络层:oifcfg
集群层:crsctl, ocrcheck,ocrdump,ocrconfig
[root@rac1 bin]# ./crsctl set css miscount 60
Oracle11R2安装ASM+RAC配置步骤
Suse11SP1_ Oracle11R2安装ASM+RAC配置步骤1运行环境1.1硬件环境IBM 3755AMD Processr 8380 2.5GHz*168G 双网卡IBM X366Xeon CPU 3.00GHz*88G 双网卡IBM FAS600阵列146.8*13 双HBA卡组网方式:1.2软件环境操作系统:Suse11SP1 x86_64核:2.6.32.12-0.7-default数据库版本:Oracle Database Enterprise Edition 11.2.0.1 for Linux x86_64 集群软件版本:Oracle Grid 11.2.0.1 for Linuxx86_64注意:1.ORACLE 11G只能安装在SLES 10以上的版本中。
2.ORACLE集群软件的版本不能低于ORACLE数据库的版本,不推荐使用其它第三方集群软件,如VCS做ORACLE数据库的集群。
11G的集群软件不能管理9i的数据库3.推荐安装64位数据库,这样可以使用大存(SGA),显著提高性能4.11g后可考虑使用ORACLE ASM代替LINUX LVM管理存储,它是一个单独的数据库实例,一个操作系统只能有一个。
2环境检查2.1检查硬件环境检查存:存>=1G,# grep MemTotal /proc/meminfo检查swap:交换空间swap为8G(存为1~2G时,swap为起1.5倍,如果大于2G,swap等于存大小# grep SwapTotal /proc/meminfo检查/tmp:/tmp> 500M 最好不少于1G# df -k /tmp检查/home:/home> 500M 最好不少于1G# df -k /home检查系统空间:系统磁盘空间还有不少于6G空间,# df –h安装中不使用防火墙和selinux私有网卡不可以用反线连接2.2检查软件环境对于Suse linux要求核至少为2.6.16.21# rpm -q package_name删除多余的软件包(如果不把它们删除,将严重干扰后续ORACLE的安装和配置)# rpm -qa ora*orarun-1.9-21.15# rpm -qa sap*sapinit-2.0.1-1.10# rpm -e orarun-1.9-21.15# rpm -e sapinit-2.0.1-1.10# rm –i /etc/oraInst.loc对于Suse linux要求至少具备以下安装包,版本不低于以下各包:binutils-2.17.50.0.6compat-libstdc++-33-3.2.3compat-libstdc++-33-3.2.3(32 位)elfutils-libelf-0.125elfutils-libelf-devel-0.125elfutils-libelf-devel-static-0.125gcc-4.1.2gcc-c++-4.1.2glibc-2.5-24glibc-2.5-24(32 位)glibc-common-2.5glibc-devel-2.5glibc-devel-2.5(32 位)glibc-headers-2.5libaio-0.3.106libaio-0.3.106(32 位)libaio-devel-0.3.106libaio-devel-0.3.106(32 位)libgcc-4.1.2libgcc-4.1.2(32 位)libstdc++-4.1.2libstdc++-4.1.2(32 位)libstdc++-devel 4.1.2make-3.81sysstat-7.0.2unixODBC-2.2.11unixODBC-2.2.11(32 位)unixODBC-devel-2.2.11unixODBC-devel-2.2.11(32 位)以下三个包需要从官网下载,是必须安装的oracleasm-2.6.16.60-0.21-bigsmp-2.0.4-1.SLE10.i586.rpm oracleasm-support-2.1.3-1.SLE10.i386.rpmoracleasmlib-2.0.4-1.SLE10.i386.rpm3安装前准备工作3.1准备安装包:oracle官网上有下载linux.x64_11gR2_grid.ziplinux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_database_2of2.zip3.2磁盘规划磁盘的划分后,两节点都能看到,能正确读写。
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,并插⼊⼀条记录。
Oracle_RAC部署
Oracle 10g RAC数据库安装及维护手册目录目录 (2)第一部分系统硬件、软件配置说明及配置图 (3)一、总体配置说明 (3)二、网络设置说明 (3)三、数据库环境概况 (3)四、存储配置概况 (4)五、总体配置原理图 (4)第二部分 Windows Server2003 安装与配置 (5)一、安装Windows Server 2003 Enterprise Edition (5)二、操作系统配置(以下过程如无特殊说明,则在两节点上均进行) (5)第三部分 Cluster和数据库的安装、配置及升级 (15)一、安装Cluster ware软件 (15)二、安装database软件 (27)三、标识ASM驱动器 (32)四、升级数据库版本 (34)五、使用dbca安装数据库 (43)第四部分集群数据库的日常管理 (54)一、检查RAC各组件运行的状态。
(54)二、启动和停止RAC数据库。
(54)三、启动、停止、管理数据库EM监控 (55)四、如何增加表空间 (55)五、数据库管理注意事项 (55)第一部分系统硬件、软件配置说明及配置图一、总体配置说明二、网络设置说明三、数据库环境概况四、存储配置概况五、总体配置原理图第二部分 Windows Server2003 安装与配置一、安装Windows Server 2003 Enterprise Edition二、操作系统配置(以下过程如无特殊说明,则在两节点上均进行)1. 将两块网卡名改为public和private,检查被网络服务访问的连接顺序,确保public位于第一位,在网上邻居上右键点属性→菜单栏上点高级→点高级设置。
2. 修改Host文件和主机名,主机名分别为winRAC1和winRAC2,hosts文件位置:C:\windows\system32\drivers\etc\hosts10.1.3.105winrac110.1.3.107winrac1-vip10.10.10.1winrac1-priv10.1.3.106winrac210.1.3.108winrac2-vip10.10.10.2winrac2-priv测试节点之间的连通性:两台主机winRAC1和winRAC2互相ping公共主机名和专用节点名,看是否ping的通,这个时候是ping不通VIP地址的。
数据库导入导出
(1)、“完全”增量导出(Complete)
即备份三个数据库,比如:
exp system/manager inctype=complete file=040731.dmp
(2)、“增量型”增量导出
备份上一次备份后改变的数据,比如:
exp system/manager inctype=incremental file=040731.dmp
(2)、用户方式(U方式),将指定用户的所有对象及数据导出。
(3)、全库方式(Full方式),瘵数据库中的所有对象导出。
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。
2、 增量导出/导入
增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。
优点:增量备份体积小,备份不影响正常业务。
缺点:对于备份集、日志文件和备份策略等需要有一定的维护成本和学习成本。
从数据库备份的对象来看,备份工作可以使用RMAN进行物理方式的备份,也可以使用exp/expdp工具进行逻辑方式的备份。物理备份又可以分为两种类型:1镜像复制备份:把数据文件,控制文件,归档日志文件进行操作系统复制,通过RMAN的copy命令实现
1. Oracle 数据库提供了多种数据库备份与恢复的解决方案,其中包括基于RMAN的备份、用户管理的备份、Data Pump Export、闪回技术等,这些主流的备份方式有不同的特性,请结合您的经历谈谈您对它们的理解。
Oraclerac搭建文档
Oraclerac搭建文档搭建文档Oraclerac目录一、概述............................................................. ............................................................... . (3)1.1简介............................................................. ............................................................... ...3二、安装准备............................................................. .. (3)1.1硬件信息............................................................. ..........................................................31.2系统信息............................................................. ..........................................................3三、安装实施............................................................. .. (4)1.1软件准备............................................................. ..........................................................41.2服务器端准备............................................................. .. (4)1.2.1配置网络............................................................. ..............................................41.2.2安装必要的软件包............................................................. ..............................71.2.3创建用户组和用户............................................................. ..............................81.2.4配置NFS自动挂载............................................................. ..............................81.2.5配置系统参数............................................................. ......................................91.2.6上传文件到虚拟机............................................................. ............................101.2.7配置用户环境变量............................................................. ............................101.2.8创建信任关系............................................................. ....................................121.2.9开启NTP服务............................................................. ...................................131.2.10检测安装环境............................................................. (13)四、开始安装............................................................. (14)1.1安装grid........................................................... ..........................................................141.2安装不成功的回退:........................................................... ......................................221.3安装数据库.................................................................................................................22五、使用说明............................................................. (32)1.1开启:........................................................... .. (3)31.2关闭:........................................................... .. (3)3一、概述1.1简介本文档部署的环境是基于cento6.664位linu某系统的oracle11grac两节点集群,数据库的存储是NFS文件系统存储。
数据库导入的方法
数据库导入的方法数据库导入是将数据从外部文件或其他数据库中导入到目标数据库中的过程。
它是一种常见的操作,用于将数据从一个系统迁移到另一个系统,或将数据从一个环境导入到另一个环境中。
在数据库导入过程中,需要考虑以下几个方面:1. 数据准备:首先,需要准备好要导入的数据。
这可能包括从外部文件中提取数据,或从另一个数据库中导出数据。
确保数据的格式正确,并且符合目标数据库的要求。
2. 目标数据库设置:在导入数据之前,需要确保目标数据库已经创建,并设置好相应的表结构和字段。
如果目标数据库中已经存在相同表名或字段名的数据,需要先进行清理和备份。
3. 导入工具选择:根据数据的来源和格式,选择合适的导入工具。
常用的数据库导入工具有命令行工具(如mysql命令)、图形化工具(如Navicat)和编程接口(如JDBC)等。
选择合适的工具可以提高导入效率和准确性。
4. 数据映射和转换:在导入数据的过程中,可能需要对数据进行一定的映射和转换。
例如,将外部文件中的日期格式转换为数据库中的日期格式,或将外部系统的编码转换为目标数据库支持的编码。
确保数据的类型、格式和编码等与目标数据库一致,以避免数据导入错误。
5. 数据导入:根据选择的导入工具和方法,执行数据导入操作。
这可能包括执行命令行指令、使用图形界面工具进行复制粘贴操作,或使用编程接口进行数据插入。
确保导入操作的正确性和完整性,可以通过查看导入日志、执行查询语句或进行数据校验等方式进行验证。
6. 导入后处理:在导入数据完成后,可能需要进行一些后续处理。
例如,更新相关表的索引、触发器或约束,以及创建数据视图或报表等。
确保导入的数据可以正常使用和查询。
除了以上步骤,数据库导入过程中还需要注意以下几个方面:- 数据一致性:导入过程中需要确保数据的一致性和完整性。
可以通过在导入前进行数据清洗和备份,以及在导入后进行数据校验和比对等方式来提高数据的准确性和完整性。
- 导入时机:选择合适的导入时机,避免影响到正常的数据库操作和业务需求。
基于virtualbox下的oracle11.2.0.3RAC数据库的镜像复制
创建RAC数据库的镜像我们可以在任何时间保存虚拟机的镜像,并在需要的时候还原。
在这里我们要保存新创建的Oracle RAC 系统以便我们可以在同一系统甚至另外一个系统在短短的几分钟内还原他们!VM 导出是一个简单的过程,如果不处理共享磁盘保存RAC 镜像将是一项容易的任务。
我认为最简单的方法是从这两个节点卸载共享磁盘并分别考虑这三个部分(两个独立的虚拟机和一个共享磁盘)。
最终我们会有三个文件:为虚拟机使用的两个文件和代表共享磁盘的文件。
这三个文件,可以进一步由您最喜欢的归档工具存储并压缩成一个文件。
完成导出后,共享磁盘可以轻松地挂载回节点。
VM导入回VirtualBox 以及共享磁盘的导入也同样如此——作为一个额外的步骤附加到导入的虚拟机。
让我们来执行所有这些操作。
RAC的干净关闭但是首先,我们需要完整的关闭服务器,因为我们想保存它们的工作状态。
去关闭数据库,作为oracle 用户在任何节点上执行:$ . oraenvORACLE_SID = [oracle] ?ractpThe Oracle base has been set to /u01/app/oracle$ srvctl stop database -d ractp$关闭第一个节点上的集群。
作为root 用户执行:# . oraenvORACLE_SID = [ractp1] ? +ASM1The Oracle base remains unchanged with value /u01/app/oracle# crsctl stop crs...CRS-4133: Oracle High Availability Services has been stopped.#关闭第二个节点上的集群。
作为root 用户执行:# . oraenvORACLE_SID = [ractp1] ? +ASM2The Oracle base remains unchanged with value /u01/app/oracle# crsctl stop crs...CRS-4133: Oracle High Availability Services has been stopped.#关闭这两个虚拟机。
WindowsServer2016虚拟机安装Oracle12c-RAC
WindowsServer2016虚拟机安装Oracle12c-RAC 简介在 Windows Server 2016 虚拟机上安装 Oracle 12c RAC 环境需要注意很多细节,本文将会详细介绍安装 Oracle 12c RAC 的步骤和注意事项。
安装前准备在开始安装 Oracle 12c RAC 之前,需要进行以下准备工作:1. 虚拟机环境本文假设已经在 Windows Server 2016 上安装好了 VMware Workstation,创建了虚拟机。
2. Oracle 12c RAC 安装文件请确认已经下载了 Oracle 12c RAC 的安装文件,建议下载最新版本。
3. 虚拟机网络设置在 VMware Workstation 中设置虚拟机的网络,建议使用桥接模式或者 NAT 模式。
安装步骤以下是安装 Oracle 12c RAC 的具体步骤:1. 安装准备1.确认虚拟机满足 Oracle 12c RAC 的硬件要求,建议至少 2 个虚拟 CPU、4GB 内存和 40GB 硬盘空间。
2.安装 Windows Server 2016,以管理员身份运行,关闭 UAC(用户账户控制),并将防火墙关闭。
3.安装 Microsoft Loopback Adapter。
2. 安装 Oracle Grid Infrastructure1.解压下载的 Oracle 12c RAC 安装文件。
2.运行setup.exe,选择“Install and Configure Grid Infrastructure for aCluster”。
3.勾选“Create New Cluster”。
4.选择“Advanced Installation”。
5.填写 Cluster 名称,选择“Standalone Cluster”,并填写节点名称。
6.填写其他必要信息,如 ASM 存储、SCAN、VIP IP 等。
Oracle集群Grid(rac)配置,反推创建过程(重要)。
Oracle集群Grid(rac)配置,反推创建过程(重要)。
⽬前机器上,oracle都是安装好的,那么我们怎么知道,之前的安装过程⼤概是什么样⼦呢?⼤致安装oracle集群的内容:⼀、准备和配置:1、⽹卡2、ip资源3、scanip4、hosts5、dns配置6、准备rac节点,配置节点要互通⾸先要保证⽹络的正常⼆、创建⽤户(grid和oracle⽤户)1、配置系统内核参数2、配置这两个⽤户的环境变量三、配置ASM磁盘1、fdisk 格式化磁盘2、oracleasm3、udev配置磁盘三、安装相关依赖软件包四、安装grid(rac)1、[oracle@shdb02 grid]$su - grid[oracle@shdb02 grid]$cd /orasoft/ora11g/grid[oracle@shdb02 grid]$./runinstaller2、配置scan3、配置hosts4、利⽤asmca静默⽅式或图形⽅式配置磁盘组5、安装集群管理⼯具五、安装Oracle软件1、⽤DBCA创建数据库或静默⽅式(即命令⾏下安装)查看当前linux的模式,命令 runlevel[oracle@shdb02 grid]$ runlevelN 3直接输⼊init + 你想要的模式即可切换模式。
⽐如输⼊: init 0 就是关机init 3 就是切换到多⽤户-命令⾏模式init 5 就是切换到图形化界⾯init 6 就是重启1、关于创建⽤户1、oinstall -G dba oracle 什么意思?-g是组,-G是其他组,最后是⽤户名-g 表⽰为⽤户指定⼀个主group-G 表⽰为⽤户指定⼀个group//这样oracle既属于oinstall组也属于dba组。
平时主要是oinstall组发⽣作⽤。
//创建⼀个⽤户组oinstall:[root@shdb02 ~]# groupadd oinstall//创建⼀个⽤户组dba:[root@shdb02 ~]# groupadd dba//创建⼀个⽤户主⽬录/u01/app/oracle:[root@shdb02 ~]# mkdir -p /u01/app/oracle//创建⽤户oracle 到主组oinstall,副组dba,主⽬录/u01//oracle:[root@shdb02 ~]# useradd -g oinstall -G dba -d /u01/app/oracle oracle//如果oracle⽤户已经存在则:[root@shdb02 ~]# usermod -g oinstall -G dba -d /u01/app/oracle oracle//查看⽤户oracle的添加情况[grid@shdb02 app]$ id oracleuid=1100(oracle) gid=1100(oinstall) groups=1100(oinstall),1101(dba),1102(oper),1201(asmdba)//查看oracle所属的组:[grid@shdb02 app]$ groups oracleoracle : oinstall dba oper asmdba[grid@shdb02 app]$ ll -l /u01/app/total 16drwxr-xr-x 3 root oinstall 4096 May 10201811.2.0drwxr-xr-x 7 grid oinstall 4096 Apr 32020 griddrwxr-xr-x 6 oracle oinstall 4096 Apr 282019 oracledrwxrwx--- 5 grid oinstall 4096 May 102018 oraInventory2、Oracle install为什么需要oinstall ,dba 两个组,⼀个是控制软件安装,补丁安装等的;另⼀个是控制数据库创建,数据库管理等的。
PCSchematic Automation数据库导入和数据库设置
PCSchematic Automation数据库导入和数据库设置PCSchematic Automation是一款功能强大的电气工程软件,用于设计和绘制电气图和电路布线。
在使用PCSchematic Automation期间,我们经常需要导入和设置数据库,以确保数据的准确和一致性。
本文将介绍PCSchematic Automation数据库导入和数据库设置的步骤。
首先,我们需要准备好要导入的数据库文件。
PCSchematic Automation支持不同类型的数据库文件,如Microsoft Access、Microsoft SQL Server和Oracle。
在导入数据库之前,我们需要确保数据库文件与PCSchematic Automation的版本兼容,并且数据库文件没有损坏或丢失。
要导入数据库,我们需要打开PCSchematic Automation软件。
在软件的主界面中,点击“文件”菜单,然后选择“导入”选项。
在弹出的导入对话框中,我们可以选择要导入的数据库文件,并指定导入的位置。
在导入数据库之后,我们还需要进行一些数据库设置,以确保数据的一致性和完整性。
首先,我们可以在PCSchematic Automation的设置菜单中找到“数据库设置”选项。
在该选项中,我们可以设置数据库的连接字符串、用户名和密码。
除此之外,我们还可以设置数据库的自动备份和恢复功能。
PCSchematic Automation提供了自动备份和恢复选项,以防止数据丢失。
我们可以设置备份时间间隔和备份文件的保存位置。
另外,PCSchematic Automation还提供了数据库维护工具,用于检查和修复数据库中的错误和问题。
我们可以定期运行数据库维护工具来优化数据库的性能和稳定性。
在进行数据库设置时,我们还应该注意数据权限和安全性。
PCSchematic Automation提供了权限设置功能,我们可以根据用户的角色和职责限制其对数据库的访问权限。
Oracle10g RAC安装手册1
Oracle10g RAC安装手册1概述本手册在以下环境中试验安装成功:1、曙光s4800服务器(AMD 64位双网卡)2台,硬盘已做好raid 12、光纤盘阵、光纤交换机3、服务器安装 redhat as4 update 2,内核版本2.6.9-22.ELsmp本次安装需要的软件:1、10201_database_linux_x86_64.cpio.gz2、10201_clusterware_linux_x86_64.cpio.gz3、oracleasm-support-2.0.3-1.x86_64.rpm4、oracleasmlib-2.0.2-1.x86_64.rpm5、oracleasm-2.6.9-22.ELsmp-2.0.3-1.x86_64.rpm6、binutils-2.15.92.0.2-13.0.0.0.2.x86_64.rpm下载地址:1、2/technology/software/products/database/oracle10g /htdocs/10201linx8664soft.html3、4、5/technology/software/tech/linux/asmlib/rhel4.htm l6、 /projects/compat-oracle/files/RedHat/本手册的根本目标是安装并实现Asm+RAC,安装过程中以安装实际情况为准,并参考网上很多实施方案、OTN网站等大量文档,力争把安装中遇到的问题及解决方法完整的表达出来。
本文档由 Oracle10g RAC数据库简介、安装Redhat as4.0、针对Oracle配置redhat、ASM配置共享磁盘、安装配置Oracle RAC、创建和删除数据库六部分组成。
!以下部分如果没有特别说明,则要求在每个节点分别执行第一部分 Oracle10g RAC数据库简介oracle10g RAC结构下图显示了 Oracle RAC 10g 配置的主要组件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Now to study;步骤0 -安装系统需要的包# For Mac # 先安装 [Xcode](/xcode/) 开发工具,它将帮你安装好 Unix 环境需要的开发包步骤1 -安装 RVMRVM 是干什么的这里就不解释了,后面你将会慢慢搞明白。
$ curl -L https://get.rvm.io | bash -s stable期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好RVM。
然后,载入RVM 环境(新开Termal 就不用这么做了,会自动重新载入的)$ source ~/.rvm/scripts/rvm检查一下是否安装正确$ rvm -v rvm 1.22.17 (stable) by Wayne E. Seguin<wayneeseguin@>, Michal Papis <mpapis@>[https://rvm.io/]步骤2 -用 RVM 安装 Ruby 环境$ rvm install 2.0.0同样继续等待漫长的下载,编译过程,完成以后,Ruby, Ruby Gems 就安装好了。
步骤3 -设置 Ruby 版本RVM 装好以后,需要执行下面的命令将指定版本的Ruby 设置为系统默认版本$ rvm 2.0.0 --default同样,也可以用其他版本号,前提是你有用rvm install 安装过那个版本这个时候你可以测试是否正确$ ruby -v ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0] $ gem -v 2.1.6这有可能是因为Ruby的默认源使用的是,国内访问这个网址有时候会有问题,网上的一种解决方案是将远替换成淘宝的,替换方式如下: $gem source -r https:/// $ gem source -ahttps://要想验证是否替换成功了,可以执行:$ gem sources -l正常的输出结果:CURRENT SOURCES/到这里就已经把Ruby环境成功的安装到了Mac OS X上,接下来就可以进行相应的开发使用了。
如何下载和安装CocoaPods?假如你在本地已经安装好Ruby环境,那么下载和安装CocoaPods将十分简单,只需要一行命令。
在Terminator(也就是终端)中输入以下命令(注意,本文所有命令都是在终端中输入并运行的。
什么,你不知道什么是终端?那请小编吃饭,小编告诉你):如何使用CocoaPods?在终端中进入(cd命令)你项目所在目录,然后在当前目录下,利用vim创建Podfile,运行:然后在Podfile文件中输入以下文字:注意,这段文字不是小编凭空生成的,可以在AFNetworking的github页面找到。
这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.0。
然后保存退出。
vim环境下,保存退出命令是:这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,而且文件内容就是你刚刚输入的内容。
注意,Podfile文件应该和你的工程文件.xcodeproj在同一个目录下。
这时候,你就可以利用CocoPods下载AFNetworking类库了。
还是在终端中的当前项目目录下,运行以下命令:因为是在你的项目中导入AFNetworking,这就是为什么这个命令需要你进入你的项目所在目录中运行。
运行上述命令之后,小编的终端出现以下信息:注意最后一句话,意思是:以后打开项目就用CocoaPodsDemo.xcworkspace 打开,而不是之前的.xcodeproj文件。
你也许会郁闷,为什么会出现.xcodeproj文件呢。
这正是你刚刚运行$ pod install命令产生的新文件。
除了这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。
点击CocoaPodsDemo.xcworkspace 打开之后工程之后,项目Xcode目录结构如下图:你会惊喜地发现,AFNetwoking已经成功导入项目了(红框部分)!现在,你就可以开始使用AFNetworking.h啦。
可以稍微测试一下,在你的项目任意代码文件中输入:然后编译,看看是否出错。
如果你严格按照小编上述的步骤来,是不可能出错的啦。
至此,CocoPods的第一个应用场景讲述完毕。
别看小编写了这么多,其实过程是十分简单的。
总结一下就是:1.先在项目中创建Podfile,Podfile的内容是你想导入的类库。
一般类库的原作者会告诉你导入该类库应该如何写Podfile;2.运行命令:`$ pod install.下面,小编继续讲述第二种使用场景。
场景2:如何正确编译运行一个包含CocoPods类库的项目你也许曾经遇到过(特别是新手iOS开发者)这种情况,好不容易在GitHub上找到一份代码符合自己想需求,兴冲冲下载下来,一编译,傻眼了,发现有各种各样错误。
一看,原来是缺失了各种其他第三方类库。
这时候莫慌,你再仔细一看,会发现你下载的代码包含了Podfile。
没错,这意味着你可以用CocoaPods很方便下载所需要的类库。
下面,小编以代码UAAppReviewManager为例来说明如何正确编译运行一个包含CocoPods类库的项目。
UAAppReviewManager是一个能够让你方便地将提醒用户评分的功能加入你的应用中。
当你去UAAppReviewManager的GitHub地址下载这份代码之后,打开Example工程(UAAppReviewManagerExample),编译,你会发现Xcode报告一大堆错误,基本都是说你编译的这份代码找不到某某头文件,这就意味着你要成功编译UAAppReviewManager的Example代码,必须先导入一些第三方类库。
同时你会发现在UAAppReviewManagerExample文件夹下面有三个跟CocosPods相关的文件(文件夹):Podfile,Podfile.lock和Pods,如下图:用这时候,打开终端,进入UAAppReviewManagerExample所在的目录,也就是和Podfile 在同一目录下,和场景1一样,输入以下命令(由于已经有Podfile,所以不需要再创建Podfile):过几秒(也许需要十几秒,取决于你的网络状况)之后,终端出现:这时候,再回到UAAppReviewManagerExample文件夹看一看,会看到多了一个文件UAAppReviewManagerExample.xcworkspace:根据终端的信息提示,你以后就需用新产生的UAAppReviewManagerExample.xcworkspace来运行这个Example代码了。
打开UAAppReviewManagerExample.xcworkspace,编译运行,成功!如下图:注意,这里有个小问题,如果刚刚你不是输入$ pod update,而是输入$ pod install,会发现类库导入不成功,并且终端出现下面提示:这里的意思大概是Podfile文件过期,类库有升级,但是Podfile没有更改。
$ pod install 只会按照Podfile的要求来请求类库,如果类库版本号有变化,那么将获取失败。
但是$ pod update会更新所有的类库,获取最新版本的类库。
而且你会发现,如果用了$ pod update,再用$ pod install就成功了。
那你也许会问,什么时候用$ pod install,什么时候用$ pod update呢,我又不知道类库有没有新版本。
好吧,那你每次直接用$ pod update算了。
或者先用$ pod install,如果不行,再用$ pod update。
好了,小编就啰嗦到这里吧。
上述都只是CocoaPods的最基本用法。
要继续研究CocoaPods其他高级用法,请点击这里CocoaPods Wiki。
开始动手因为我之前安装了CocoaPods ,所以我这次写的ReactiveCocoaDemo 是基于CocoaPods的.如果没有安装的可以童鞋,可以直接从github上下载ReactiveCocoa前期工作:1.打开xcode 创建一个工程,我命名的工程名为ReactiveCocoaDemo,2.终端到工程路径下cd ReactiveCocoaDemo/ pod search ReactiveCocoa3.配置依赖文件vi Podfile platform :ios,'5.0' pod 'ReactiveCocoa'wq4.下载文件pod install /update5:打开“Build Phases” 选中相应的target, 添加RAC 到“Link Binary With Libraries”.加上libReactiveCocoa-iOS.a如下图6:在Header Search Paths 中添加$(BUILD_ROOT)/../IntermediateBuildFilesPath/UninstalledProducts/inclu de"7:在“Other Linker Flags” 添加-ObjC8:在ReactiveCocoaDemo-Prefix.pch 将RAC的头文件加进去#import "ReactiveCocoa.h"ReactiveCocoa和响应式编程在说ReactiveCocoa之前,先要介绍一下FRP(Functional Reactive Programming,响应式编程),在维基百科中有这样一个例子介绍:在命令式编程环境中,a = b + c 表示将表达式的结果赋给a,而之后改变b或c的值不会影响a。
但在响应式编程中,a的值会随着b或c的更新而更新。
Excel就是响应式编程的一个例子。
单元格可以包含字面值或类似”=B1+C1″的公式,而包含公式的单元格的值会依据其他单元格的值的变化而变化。
而ReactiveCocoa简称RAC,就是基于响应式编程思想的Objective-C实践,它是Github 的一个开源项目,你可以在这里找到它。
关于FRP和ReactiveCocoa可以去看leezhong的这篇blog,图文并茂,讲的很好。
ReactiveCocoa框架概览先来看一下leezhong再博文中提到的比喻,让你对有个ReactiveCocoa很好的理解:可以把信号想象成水龙头,只不过里面不是水,而是玻璃球(value),直径跟水管的内径一样,这样就能保证玻璃球是依次排列,不会出现并排的情况(数据都是线性处理的,不会出现并发情况)。