ORACLE 11G R2 RAC+Mutilpath+RAW+ASM+Silent+AddNode+DG 完全安装详解 二

################################# 磁盘管理#################################

# 磁盘规划(生产库只需要按比例扩大 DATA 和 FRA)
#CRS 1G (仲裁盘 和 CRS 盘, ORACLE 要求 设置为奇数块 防止产生脑裂 ,大小 至少 869M
#DATA 5G (分越多块越好,充分发挥多路径均衡负载 IO 性能,ORACLE 要求至少 5100M)
#FRA 6G (快速恢复区,可以存放数据库备份,增量备份和归档日志,原则上比 DATA 要大)

# 多路径配置
#这里只介绍一般linux发行版中都自带的 multipath 多路径软件的常用命令,如何设置这里不再敖述。
#其他商业版本的多路径软件都类似,反而更简单,其原理都是在 /dev/ 下生成专有盘符
#比如 EMC 的 powerpath 会生成 /dev/emcpowerX 这样路径聚合后的 DM 设备盘符
#重新扫描LUN设备
rescan-scsi-bus.sh
#查看多路径软件是否存在
lsmod | grep dm-multipath
#加载多路径软件模块
modprobe dm-multipath
#多路径软件的重启
service multipathd restart
#开机启动多路径
chkconfig multipathd on
#查看多路径
multipath -ll | grep mpath
#强制更新路径
multipaht -F
#聚合路径 生成 DM 设备(/dev/mapper/*)
multipath -v2
multipath -v3 | grep uid
#显示DM设备信息(device mapper)
dmsetup ls|sort|info|status
fdisk-l | grepmp

# 磁盘管理(如果是学习环境请直接看 方式一 例三,直接跳至 磁盘测试
#生产环境不建议直接用系统生成的逻辑盘 sd*来绑定裸设备,重启时系统盘符可能会产生变化
#以 裸设备 加 ASM 管理磁盘,不格式化磁盘,可以获得最大磁盘性能并防止操作系统对该分区写入数据。
#官方建议用 UDEV 规则来映射 RAW,也可以直接 RAW 服务加载,还可以用ASMLib 三种方式。
# 备注:(linux 下 ORACLE 不能直接使用逻辑卷,必须绑定为 raw 设备,权限也必须正确,否则 ASM 里无法发现磁盘。UNIX可以直接使用逻辑卷。 内核 2.6.9 之前使用 /etc/sysconfig/rawdevices 和 /etc/udev/permissions.d/50-udev.permissions 的配合对 raw 设备进行管理,内核 2.6.18 以后 RHEL 一般使用 /etc/udev/rules.d/60-raw.rules 进行 raw 设备的管理,RHEL 的/etc/udev/permissions.d/50-udev.permissions和 SLES 的/lib/udev/rules.d/50-udev-default.rules为磁盘的权限管理,RHEL 的60-raw.rules,SLES 没有 60-raw 规则,还是使用 /etc/raw 都为C字符设备,自定义规则99-oracle-asmdevices 和 ASMLib都为B块设备,ORACLE10.2.0.2 才开始支持块设备)

#方式一:配置UDEV规则来挂载裸设备(工作机制参考下面链接)
# https://wiki.archlinux.org/index.php/Udev_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

#例一:(只针对 RHEL)
vi /etc/udev/rules.d/60-raw.rules
ACTION=="add",KERNEL=="mapper/ 2229f000155201944",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="mapper/ 222710001552e7868",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="mapper/ 222810001558f83bd",RUN+="/bin/raw /dev/raw/raw3 %N"
KERNEL=="raw[1-9]*",OWNER="grid",GROUP="asmadmin",MODE="660"

#例二:(多路径聚合 DM 设备生成脚本,各 linux 通用,建议)
mv /etc/udev/rules.d/99-oracle-asmdevices.rules/etc/udev/rules.d/99-oracle-asmdevices.rules.bak
for i in 2229f000155201944 222710001552e7868 222810001558f83bd;
do
echo "KERNEL==\"dm*\",SUBSYSTEM==\"block\",PROGRAM==\"/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/mapper/\$name\",RESULT==\"`/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/mapper/$i`\",NAME=\"asm-$i\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\"">>/etc/udev/rules.d/99-oracle-asmdevices.rules;
done

