一、准备工作
1.准备CentOS 7 系统环境
由于是使用静默模式(silent)安装的,无需使用图形化界面,我选择了最小安装的服务器版的CentOS 7。安装完成后,只有命令行界面。
2.下载 Oracle 11g
(1)Oracle官方网站:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 我的机器安装的是CentOS7 64位系统,因此下载的Oracle版本也是64位的
特别注意:11.2.0.2.0 zlinux64版本的Oracle是安装在IBM服务器的,CentOS 7是无法安装的。
(2)下载完成后,有两个压缩文件
linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip
3.通过Xftp将压缩文件上传到 /db/
4.安装依赖包,安装依赖包之前,个人建议将yum源修改为aliyun源,下载速度快些,执行如下命令即可:
cd /etc mv yum.repos.d yum.repos.d.bak mkdir yum.repos.d wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache
5.修改成功后,安装如下依赖包:
yum -y install binutils \ compat-libstdc++-33 \ elfutils-libelf \ elfutils-libelf-devel \ expat \ gcc \ gcc-c++ \ glibc \ glibc-common \ glibc-devel \ glibc-headers \ libaio \ libaio-devel \ libgcc \ libstdc++ \ libstdc++-devel \ make \ pdksh \ sysstat \ unixODBC \ unixODBC-devel
6.安装完成后显示如下界面
7.使用如下命令检查依赖是否安装完整
rpm -q \ binutils \ compat-libstdc++-33 \ elfutils-libelf \ elfutils-libelf-devel \ expat \ gcc \ gcc-c++ \ glibc \ glibc-common \ glibc-devel \ glibc-headers \ libaio \ libaio-devel \ libgcc \ libstdc++ \ libstdc++-devel \ make \ pdksh \ sysstat \ unixODBC \ unixODBC-devel | grep "not installed"
8.发现 pdksh 没有安装
9.执行 yum -y install pdksh,发现CentOS 7 没有相关安装包可用
10.通过wget命令直接下载pdksh的rpm包,我下载到了/tmp/
wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
下载完成后,进入 /tmp/
cd /tmp/ rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
11.再次检查依赖包是否安装完整
rpm -q \ binutils \ compat-libstdc++-33 \ elfutils-libelf \ elfutils-libelf-devel \ expat \ gcc \ gcc-c++ \ glibc \ glibc-common \ glibc-devel \ glibc-headers \ libaio \ libaio-devel \ libgcc \ libstdc++ \ libstdc++-devel \ make \ pdksh \ sysstat \ unixODBC \ unixODBC-devel | grep "not installed"
到此依赖包安装完整
12.添加oracle用户组和用户
groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
useradd -g oinstall -G dba,asmdba oracle -d /home/oracle
13.添加完成后,查看oracle用户
id oracle
14.初始化oracle用户的密码
passwd oracle
说明:密码需输入两次,提示密码强度若不用管,两次一致后会提示设置成功
15.配置hostname(本机IP映射)
vim /etc/hosts 192.168.154.154 centos-oracle
16.测试hostname
ping -c 3 centos-oracle
17.优化OS内核参数,kernel.shmmax 参数设置为物理内存的一半
vim /etc/sysctl.conf fs.aio-max-nr=1048576 fs.file-max=6815744 kernel.shmall=2097152 kernel.shmmni=4096 kernel.shmmax = 1073741824 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
18.使参数生效
sysctl -p
19.限制oracle用户的shell权限
vim /etc/security/limits.conf
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
vim /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
vim /etc/profile
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384