突然想在linux下搭建一个oracle环境。在网上找了一些资料,借鉴了几位朋友分享的资料。自己将安装步取记录下来,在这里分享给大家参考。
虚拟机设置的NAT模式,具体设置方法参网上可以查到。我用的是workstation 11
大概是在虚拟机界面,选择编辑,然后选择虚拟网络编辑器,其实VMnet8为NAT模式。选中,点击更改设置。再选中VMnet8 NAT模式,可以设置子IP 即网段和掩码,根据自己需要设置。然后修改宿主机的VMware Network Adapter 的IP地址。要和VMnet8的网络相同,不要和虚拟机的地址冲突。
创建虚拟机。
在vm中创建虚拟机
第一步:选择 自定义(高级)
第二步: 默认
第步: 稍后安装操作系统
第四步: Linux(L) 版本CentOS 64
第五步:虚拟机名称,随意取,位置自己指定虚拟机存放位置,要有足勾的磁盘空间
第六步:按照物理计算机的实际情况配置,我的是笔记本,一颗CPU 2核
第七步:内存配置,最小1G,我的物理内存8G这里分配3072M
第八步: 使用NAT地址转换模式网络
第九步:I/O类型默认
第十步:虚拟磁盘类型 默认SCSI
第十一步:创建新虚拟磁盘
第十二步:最大磁盘大小 50G 将虚拟磁盘存储为单个文件
第十步:默认
第十四步:查看摘要 完成
第十五步:配置虚拟机设置,选择操作系统安装介质,选择CD/DVD(IDE)右边使用ISO映像文件,找到CentOS6.6的ISO 确定
操作系统安装
开启此虚拟机
Install or upgrade on existing system
询问是否测试安装介质 Skip
Next
语言选择,这里选择Chinese(Simplified)(中文(简体))
键盘择 美国英语式
择存储设备 基本存储设备
是,忽略所有数据
设置自己的主机名称,我这里设置为snail
时区择,上海,不选系统时钟使用UTC时间 因为虚拟机不连网,无法更新时间,时间在安装好系统之后自己设置吧
设置操作系统超级用户(root)密码
询问要怎么创建磁盘分区 创建自定义布局
创建分区
分区设置:
/boot设置200M
swap分区与内存大小相同
其余空间给/ 分区。
默认
择安装的服务器类型 Basic Server
安装完成,重新引导
root用户登录
setup 设置IP地址。
修改
/etc/sysconfig/network-scripts/ifcfg-eth0里面的ONBOOT选项为yes
service network restart 重启网络服务,使设置的IP地址生效。
用Xshell登录linux系统。IP地址为设置的IP地址。
使用xmaanger xshell中的ssh连接Centos,填入用户名和密码
mkdir /software 建文件路径,上传安装oracle所需要的文件。
上传的文件有Centos安装ISO1文件。
Oracle安装文件。
zysong.ttf # 文件 字符集文件。
rlwrap-0.42.tar.gz # 文件。
pdksh-5.2.14-37.el5_8.1.x86_64.rpm
vnc-server-4.1.2-14.el5_6.6.i386.rpm
libtermcap-devel-2.0.8-39.x86_64.rpm
readline-devel-4.3-13.x86_64.rpm
为方便软件的安装需要配置yum源,Oracle所需包基本都在安装光盘的ISO文件中有了,所以只需配置
本地yum,所以还得上传CentOS的安装镜像
# mkdir /cdrom
# mount -t iso9660 -o loop /software/CentOS-6.6-x86_64-bin-DVD1.iso /cdrom
# echo '/software/CentOS-6.6-x86_64-bin-DVD1.iso /cdrom/ iso9660 loop 0 0' >> /etc/fstab
# cd /etc/yum.repos.d/
# mkdir rpm
# mv CentOS-* rpm
# vim cdrom.repo 添加
[cdrom]
name=cdrom
baseurl=file:///cdrom
enabled=1
gkgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
# yum clean all
# yum makecache all
安装linux一些基础开发包
# yum grouplist
export命令用于设置当前会话语言环境为英文,因为下一条命令yum grouplist列出软件包组为中文的话就太难看了
# yum groupinstall -y " Desktop Platform Development" "Development tools" "Compatibility libraries"
为了使Oracle安装的界面出现在我们本地的桌面上还得安装gdm和xdpyinfo
yum -y install gdm
yum -y install xdpyinfo
#yum -y install elfutils-libelf-devel unixODBC unixODBC-devel libaio-devel
# yum -y install libtermcap-devel-2.0.8-39.x86_64.rpm
# yum - y install readline-6.0-4.el6.x86_64
# yum -y install readline-devel
#cd /software/
# tar -zxvf rlwrap-0.42.tar.gz
# cd rlwrap-0.42
# ./configure
# make
# make install
#yum localinstall pdksh-5.2.14-37.el5_8.1.x86_64.rpm
# yum localinstall vnc-server-4.1.2-14.el5_6.6.i386.rpm
# yum -y install xdpyinfo
# /cdrom/Packages
# rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm
Oracle安装的前期准备
oracle官方文档位置:
http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
# mkdir -p /u01/app/oracle
# chown -R oracle.oinstall /u01
# chmod -R 775 /u01
配置内核参数和资源限制
# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
# 设置最大文件描述符,算法:256个fd需要4M内存。
# 例:8G内存 8*1024/4*256
fs.file-max = 196608
kernel.shmall = 2097152
# 设置共享内存段大小
kernel.shmmax = 1610612736
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 = 1048576
最需要注意的是shmmax 这个参数,最小500M,最大比内存少一个字节就可以了,推荐比内存的一半大一点点
Minimum: 536870912
Maximum: A value that is 1 byte less than the physical memory
Recommended: More than half the physical memory
See My Oracle Support Note 567506.1 for additional information about configuring shmmax.
还特别注意sysctl.conf中shmmax ,shmall 已经有了,要注释掉
改好后,使之生效
sysctl -p
# sysctl -p
sysctl -P 报错解决办法
问题症状
修改 linux 内核文件
#vi /etc/sysctl.conf后执行sysctl -P 报错
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
解决方法如下:
modprobe bridge
更改shell限制
# vim /etc/security/limits.conf
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 2048
oracle hard nofile 65536
添加以下内容到vim /etc/pam.d/login
# vim /etc/pam.d/login
session required /lib64/security/pam_limits.so
防火墙和安全设置 (个人不建议关闭)具体设置可以在网上查一下。
# vim /etc/selinux/config
SELINUX=disabled
#chkconfig iptables off
# chkconfig ip6tables off
解压oracle安装文件。
#mkdir /oracle
# unzip linux.x64_11gR2_database_1of2.zip -d /oracle/
# unzip linux.x64_11gR2_database_2of2.zip -d /oracle
# chown -R oracle.oinstall /oracle/database/
oracle安装界面乱码的解决
mkdir -p /usr/share/fonts/zh_CN/TrueType
[root@Oracle ~]#cp /software/zysong.ttf /usr/share/fonts/zh_CN/TrueType/
把主机名和ip地址的对应关系加入/etc/hosts文件,要不然安装过程中会出错
# echo '10.10.10.10 snail' >> /etc/hosts
修改oracle用户环境变量
vim ~oracle/.bash_profile
#设置临时文件路径
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
# 设置ORACLE服务器名称
ORACLE_HOSTNAME=snail; export ORACLE_HOSTNAME
# 配置ORACLE企业管理器
ORACLE_UNQNAME=ORADB; export ORACLE_UNQNAME
# 配置oracle公司产品根目录
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
# 配置oracle数据库目录
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
# 配置ORACLE实例名
ORACLE_SID=VMVBMALM; export ORACLE_SID
# 配置oracle环境变量
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib; export CLASSPATH
至此设置完毕,下一步开始Oracle的安装,下一步之前必须重启机器
设置VNC
# vim /etc/sysconfig/vncservers
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768"
# vncserver
输入口令:123456
确认口令:123456
设置远程登录口令
# vncpasswd
启动vnp服务。
# service vncserver stop
# service vncserver start
Oracle的安装
# xhost +
说明-我的虚拟机地址是10网段的,而宿主机的NVnet8配的是10.10.10.1
# export DISPLAY=10.10.10.1:0.0
access control disabled, clients can connect from any host
# su - oracle
[oracle@snail database]$ w
19:18:25 up 12 min, 1 user, load average: 0.11, 0.06, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
oracle pts/0 10.10.10.1 19:16 0.00s 11.52s 0.04s w
$ cd /oracle/database/
$ ./runInstaller
正在启动 Oracle Universal Installer...
检查临时空间: 必须大于 120 MB。 实际为 32957 MB 通过
检查交换空间: 必须大于 150 MB。 实际为 3071 MB 通过
检查监视器: 监视器配置至少必须显示 256 种颜色。 实际为 16777216 通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2016-04-30_07-17-08PM. 请稍候...
oracle安装中文界面就出来了。
将我希望通过my oracle support 接收安全更新的勾去掉 选择下一步 选择是
选仅安装数据库软件。
选择单实例数据库安装
语言默认是简体中文和英语,没有的话选上,点下一步
企业版,下一步
指定安装位置,默认,下一步
写权限指定,默认 下一步
特权操作系统组,默认 下一步
执行先决条件检查,查看检查失几的包是不是已经安装更高版本了。用命今查看:
在root用户下:
rpm -qa |grep 包名称(不要带版本号)
通过检查,包已经安装64位版或更高版本。所以选择全部忽略,继续。
点完成。等待安装完成。
虚要以root用户执行两个脚本,登录root用户,执行路径中给出的两个脚本。
创建监听服务
(充当oracle服务器,让别的oracle客户端连接本oracle服务器)
在oracle用户下,输入命令netca 会弹出界面。
一路默认next即可
数据库的创建
用oracle用户,输入dbca
等界面启动之后,点击下一步。
创建数据库
定制数据库 下一步
数据库标识,即SID 输入要建的SID,我的为VMVBMALM
将配置enterprise manager的勾去掉 点下一步
设置用户密码。选择所有帐户用同一口令管理。设置密码 下一步
数据库文件所在位置 默认使用模版中的数据库位置
恢复配置 默认,下一步
数据库内容 默认,下一步
初始化参数 字符集选择ZHS16GBK-GBK 1 下一步
数据库存储 默认,下一步
创建选项 默认 点击完成
弹出页面点击确定 等待数据库创建完成。
最后设置用户,密码。