# 例三:(直接使用系统逻辑盘的生成脚本,仅学习使用,如果正常完成会去掉 /dev/sd* 变成 /dev/asm*)
mv/etc/udev/rules.d/99-oracle-asmdevices.rules /etc/udev/rules.d/99-oracle-asmdevices.rules.bak
for i in b c d;
do
echo "KERNEL==\"sd*\",PROGRAM==\"/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",MODE=\"0660\"">>/etc/udev/rules.d/99-oracle-asmdevices.rules;
done
#重启后 ll /dev/asm* 查看磁盘是否存在,权限是否正常

#SLES 的 UDEV 命令 (建议重启,经测试,重启 UDEV 服务好像不起作用)
/etc/init.d/boot.udev restart
/etc/init.d/boot.udev status
# On RHEL5/OEL5/OL5:
# /sbin/udevcontrol reload_rules
# /sbin/start_udev
# On RHEL6/OL6:
#/sbin/udevadm control --reload-rules
#/sbin/start_udev

#方式二:直接挂载为 RAW 裸设
modprobe raw

#例一:SLES 的 raw 配置文件挂载 (RHEL 为/etc/sysconfig/rawdevices,之后还必须配合权限)
#多路径绑定 raw
cat >>/etc/raw<<EOF
raw1:mapper/ 2229f000155201944
raw2:mapper/ 222710001552e7868
raw3:mapper/ 222810001558f83bd
EOF
#逻辑盘绑定 raw(仅学习使用,官方建议使用 UDEV)
cat >>/etc/raw<<EOF
raw1:sdb
raw2:sdc
raw3:sdd
raw4:sde
EOF

