第一次在虚拟机环境下安装Oracle11g,前前后后花了整整3天时间,分享下我的安装经验,希望对你会有所帮助。

1.首先需要检查系统配置,主要涉及内存,swap,磁盘空间,tmp空间等,目的是要保证能够满足空间要求。

  • 查看内存情况
grep MemTotal /proc/meminfo
  • 查看swap情况
grep SwapTotal /proc/meminfo
  • 查看磁盘空间
df -k或df -h
  • 查看/temp目录空间大于400MB
df -h /temp

2.检查软件包的安装情况

需要注意的是,不同平台的数据库版本中,需要的安装包会有一些差别,可以用rpm -q来查看是否已经安装了软件包。

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers pdksh cvuqdisk libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel

rpm -q binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat

 

虚拟机Linux环境下安装Oracle11g数据库

执行rpm -q命令,如果出现package xxx is not installed,那么就需要通过yum -y install <package>来安装软件包了。

yum -y install cvuqdisk

3.环境配置,创建用户和用户组(root用户)

登陆root用户,执行以下步骤:

  • 创建用户组oinstall
groupadd oinstall
  • 创建用户组dba
groupadd dba
  • 设定安全策略,首先允许修改这类配置文件
chattr -i /etc/passwd /etc/shadow
  • 把用户oracle加入oinstall和dba组
useradd -g oinstall -G dba oracle
  • 开始修改密码
passwd oracle
  • 创建用户完成,设定配置文件的权限,避免信息篡改

chattr +i /etc/passwd /etc/shadow

4.配置linux内核参数(root用户)
可以执行以下命令来查看部分内存参数,在修改/etc/sysctl.conf文件时,可以作为参考。

sysctl -a | grep sem
sysctl -a | grep shm
sysctl -a | grep file-max
sysctl -a | grep aio-max
sysctl -a | grep ip_local_port_range
sysctl -a | grep rmem_default
sysctl -a | grep rmem_max
sysctl -a | grep wmem_default
sysctl -a | grep wmem_max

下面是我的参数配置:

虚拟机Linux环境下安装Oracle11g数据库

由于我分配的虚拟机内存是5G,所以我在配置的shmmax=4.5G,需要注意的是shmmax要大于SGA,否则SGA会被切成N块,每块不大于shmmax,会导致性能下降。

shmmni=4096,这个值是缺省值,一般不需要修改。

shmall=1179648,以页为单位,在linux中页的大小是4K,实际shmall = shmmax / 4K。

5.配置资源使用情况(root用户)

  • 修改/etc/security/limits.conf文件,增加以下内容。soft是指是当前系统设置生效的值,而hard表明系统中所能设定的最大值。

虚拟机Linux环境下安装Oracle11g数据库

  • 在/home下创建U01目录
mkdir /home/U01
  • 创建软链接绑定
ln -s /home/U01 /U01
  • 创建相应的目录结构
mkdir -p /U01/app/oracle/
  • 对目录指定用户组
chown -R oracle:oinstall /U01/
  • 赋予指定的目录权限
chmod -R 775 /U01/
  • 修改/etc/pam.d/login文件

虚拟机Linux环境下安装Oracle11g数据库

6.配置环境变量(oracle用户)

假设数据库实例名为test,则修改.bash_profile,增加以下内容

虚拟机Linux环境下安装Oracle11g数据库

7.安装数据库软件

  • 需要在官网上下载Oracle,我下载的是Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64 ,需要注意的是linux环境是32位的还是64位的。

https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html?ssSourceSiteId=otncn

  • 下载完后,在oracle用户下解压缩文件
sudo unzip linux.x64_11gR2_database_1of2.zip
sudo unzip linux.x64_11gR2_database_2of2.zip
  • 解压缩后会出现database文件,进入database后,执行./runInstaller开始OUI安装,具体安装步骤可以参考网上的安装教程。

虚拟机Linux环境下安装Oracle11g数据库

  • 安装完数据库软件后,接下来就是最后一步,执行dbca开始创建数据库。
[[email protected] database]$ dbca
  • 在创建完数据库后,执行sqlplus / as sysdba连接数据库,在执行startup启动数据库,这样数据库就安装完成了!
[[email protected] database]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Oct 4 00:16:24 2018

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 2004267008 bytes
Fixed Size		    2214736 bytes
Variable Size		 1140851888 bytes
Database Buffers	  855638016 bytes
Redo Buffers		    5562368 bytes
Database mounted.
Database opened.
SQL> 

 

相关文章: