1、系统检查
1.1 内存要求:
内存我设置1.5G(单位机子总共4G内存)
#cat /proc/meminfo //查看内存大小
1.2 交换分区要求:
交换分区是内存的1.5倍,可根据实际情况调整
#grep SwapTotal /proc/meminfo //查看交换分区大小
1.3 硬盘空间要求
硬盘空间要满足所需软件的大小,要求/tmp 分区不少于 400M ,安装目录应大于4G:
#df –h //查看磁盘空间使用情况
#du –ch //查看目录空间大小
内存我设置1.5G(单位机子总共4G内存)
#cat /proc/meminfo //查看内存大小
1.2 交换分区要求:
交换分区是内存的1.5倍,可根据实际情况调整
#grep SwapTotal /proc/meminfo //查看交换分区大小
1.3 硬盘空间要求
硬盘空间要满足所需软件的大小,要求/tmp 分区不少于 400M ,安装目录应大于4G:
#df –h //查看磁盘空间使用情况
#du –ch //查看目录空间大小
2、更新系统
安装前先更新一下系统到最新版本
yum list updates
yum upgrade
reboot
yum list updates
yum upgrade
reboot
3、安装oracle所依赖的组件包
yum -y install \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686 \
libXp
binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686 \
libXp
4、配置系统环境
4.1修改内核参数:
#vi /etc/sysctl.conf
fs.file-max= 6815744 //
file-max中指定了系统范围内所有进程可打开的文件句柄的数量限制(系统级别, kernel-level)。 (The value in file-max denotes the maximum number of file handles that the Linux kernel will allocate)。当收到"Too many open files in system"这样的错误消息时, 就应该曾加这个值了。
fs.aio-max-nr=1048576
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
kernel.sem= 250 32000 100 128 //
从左至右依次是 SEMMAL SEMMNS SEMOPM SEMMNI
SEMMAL 信号集容纳最大信号数量
SEMMNS 所有信号的最大数量
SEMOPM 调用单个信号集中最大信号数量
SEMMNI 信号集的最大值
SEMMNS 所有信号的最大数量
SEMOPM 调用单个信号集中最大信号数量
SEMMNI 信号集的最大值
kernel.shmall= 2097152(可以按照系统默认,不修改)
kernel.shmmax= 536870912(可以按照系统默认,不修改)
#sysctl –p //让内核参数生效
4.2修改进程数和最大会话数
#vi /etc/security/limits.conf
oracle soft nproc 2047 //前面没有#
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
4.3关联设置
#vi /etc/pam.d/login
session required pam_limits.so
4.4修改/etc/profile
#vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
5、创建安装用户、组和目录
5.1创建安装用户和组
#groupadd oinstall //创建oinstall组
#groupadd dba //创建dba组
#useradd -g oinstall -G dba oracle //新建用户oracle,设定其主组为oinstall,副组为dba
#id oracle //检查结果
#passwd oracle //设置oracle用户密码
5.2创建软件安装目录
#mkdir -p /home/oracle_11/app/ //创建安装根目录
#chown -R oracle:oinstall /home/oracle_11/ //安装根目录所属用户和组为oracle用户和oinstall组
#chmod -R 755 /home/oracle_11/ //修改目录的访问权限为所属用户完全控制,所属组和其他用户可读和执行
5.3设置用户环境变量
#vi /home/oracle/.bash_profile
export ORACLE_BASE=/home/oracle_11/app //软件安装基目录
export ORACLE_SID=orcl //实例名
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 //软件安装产品目录
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
#source /home/oracle/.bash_profile //加载文件使配置生效
#env|more //查看配置的环境变量是否正确
6、安装Oracle11g
#cp linux.x64_11gR2_database_1of2.zip /home/oracle_11/app/
#cp linux.x64_11gR2_database_2of2.zip /home/oracle_11/app/
#unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
需要reboot重启一下(试验好多次的结论)
#xhost + //如果没有执行,将无法启动图形安装界面
#su – oracle //切换到oracle用户,注意加“-”,不然用户环境变量不会改变
#cd /home/oracle_11/app/database
#./runInstaller
#su – oracle //切换到oracle用户,注意加“-”,不然用户环境变量不会改变
#cd /home/oracle_11/app/database
#./runInstaller
选择安装位置
输入实例名称和全局标识符,和前面用户环境变量配置的一致
指定配置选项,启用自动配置内存管理
切换到root用户,执行脚本1,2
/home/oracle_11/oraInventory/orainstRoot.sh
/home/oracle_11/app/product/11.2.0/dbhome_1/root.sh
安装成功!!!(一天时间啊。。。)
/home/oracle_11/oraInventory/logs/installActions2015-07-19_06-49-03PM.log
登录EM控制台查看状况
(碰到IE浏览器不能登陆问题,是IE的证书长度限制问题,DOS命令行执行
certutil -setreg chain\EnableWeakSignatureFlags 8
)
7、服务启动
7.1手动开启服务
Linux下的Oracle在安装结束后是处于运行状态的。重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Oracle服务。
重启之后,以oracle用户登录:
$sqlplus //进入sqlplus
$lsnrctl start //启动监听程序
$export ORACLE_UNQNAME=orcl //设置oracle的环境变量UNQNAME
$emctl start dbconsole //启动EM控制台
用IE登录EM控制台
用户名:sys 密码:******
7.2开机自启动服务
7.2.1
修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut文件:
$vi $ORACLE_HOME/bin/dbstart
$vi $ORACLE_HOME/bin/dbshut
找到ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
7.2.2:修改/etc/oratab文件:
$vi /etc/oratab
找到最后一行:
orcl:/home/oracle_11/app/product/11.2.0/db_home_1:N
最后设置的是“N”(此环境只有一个实例,所以只有一行配置语句),需要把“N”修改成“Y”。保存退出。
7.2.3:测试命令是否可以启动oracle服务:
$cd $ORACLE_HOME/bin //进入oracle产品安装目录的bin目录
$./emctlstart dbconsole //开启EM控制台
$./lsnrctlstart //开启监听程序
$./dbstart //开启数据库实例
7.2.4:修改/etc/rc.d/rc.local文件
把emctl start dbconsole 、lsnrctl start和dbstart添加到rc.local文件中,命令如下:
#vi /etc/rc.d/rc.local
添加:
suoracle -lc "home/oracle_11/app/product/11.2.0/dbhome_1/bin/emctl start dbconsole" //填写可执行程序的完整路径
suoracle -lc " home/oracle_11/app/product/11.2.0/dbhome_1/bin/lsnrctl start"
suoracle -lc "home/oracle_11/app/product/11.2.0/dbhome_1/bin/dbstart"
注意:命令有空格,要用引号
重启系统后服务自动开启。
$vi $ORACLE_HOME/bin/dbshut
找到ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
7.2.2:修改/etc/oratab文件:
$vi /etc/oratab
找到最后一行:
orcl:/home/oracle_11/app/product/11.2.0/db_home_1:N
最后设置的是“N”(此环境只有一个实例,所以只有一行配置语句),需要把“N”修改成“Y”。保存退出。
7.2.3:测试命令是否可以启动oracle服务:
$cd $ORACLE_HOME/bin //进入oracle产品安装目录的bin目录
$./emctlstart dbconsole //开启EM控制台
$./lsnrctlstart //开启监听程序
$./dbstart //开启数据库实例
7.2.4:修改/etc/rc.d/rc.local文件
把emctl start dbconsole 、lsnrctl start和dbstart添加到rc.local文件中,命令如下:
#vi /etc/rc.d/rc.local
添加:
suoracle -lc "home/oracle_11/app/product/11.2.0/dbhome_1/bin/emctl start dbconsole" //填写可执行程序的完整路径
suoracle -lc " home/oracle_11/app/product/11.2.0/dbhome_1/bin/lsnrctl start"
suoracle -lc "home/oracle_11/app/product/11.2.0/dbhome_1/bin/dbstart"
注意:命令有空格,要用引号
重启系统后服务自动开启。