分享

安装Oracle11R2

 尉迟容若 2013-04-20
安装Oracle11R2
本帖最后由 sishui198 于 2012-1-5 21:28 编辑

OS CentOS 5.5
DB版本 Oracle 11g R2
1)检查基本需求

内存大小
grep MemTotal /proc/meminfo
交换分区大小

如果交换分区太小可以增加,用如下命令:
grep SwapTotal /proc/meminfo
增加交换分区
创建/home/swap这么一个分区文件。文件的大小是5120000个block,一般情况下1个block为1K,所以这里空间是5G。
dd if=/dev/zero of=/home/swap bs=1024 count=5120000
接着再把这个分区变成swap分区。
mkswap /home/swap
然后把它加到fstab里面
echo "/home/swap swap swap defaults 0 0" >> /etc/fstab


2)检查软件需求,看有没有没install的
这个可以根据官方的文档,我的系统是64位的,所以在11g Release 2 (11.2) for Linux E10840-05 50页找到相关说明。用如下命令慢慢查看
rpm -qa | grep unixODBC-devel
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio-devel libaio libgcc libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel pdksh



根据提示,有11个包没有安装,在centos的盘中将这些一一找出,然后利用flashxp上传到centos中

安装



3)配置内核。
vi /etc/sysctl.conf
将以下内容添加至文件
# Kernel paramaters required by Oracle 11gR2

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
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
4)
要使 /etc/sysctl.conf 更改立即生效,执行以下命令。
sysctl -p
5)vi /etc/security/limits.conf
添加以下行:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240


6) vi /etc/pam.d/login
添加以下行:
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so
7)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

8) 创建操作系统用户,作为软件安装和支持组的拥有者。

groupadd oinstall
groupadd dba
useradd -g oinstall -G
dba oracle

默认目录为/home/oracle

passwd oracle
9) 创建软件安装目录。
mkdir -p /home/app
chown -R oracleinstall /home/app
chmod -R 755 /home/app


可以用oracle用户登录
10) vi /home/oracle/.bash_profile
添加以下行:
umask 022
ORACLE_BASE=/home/app
ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1
ORACLE_SID=esri
PATH=$PATH:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
LANG=C     --
设定此参数避免安装过程出现乱码

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH LANG


里面的SID在安装数据库时候如果修改了,安装完后需要回来重新修改SID。修改完用“source .bash_profile”使其生效。

11)上传oracle 11 r2 到centos中

12) 以root身份打开另一个终端窗口
--这步至关重要,不执行这步在以oracle用户运行 # ./runInstaller时会启动不了图型安装界面
#xhost +
#xhost + localhost
12)
安装数据库
#su - oracle
cd database/
./runInstaller








将这个路径改一下,如下图:

















1)在建立用户的时候可能遇到下面的问题
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
原因:
系统添加用户的标准步骤
1.编辑/etc/passwd/etc/group
2.创建用户主目录
3./etc/skel拷贝文件与目录
4.让新用户获得其主目录与文件的拥有权限
5.给新用户一个密码
<!--[if !ppt]--><!--[endif]-->

解决办法:
依旧使用上面的脚本建用户,然后手动拷贝配置文件(3个)到/home/oracle下。如:
[root@esri ~]# cp /etc/skel/.bash_profile /home/oracle
或者删掉用户 重新建立
Useerdel –r 这样就可以将家目录等和用户相关的信息全部删掉
2)可能会遇到下面的错误
cannot restore segment prot after reloc: Permission denied
  编辑/etc/sysconfig/selinux,找到:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
如果SELINUX已经是 SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing 注释掉,新加一行:
SELINUX=disabled
3)可能会遇到下面的错误:
could not open parameter file '/home/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora
这是因为在oracle9ioracle10g中,数据库默认将使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。
解决方法:
$ORACLE_BASE/admin/数据库名称/pfile目录下的init.ora.012009233838形式的文件copy$ORACLE_HOME/dbs目录下initorcl.ora即可。(注:initorcl.ora中的oracle为你的实例名 ORACLE_SID
Startup mount pfile=’ $ORACLE_HOME/dbs/initorcl.ora’
创建一个实例进行最后测试
注意:在数据库操作中都是用oracle用户执行命令.

输入


[oracle@computer ~]$ sqlplus /nolog

SQL*Plus: Release 11.1.0.6.0 - Production on Tue Dec 11 15:32:23 2007

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

SQL> conn / as sysdba
Connected.
SQL> create table esri(id integer);

Table created.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多