FYF
» HerBert
Toggle navigation
FYF
主页
1、用户
2、各种方案
3、备份恢复
4、表空间相关
5、OGG
6、文件管理
7、常见故障分析
8、DG
9、集群相关
HCCDP
实验题
About Me
归档
标签
麒麟安装oracle11g rac
无
2025-09-19 15:09:37
19
0
0
admin
[TOC] ## 1. 环境初始化配置 ### 1.1 关闭防火墙和时间同步服务 ```bash # 停止并禁用NTP服务 systemctl stop ntpd systemctl disable ntpd systemctl status ntpd # 关闭SELinux echo "SELINUX=disabled" > /etc/selinux/config echo "#SELINUXTYPE=targeted" >> /etc/selinux/config setenforce 0 # 停止并禁用防火墙 systemctl stop firewalld.service systemctl disable firewalld.service systemctl status firewalld.service ``` ### 1.2 磁盘处理(UDEV规则) ```bash # 生成ASM磁盘UDEV规则 for i in {c..i}; do echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\"" done # 创建UDEV规则文件 vi /etc/udev/rules.d/99-oracle-asmdevices.rules # 应用UDEV规则 /sbin/udevadm trigger --type=devices --action=change ``` ### 1.3 修改hosts文件 ```bash # 添加集群节点网络配置 cat >> /etc/hosts << EOF 10.1.238.2 ora-rac-1 10.1.238.4 ora-rac-2 10.1.238.3 ora-rac-1-vip 10.1.238.5 ora-rac-2-vip 10.1.238.33 ora-rac-1-pri 10.1.238.34 ora-rac-2-pri 10.1.238.6 ora-rac-scan EOF ``` ## 2. 用户和目录配置 ### 2.1 创建用户组和用户 ```bash # 创建用户组 /usr/sbin/groupadd -g 60001 oinstall /usr/sbin/groupadd -g 60002 dba /usr/sbin/groupadd -g 60003 oper /usr/sbin/groupadd -g 60004 backupdba /usr/sbin/groupadd -g 60005 dgdba /usr/sbin/groupadd -g 60006 kmdba /usr/sbin/groupadd -g 60007 asmdba /usr/sbin/groupadd -g 60008 asmoper /usr/sbin/groupadd -g 60009 asmadmin # 创建grid用户 /usr/sbin/useradd -u 61001 -g oinstall -G asmadmin,asmdba,dba,asmoper,oper grid # 创建oracle用户 /usr/sbin/useradd -u 61002 -g oinstall -G dba,backupdba,dgdba,kmdba,asmadmin,asmdba,oper oracle # 设置用户密码 echo 'Lc_jcgh0' | passwd --stdin grid echo 'Lc_jcgx0' | passwd --stdin oracle ``` ### 2.2 创建目录并设置权限 ```bash # 创建Grid目录 mkdir -p /u01/app/grid mkdir -p /u01/app/11.2.0/grid chown -R grid:oinstall /u01 # 创建Oracle Inventory目录 mkdir -p /u01/app/oraInventory chown -R grid:oinstall /u01/app/oraInventory # 创建Oracle软件目录 mkdir -p /u01/app/oracle chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01 ``` ## 3. 操作系统参数配置 ### 3.1 资源限制配置 ```bash # 设置用户资源限制 cat >> /etc/security/limits.conf << EOF # ORACLE SETTING grid soft nproc 16384 grid hard nproc 16384 grid soft nofile 65536 grid hard nofile 65536 grid soft stack 32768 grid hard stack 32768 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft nofile 65536 oracle hard nofile 65536 oracle soft stack 32768 oracle hard stack 32768 EOF # 应用PAM限制 echo "session required pam_limits.so" >> /etc/pam.d/login # 修改nproc限制 echo "* - nproc 16384" > /etc/security/limits.d/90-nproc.conf ``` ### 3.2 安装依赖包 ```bash # 安装基础依赖 dnf -y install libaio libaio-devel libXrender libXrender-devel libX11 libXau libXi libXtst libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb make libtools nfs-utils targetcli smartmontools sysstat unixODBC libtirpc libtirpc-devel libnsl2 libnsl2.i686 psmisc elfutils* gcc* tigervnc-server # 安装特定版本libaio unzip package_ky10sp1_oracle.zip cd package_ky10sp1_oracle rpm -e libaio-0.3.111-5.ky10.x86_64 --nodeps rpm -ivh *.rpm --nodeps --force # 安装其他依赖 yum install libaio-devel* elfutils* gcc* tigervnc-server ``` ### 3.3 系统内核参数配置 ```bash # 修改sysctl.conf cat >> /etc/sysctl.conf << EOF # ORACLE SETTING fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmax = 21474836480 kernel.shmall = 5242880 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.ipv4.ip_forward=1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 kernel.panic_on_oops = 1 #vm.nr_hugepages = 2000 vm.swappiness=1 vm.min_free_kbytes=2000480 EOF # 应用内核参数 sysctl -p ``` ### 权限问题 unable to set priority to 4 ``` # 1. 永久修改全局实时调度设置 echo "kernel.sched_rt_runtime_us = -1" >> /etc/sysctl.conf # 2. 永久修改cgroup设置(需创建systemd服务) cat <<EOF | sudo tee /etc/systemd/system/disable-rt-limit.service [Unit] Description=Disable CPU RT runtime limit After=cgroup.target [Service] Type=oneshot ExecStart=/bin/bash -c "echo -1 > /sys/fs/cgroup/cpu/cpu.rt_runtime_us" [Install] WantedBy=multi-user.target EOF # 启用服务 sudo systemctl daemon-reload sudo systemctl enable disable-rt-limit.service # 编辑grub配置 vi /etc/default/grub # 在GRUB_CMDLINE_LINUX行添加: cgroup_disable=cpu # 更新grub并重启 grub2-mkconfig -o /boot/grub2/grub.cfg reboot # 检查实时调度限制 echo -1 > /proc/sys/kernel/sched_rt_runtime_us echo -1 > /sys/fs/cgroup/cpu/cpu.rt_runtime_us cat /sys/fs/cgroup/cpu/cpu.rt_runtime_us # 应该显示-1 # 检查CSSD状态 crsctl check css ``` ### 3.4 NUMA配置 ```bash # 修改GRUB配置 cat >> /etc/default/grub << EOF GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="\$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high audit=0 numa=off transparent_hugepage=never" GRUB_DISABLE_RECOVERY="true" EOF # 重新生成GRUB配置 grub2-mkconfig -o /boot/grub2/grub.cfg # 验证NUMA配置 numactl --show numactl --hardware ``` ### 3.5 共享内存调整 ```bash # 调整/dev/shm大小 echo "none /dev/shm tmpfs defaults,size=21504m 0 0" >> /etc/fstab mount -o remount /dev/shm ``` ### 3.6 网络配置 ```bash # 禁用ZEROCONF echo "NOZEROCONF=yes" >> /etc/sysconfig/network ``` ## 4. 环境变量配置 ### 4.1 Grid用户环境变量 ```bash # 配置grid用户环境变量 cat >> /home/grid/.bash_profile << EOF PS1="[\u@\h:\w]\$ " umask 022 export TMP=/tmp export LANG=en_US export TMPDIR=\$TMP ORACLE_SID=+ASM1; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM ORACLE_BASE=/u01/app/grid; export ORACLE_BASE ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT PATH=.:\$PATH:\$HOME/bin:\$ORACLE_HOME/bin; export PATH THREADS_FLAG=native; export THREADS_FLAG if [ \$USER = "oracle" ] || [ \$USER = "grid" ]; then if [ \$SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi EOF ``` ### 4.2 Oracle用户环境变量 ```bash # 配置oracle用户环境变量 cat >> /home/oracle/.bash_profile << EOF PS1="[\u@\h:\w]\$ " export TMP=/tmp export LANG=en_US export TMPDIR=\$TMP export ORACLE_UNQNAME=ceshi ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME ORACLE_SID=ceshi1; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG PATH=.:\$PATH:\$HOME/bin:\$ORACLE_BASE/product/11.2.0/db_1/bin:\$ORACLE_HOME/bin; export PATH THREADS_FLAG=native; export THREADS_FLAG if [ \$USER = "oracle" ] || [ \$USER = "grid" ]; then if [ \$SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi EOF ``` ## 5. Grid Infrastructure安装 ### 5.1 准备安装文件 ```bash # 切换到grid用户 su - grid # 设置环境变量 export CV_ASSUME_DISTID=OL7.6 # 解压安装文件 chown grid:oinstall p13390677_112040_Linux-x86-64_3of7.zip unzip p13390677_112040_Linux-x86-64_3of7.zip cd grid # 复制unzip工具到安装目录 cp /usr/bin/unzip ./install ``` ### 5.2 运行安装程序 ```bash # 启动Grid安装 ./runInstaller ``` ### 5.3 解决root.sh执行报错 ```bash # 创建ohas服务文件 cat > /usr/lib/systemd/system/ohas.service << EOF [Unit] Description=Oracle High Availability Services After=syslog.target [Service] ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple Restart=always [Install] WantedBy=multi-user.target EOF # 设置服务权限 chmod 777 /usr/lib/systemd/system/ohas.service # 启用并启动服务 systemctl daemon-reload systemctl enable ohas.service systemctl start ohas.service systemctl status ohas.service # 重新执行root.sh脚本 ``` ## 6. ASM磁盘组创建 ```bash # 使用asmca创建ASM磁盘组 asmca ``` ## 7. Oracle软件安装 ### 7.1 准备安装文件 ```bash # 切换到oracle用户 su - oracle # 设置文件权限 chown oracle:oinstall p13390677_112040_Linux-x86-64_1of7.zip chown oracle:oinstall p13390677_112040_Linux-x86-64_2of7.zip # 解压安装文件 unzip p13390677_112040_Linux-x86-64_1of7.zip unzip p13390677_112040_Linux-x86-64_2of7.zip cd database # 复制unzip工具到安装目录 cp /usr/bin/unzip ./install ``` ### 7.2 运行安装程序 ```bash # 启动Oracle安装 ./runInstaller ``` ### 7.3 解决安装报错 ```bash # 修改emagent makefile vi $ORACLE_HOME/sysman/lib/ins_emagent.mk # 找到以下行: $(MK_EMAGENT_NMECTL) # 修改为: $(MK_EMAGENT_NMECTL) -lnnz11 ``` ## 8. 创建数据库 ```bash # 使用dbca创建数据库 dbca ```
上一篇:
表空间对应数据文件、扩容
下一篇: 无
0
赞
19 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网