# RHEL 权限修改
vi /etc/udev/permissions.d/50-udev.permissions
将raw/*:root:disk:0660改成 raw/*: grid: asmadmin :0660
# SLES 权限修改
vi /lib/udev/rules.d/50-udev-default.rules
KERNEL=="rawctl",NAME="raw/%k",GROUP="disk"
SUBSYSTEM=="raw",KERNEL=="raw[0-9]*",GROUP="disk"
改成
KERNEL=="rawctl",GROUP="disk",MODE="0660"
SUBSYSTEM=="raw",MODE="0660"
#或者直接自定义一个规则可以
cat >>/lib/udev/rules.d/99-raw.rules<<EOF
KERNEL=="rawctl",MODE="0660"
SUBSYSTEM=="raw",MODE="0660"
EOF

#例二:启动时直接用 raw 服务挂载 高版本 linux 可能无效,学习使用,官方建议使用 UDEV)
cat >> /etc/rc.local<<EOF
raw/dev/raw/raw1/dev/sdb
raw/dev/raw/raw2/dev/sdc
raw/dev/raw/raw3/dev/sdd
raw/dev/raw/raw4/dev/sde
sleep 1
chown grid: asmadmin/dev/raw/raw[0-9]*
chmod 660 /dev/raw/raw [0-9]*
EOF

#启动 raw 服务
service raw start
chkconfig raw on

#查看挂载是否成功
chkconfig --list | grep raw
ll /dev/raw/
raw -qa

#方式三:ASMLib 方式绑定裸设备(略过,网上很多)

#创建软连接来指向 raw 文件 (示例,不建议)
#ln -s /dev/raw/raw11 redo101.log
#ln -sf /dev/raw/raw1 /u01/oradata/devdb/asmdisk1

# 测试磁盘(磁盘写入测试,如刚创建 UDEV 规则建议重启 reboot 后测试)
#dd if=/dev/zero of=/dev/mapper/ 2229f000155201944
#dd if=/dev/zero of=/dev/raw/ raw1
#dd if=/dev/zero of=/dev/ asm-b
#查看IO性能 及 多路径的均衡负载(另开一个会话)
#watch iostat -dm

############################### halt 复制虚拟机 ###############################

#可以直接复制3台机器,为以后添加 rac3 节点和 DG 做准备,共享磁盘也要复制一套,给 DG 使用

############################### 其他节点操作开始##############################

# 修改IP 其他节点 如果是复制的虚拟机,这里的 网卡名称会变 ,请注意

# 修改 主机名(针对 SLES ,RHEL 在网卡配置文件里设置)
mv/etc/HOSTNAME /etc/HOSTNAME.bak
hostname rac 2
hostname> /etc/HOSTNAME
sysctl kernel.hostname=rac 2

#用户环境变量其他节点
echo '
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_TERM=xterm
export THREADS_FLAG=native
export ORACLE_SID= rac 2
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME= $ORACLE_BASE/product/11.2.0/db_1
export PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
#export DISPLAY=:0.0
export LANG=zh_CN.UTF-8
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA. AL32UTF8"
alias rsqlplus="rlwrap sqlplus / as sysdba"
alias rrman="rlwrap rman target /"
' >/home/oracle/.bash_profile

echo '
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_TERM=xterm
export THREADS_FLAG=native
export ORACLE_SID=+ASM 2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORA_CRS_HOME=$ORACLE_HOME
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS11=$ORACLE_HOME/nls/data
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
#export DISPLAY=:0.0
export LANG=zh_CN.UTF-8
export CVUQDISK GRP=oinstall
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA . AL32UTF8"
alias rasmcmd="rlwrap asmcmd"
alias rsqlplus="rlwrap sqlplus / as sysasm"
alias crs="watch crs_stat -t"
' > /home/grid/.bash_profile

############################### 其他节点操作结束##############################

# 安装介质(只需要复制到主节点,其他节点不需要)
# p13390677_112040 _Linux-x86-64_1of7.zip 和 p13390677_112040 _Linux-x86-64_2of7.zip 是 Oracle 软件的安装介质。 p13390677_112040 _Linux-x86-64_3of7.zip 是 GRID 软件的安装介质。
#这里的3 个软件包均是来源于MetaLink 网站,其版本均是目前 Oracle 11g 的最 新版本 11.2.0.4.0。 如果没有MetaLink 账号也可以从 oracle 官方网站免费获取 11.2.0.1.0 的版本。

#复制三个zip包到根目录
cd / && rz
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
unzip p13390677_112040_Linux-x86-64_3of7.zip
#解压完会在根目录多出两个目录 /database/ 和 /grid/
du -sh /database && du -sh /grid
#rm -rf p13390677_112040_Linux-x86-64_*

# 建立等效性 这步可以跳过,主要是为了 静默安装 使用,GUI 图形界面安装时可以更简便的配置它)
#方法一:(建议!ROOT 用户不做要求,因涉及密码输入,这里的命令不能批量复制!)
#等效性操作只需要在主节点上运行,其中要输入四次密码,grid 密码 grid ,oracle 密码 oracle
/grid/sshsetup/sshUserSetup.sh -user root-hosts " rac1 rac2" -advanced -exverify -confirm -noPromptPassphrase
/grid/sshsetup/sshUserSetup.sh-usergrid-hosts"rac1rac2"-advanced-exverify-confirm-noPromptPassphrase
/grid/sshsetup/sshUserSetup.sh -user oracle-hosts " rac1 rac2" -advanced -exverify -confirm -noPromptPassphrase

#方法二:
ssh-keygen
ssh-copy-id root@rac1
ssh-copy-id root@ rac 2
su - oracle
ssh-keygen
ssh-copy-id oracle@rac1
ssh-copy-id oracle@ rac 2 && exit
su - grid
ssh-keygen
ssh-copy-idgrid@rac1
ssh-copy-id grid @rac2&& exit

#测试等效性(出现六个日期证明成功了)
ssh rac1 date && ssh rac2 date && su-oracle -c " ssh rac 1 date" && su-grid -c "ssh rac1 date" && su-oracle -c "ssh rac 2 date" && su-grid -c "ssh rac2 date"

# GridInfrastructure 的依赖包(重要!)
rpm -ivh /grid/rpm/cvuqdisk-1.0.9-1.rpm
scp /grid/rpm/cvuqdisk-1.0.9-1.rpm rac2:~/
ssh root@rac2 "rpm -ivh cvuqdisk-1.0.9-1.rpm"
ssh root@rac2 "rm -rfcvuqdisk-1.0.9-1.rpm"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读773次,点赞6次,收藏9次。【代码】c# json字符串转Oracle的insert into的小程序。
文章浏览阅读8.7k次,点赞2次,收藏17次。此现象一般定位到远端的监听服务来找问题,在远端查看监听服务状态(具体看下面的解决方案会详细呈现),服务是否开启,另外查看监听端点概要是否存在host未指向到计算名的,如无直接进入监听配置文件listener.ora内添加指向即可。2、查看监听服务状态 lsnrctl status,右边为远端端点状态,未添加host指向到计算名;1、本地及远端安装好Oracle并配置好连接,Oracle服务和监听已启动;1、远程Oracle数据库:Oracle11g R2。或者进入下述服务手动重启。,再进行远程连接即可。_ora-12541:tns:无监听程序
文章浏览阅读2.8k次。mysql脚本转化为oracle脚本_mysql建表语句转oracle
文章浏览阅读2.2k次。cx_Oracle报错:cx_Oracle DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library_cx_oracle.databaseerror: dpi-1047: cannot locate a 64-bit oracle client libr
文章浏览阅读1.1k次,点赞38次,收藏35次。本文深入探讨了Oracle数据库的核心要素,包括体系结构、存储结构以及各类参数。通过解析Oracle数据库的体系结构,读者可以深入了解其内部组成和工作原理。存储结构部分介绍了数据在Oracle中的存储方式,从表空间到数据文件的层层逻辑。最后,我们深入探讨了Oracle数据库中各类参数的作用和配置方法,帮助读者更好地理解和优化数据库性能。本文旨在帮助读者全面理解Oracle数据库的运作机制,为其在实践中的应用提供基础和指导。
文章浏览阅读1.5k次。默认自动收集统计信息的时间为晚上10点(周一到周五,4个小时),早上6点(周六,周日,20个小时)由于平时默认每天只收集4小时,时间有点短了,改成每天可收集8小时。oracle 18c中默认是打开的。查看当前自动收集统计信息的时间。_oracle自动收集统计信息
文章浏览阅读929次,点赞18次,收藏20次。只有assm(Automatic Shared Memory Management)模式可以使用大页,需要关闭amm(Memory Manager Process)HugePages_Free: 306 (空闲306页,已使用306-306=0页)防止oracle使用的内存交换,所以设置的大小与oracle配置的sga、pga相关。HugePages_Rsvd: 0 (操作系统承诺给oracle预留的页数)HugePages_Total: 306 (总共306页)_oracle11g 大页
文章浏览阅读801次。例如:10046:0,1,4,8,12。默认redo日志有三个,大小为50M,循环覆盖使用。redo log再覆盖之前,会被归档,形成归档日志。答:不同事件,不同级别。trace的不同级别?_oracle 日志
文章浏览阅读4.2k次,点赞84次,收藏77次。主要讲解MySQL中SQL的DDL语句,其中包括对数据库和表的一系列操作。_sql ddl 新增字段 mysql
文章浏览阅读1.1k次。ON DEMAND:仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;ON COMMIT:一旦基表有了COMMIT,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。Method =>'C',物化视图有三种刷新方式:COMPLETE、FAST和FORCE。物化视图会占用空间,一半可用于大量数据查询时,减缓主表的查询压力使用。例如创建一个物化视图,让对接单位查询。_oracle物化视图定时刷新
文章浏览阅读713次,点赞21次,收藏18次。1.背景介绍在当今的大数据时代,数据量越来越大,传统的关系型数据库已经无法满足业务需求。因此,NoSQL数据库技术迅速崛起,成为企业和开发者的首选。Oracle NoSQL Database是Oracle公司推出的一款分布式NoSQL数据库产品,具有高性能、高可用性和易于扩展等特点。在本文中,我们将深入了解Oracle NoSQL Database的集成与开发者工具,帮助您更好地掌握这款产品的...
文章浏览阅读2.5k次,点赞2次,收藏4次。今天遇见一个问题需要将字段中包含中文字符串的筛选出来。_oracle查询包含中文字符
文章浏览阅读802次。arcmap 在oracle删除表重新创建提示表名存在解决放啊
文章浏览阅读4.3k次,点赞2次,收藏4次。Oracle连接数据库提示 ORA-12638:身份证明检索失败_ora-12638
文章浏览阅读3.4k次,点赞6次,收藏25次。etc/profile是一个全局配置文件,所有用户登录都会使用该文件构建用户环境。与windows配置环境变量是一个道理。选择Linux系统,找到适合自己系统的安装包,我的是CentOS 8 x64。接下来需要登陆Oracle账户才能下载,无账户的可以自己注册一个。Linux中export 命令用于设置或显示环境变量。模式,利用上下键到文档最后,添加以下代码。出现如图所示版本号字样,则说明安装成功。点击下载,勾选1,点击2。记住完整路径用于后面配置。找到Java并点击进去。往下翻,找到Java8。_linux安装jdk1.8
文章浏览阅读2.4w次,点赞26次,收藏109次。JDK 是的简称,也就是 Java 开发工具包。JDK 是整个 Java 的核心,其中JDK包含了 Java 运行环境(Java Runtime Envirnment,简称 JRE),Java 工具(比如 javac、java、javap 等等),以及 Java 基础类库(比如 rt.jar)。最主流的 JDK 是Oracle公司发布的 JDK,除了 Oracle JDK(商业化,更稳定)之外,还有很多公司和组织开发了属于自己的 JDK,比较有名的有IBM JDK(更适合 IBM) 和OpenJDK。_jdk安装教程
文章浏览阅读7.5w次。出现 “java.sql.SQLNonTransientConnectionException:Could not create connection to database server” 的错误通常是由于无法连接到数据库服务器引起的。_java.sql.sqlnontransientconnectionexception: could not create connection to
文章浏览阅读849次,点赞7次,收藏10次。在ClickHouse中创建用户、数据库并进行权限分配是一个重要的管理任务,它涉及到安全性和访问控制。下面是一个基本的指南来帮助你完成这些操作:1. 创建数据库首先,需要创建一个数据库。使用以下命令:CREATE DATABASE IF NOT EXISTS your_database_name;将 your_database_name 替换为你想要的数据库名。2. 创建用户接下来,创建一个新用户。使用以下命令:CREATE USER your_username IDENTIFIED WIT_在clickhouse中如何创建用户 赋权
文章浏览阅读1.2k次,点赞53次,收藏39次。本文是一篇关于Oracle数据库安装和使用的博文摘要。作者以轻松幽默的笔调介绍了自己在实验中掌握的Oracle数据库基本操作,包括使用组件查看命令、配置数据库监听器等。作者也分享了在实验中遇到的一些有趣问题,如SQL语句缺少分号导致的意外错误。此外,作者还强调了登录sys用户和启动实例加载数据库的注意事项,并鼓励读者面对挑战时保持乐观,不断提升自己的能力。整体风格风趣严谨,引人入胜。
文章浏览阅读820次,点赞17次,收藏16次。KingbaseES、xml、dbms_xmlgen、SETSKIPROWS、人大金仓、KingbaseES兼容Oracle包dbms_xmlgen的功能是通过SQL查询将关系表中数据转化为XML文档。转化方式一共有两种:(1)通过查询字符串直接转化。(2)通过上下文句柄转化。对于通过查询字符串直接转化的方式,无法跳过若干行进行查询,只能直接将表格中的所有数据转化为XML文档。