写给自己,也写给大家,每天进步一点点。。。这两天都没运动,全搞这玩意了。记录一下,别忘了。
关于数据库版本和操作系统版本之间相互兼容的问题,这个需要重视,以免出现,下面我在安装过程中出现的问题。
官方文档:Oracle Database Client Installation Guide for Linux
官方文档:Oracle Database Client Preinstallation Tasks
前面的操作:安装操作系统、配置网络、配置磁盘资源。
配置yum源
mkdir /yums
cd /run/media/root/CentOS 7 x86_64/Packages
cp * /yums
cd /yums
createrepo . (旁边有个点别忘了)
cd /etc/yum.repos.d/
mkdir bak
##这里需要将其他repo备份,否则会影响后面操作yum repolist all
mv *.repo bak/
cat <<EOF>>/etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///yums
gpgcheck=0
enabled=1
EOF
yum repolist all
安装依赖包
yum install -y binutils-*
yum install -y compat-libstdc++*
yum install -y elfutils-libelf-*
yum install -y elfutils-libelf-devel*
yum install -y gcc-*
yum install -y glibc-*
yum install -y ksh
yum install -y libaio-*
yum install -y libgcc-*
yum install -y libstdc++*
yum install -y make-*
yum install -y sysstat-*
yum install -y unixODBC-*
yum install -y compat-libcap1*
yum install -y iscsi*
yum install -y libXp*
yum install -y udev*
yum install -y xterm
单独安装compat-libstdc++
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
检查依赖包是否安装
rpm -q binutils gcc gcc-c++ glibc glibc-common \
glibc-devel glibc-headers libaio libaio-devel libgcc \
libstdc++ libstdc++-devel make sysstat \
unixODBC unixODBC-devel elfutils-libelf elfutils-libelf-devel \
compat-libstdc++ compat-libstdc++-33 xterm
配置 /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.21 11g000
配置 /etc/hostname
11g000
关闭防火墙
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
关闭selinux
sudo setenforce 0
sudo sed -i "s/^SELINUX=.*$/SELINUX=disabled/" /etc/selinux/config
关闭透明大页 transparent_hugepage
sudo sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
创建组和用户并设置用户密码
groupadd -g 2001 oinstall
groupadd -g 2002 dba
useradd -u 2001 -g oinstall -G dba oracle
passwd passwd
创建必要目录,并分配属组,授权775
mkdir -p /home/app/oracle
mkdir -p /home/app/oracle/product/11.2.0/db_1
mkdir -p /home/app/oraInventory
mkdir -p /home/software
chown -R oracle:oinstall /home
chmod -R 775 /home
配置文件 /etc/sysctl.conf
memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}')
#totalMemory=$((memTotal / 1024 / 1024 /1024))
shmall=$((memTotal / 4))
if [ $shmall -lt 2097152 ]; then
shmall=2097152
fi
shmmax=$((memTotal * 1024 - 1))
if [ "$shmmax" -lt 4294967295 ]; then
shmmax=4294967295
fi
cat <<EOF>>/etc/sysctl.conf
#此参数限制并发未完成的请求,避免I/O子系统故障 默认值:1048576
fs.aio-max-nr = 3145728
#系统中所允许的文件句柄最大数目
fs.file-max = 6815744
#控制共享内存段总数
kernel.shmall = $shmall
#最大共享内存段大小 取物理内存大小的一半,单位为字节
#这里的取值是,如果小于4G(4294967296-1),则按直接按照4G取值
kernel.shmmax = $shmmax
#整个系统共享内存段的最大数目
kernel.shmmni = 4096
#每个信号对象集的最大信号对象数;
#系统范围内最大信号对象数;
#每个信号对象支持的最大操作数;
#系统范围内最大信号对象集数。
kernel.sem = 250 32000 100 128
#应用程序可使用的IPv4端口范围
net.ipv4.ip_local_port_range = 9000 65500
#套接字接收缓冲区大小的缺省值
net.core.rmem_default = 262144
#套接字接收缓冲区大小的最大值 默认值: 4194304
net.core.rmem_max = 10485860
#套接字发送缓冲区大小的缺省值
net.core.wmem_default = 262144
#套接字发送缓冲区大小的最大值 默认值: 1048586
net.core.wmem_max = 10485860
#用于重组IP分段的内存分配最高值
#net.ipv4.ipfrag_high_thresh = 16777216
#用于重组IP分段的内存分配最低值
#net.ipv4.ipfrag_low_thresh = 15728640
EOF
知识点:
Linux Shell 判断比较的逻辑,相关关键字的意思:
-gt 大于
-eq 等于
-ne 不等于
-ge 大于等于
-lt 小于
-le 小于等于
配置文件 /etc/security/limits.conf
sed -i '/^[^#]*memlock/d' /etc/security/limits.conf
sed -i '$a \* soft memlock 3145728' /etc/security/limits.conf
sed -i '$a \* hard memlock 3145728' /etc/security/limits.conf
sed -i '/^[^#]*nofile/d' /etc/security/limits.conf
sed -i '/^[^#]*stack/d' /etc/security/limits.conf
sed -i '/^[^#]*nproc/d' /etc/security/limits.conf
sed -i '$a \* soft nofile 1024' /etc/security/limits.conf
sed -i '$a \* hard nofile 65536' /etc/security/limits.conf
sed -i '$a \* soft stack 10240' /etc/security/limits.conf
sed -i '$a \* hard stack 32768' /etc/security/limits.conf
sed -i '$a \* soft nproc 2047' /etc/security/limits.conf
sed -i '$a \* hard nproc 16384' /etc/security/limits.conf
配置 oracle 环境变量
su - oracle
vim ~/.bash_profile
export ORACLE_BASE=/home/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;
export ORACLE_SID=baoyw;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
alias sas='sqlplus / as sysdba'
export PS1='[\u@\h $PWD]$'
source ~/.bash_profile
ORACLE11g解压软件安装包
cd /home/software
chown -R oracle:oinstall /home/software
chmod -R 775 /home/software
#解压到当前目录
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
#同时解压到指定目录 /home/oracle
unzip -d /home/oracle linux.x64_11gR2_database_1of2.zip && unzip -d /home/oracle linux.x64_11gR2_database_2of2.zip
ORACLE11g开始
cd /home/oracle/database/
#这里的192.168.0.10 是指上图中的配置IP
export DISPLAY=192.168.0.10:0.0
./runInstaller
ORACLE11g图形安装过程
对于以上问题原因,其实也就是说,11.2.0.1.0应安装在Linux6或更低一级的操作系统上。
创建监听NETCA
全部默认。
创建数据库DBCA
这里数据库的创建,全部默认。
完成。
标签:11g,limits,etc,yum,install,Oracle,home,security,图形化 From: https://blog.51cto.com/baoyw/5786144