步骤一、安装VMware Tools:
全屏界面安装oracle更为方便。
①umount /media/CentOS 7 x86_64
②VMware——虚拟机选项——安装tools
③自动挂载
④进入 /media/VMware\ Tools/解压该目录下的压缩包放到指定目录下:
tar zxvf vmwaretools-10.1.6-5214329.tar.gz -C /tmp/
⑤进入/tmp/目录,压缩包解压生成目录:vmware-tools-distrib/执行该目录下文件:
./vmware-install.pl【安装,一直回车直到结束】
⑥安装好,重新启动:init 3——init 5
⑦Ctrl+Alt+enter进入全屏界面 步骤二、安装Oracle:
(1)将这两个包拷贝到虚拟机上:
p13390677_112040_Linux-x86-64_1of7
p13390677_112040_Linux-x86-64_2of7
(2)执行orainst_11g自动化安装脚本前的准备工作:
①首先配置好yum源
vim /etc/yum.repos.d/base.repo
[base]
name=Centos
baseurl=http://172.17.0.1/centos/CentOS-6.9-x86_64/
gpgcheck=0
[epel]
name=EPEL
baseurl=http://172.17.0.1/fedora-epel/6/x86_64/
gpgcheck=0
enable=1 ②解压两个压缩包:
oracle安装包解压后生成的database目录放置到/root下。
查看database目录下内容:
③保证网上的ip地址为静态,设置如下:
#vim ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.17.151.127
PREFIX=16
DNS1=172.17.0.1
#vim ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.41.129
PREFIX=24
HWADDR=00:0C:29:EB:72:4C ④主机名要可以解析:ip地址与主机名写入/etc/hosts。
vim /etc/hosts
192.168.41.129 centos6.localdomain 注意:这个脚本针对企业版6的11g安装,不适用于12g,或者是centos7
(3)执行脚本:./orainst_11g。
(4)脚本执行后,database目录内容复制到oracle目录下的strange目录下
【脚本有bug,没有全复制过来,所以手动将/root/database/下内容复制过来】
(5)切换oracle用户:
xhost +
su - oracle (6)进入database下,执行脚本runinsatll。开始进行oracle安装。
(7)安装过程需要注意的地方:
①安装到check部分,
错误1:缺少软件包
解决:下载pdksh-5.2.14-30.x86_64.rpm包到虚拟机
rpm -e ksh
rpm -ivh pdksh-5.2.14-30.x86_64.rpm
yum install ksh
错误2:内核参数不匹配
解决: 修改内核参数:vim /etc/sysctl.conf
kernel.shmmax = 1043634176
生效: sysctl -p
②继续执行到该处,需要打开一个新的终端,在root用户下,执行两个脚本:
. /u01/app/oracle/11.2.0/db_1/root.sh
. /u01/app/oraInventory/orainstRoot.sh
(8)安装成功。
步骤三、安装oracle数据库:
(1)切换到oracle用户下,执行dbca,开始安装oracle数据库,保证是图形化界面。
xhost +
su - oracle
dbca (2)运行到此步骤,执行以下命令,开启进程。
su - oracle
lsnrctl start
netstat -tulnpa |grep -w 1521
(3)安装过程大致选择步骤如下。
(4)安装完成,登录如下所示,则安装成功。
(5)登录oracle,发现oracle不支持上下翻历史记录功能和删除操作,需要安装rlwrap包。
①在root用户下:
rpm -ivh rlwrap-0.37-1.el6.x86_64.rpm
②切换到oracle下:
su - oracle
rlwrap sqlplus / as sysdba,如此登录即可支持历史功能和删除功能。
③可以定义别名,方便登录
vim .bash_profile
alias sqlplus='rlwrap sqlplus'
④生效: . .bash_profile
⑤再登录执行sqlplus / as sysdba即可。 附加:orainst_11g自动化安装脚本
#!/bin/bash
PKG="
unixODBC
unixODBC-devel
binutils
compat-libstdc++-33
elfutils-libelf
elfutils-libelf-devel
elfutils-libelf-devel-static
gcc
gcc-c++
glibc
glibc-common
glibc-devel
glibc-headers
kernel-headers
ksh
libaio
libaio-devel
libgcc
libgomp
libstdc++
libstdc++-devel
make
numactl-devel
sysstat
"
PACKINSTALL=
for PACKAGE in $PKG ;do
rpm -q $PACKAGE || PACKINSTALL="$PACKINSTALL $PACKAGE"
done
echo
if [ -z "$PACKINSTALL" ];then
true
else
echo "The followling packages will be install: $PACKINSTALL "
read -p "Continue? (y/N): " answer
case $answer in
([yY]|[Yy][Ee][Ss])
echo 1
yum -y install $PACKINSTALL ;;
(*);;
esac
fi
cat /etc/group |grep oinstall &> /dev/null || /usr/sbin/groupadd oinstall
cat /etc/group |grep dba &> /dev/null || /usr/sbin/groupadd dba
id oracle &> /dev/null
if [ $? = 0 ];then
groups oracle | grep dba &> /dev/null || /usr/sbin/usermod -g oinstall -G dba oracle
else
/usr/sbin/useradd -g oinstall -G dba oracle
echo oracle |passwd --stdin oracle
fi
KELNUM=$(cat /etc/sysctl.conf |grep -v ^# |grep -v ^$ |grep -E "fs.aio-max-nr|fs.file-max|kernel.shmall|kernel.shmmax|kernel.shmmni|kernel.sem|net.ipv4.ip_local_port_range|net.core.rmem_default|net.core.rmem_max|net.core.wmem_default|net.core.wmem_max" |awk '{print $1}' |sort -u |wc -l )
if [ $KELNUM -lt 11 ];then
cat >> /etc/sysctl.conf <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
EOF
/sbin/sysctl -p
fi
grep oracle /etc/security/limits.conf &> /dev/null
if [ $? != 0 ];then
cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 1024
EOF
fi
grep pam_limits.so /etc/pam.d/login &> /dev/null
if [ $? != 0 ];then
cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
EOF
fi
[ -d /u01/app ] || ( mkdir -p /u01/app/ ; chown -R oracle:oinstall /u01/app/ ; chmod -R 775 /u01/app )
grep -i oracle ~oracle/.bash_profile &> /dev/null
if [ $? != 0 ];then
cat >> ~oracle/.bash_profile <<EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=\$PATH:\$ORACLE_HOME/bin
EOF
fi
xhost +
[ -d ~oracle/database ] || mv /root/database ~oracle
cd ~oracle;su - oracle -c 'database/runInstaller'
※仅供参考,脚本有不完善处需要注意。 |