当前位置: 首页 > news >正文

在Red Hat 4 AS U7上安装oracle10gR2

为什么80%的码农都做不了架构师?>>>   hot3.png

软件:Red Hat 4 AS U7, Oracle 10g R2 for linux32, VMWare 7, Windows 7

 

详细步骤清单:

在Red Hat 4 AS U7上安装oracle10gR2


1. 硬件需求:
===========================================
至少1024MB物理内存
# grep MemTotal /proc/meminfo
===========================================
交换空间大小分配需求
物理内存:1024 MB ~ 2048 MB, 1.5倍物理内存 
物理内存:2049 MB ~ 8192 MB, 1倍物理内存 
物理内存:8192 MB ~,0.75倍物理内存 
# grep SwapTotal /proc/meminfo
===========================================
/tmp目录至少留有400 MB空间
# df -k /tmp
===========================================
1.5 GB至3.5 GB用于安装Oracle软件
# df -k
===========================================
1.2 GB用于预安装Oracle数据库
# df -k
===========================================
2. 软件需求:

Red Hat Enterprise Linux 4.0需要安装如下包:
binutils-2.15.92.0.2-13.EL4
compat-db-4.1.25-9
compat-libstdc++-296-2.96-132.7.2
control-center-2.8.0-12
gcc-3.4.3-22.1.EL4
gcc-c++-3.4.3-22.1.EL44
glibc-2.3.4-2.9
glibc-common-2.3.4-2.9
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
setarch-1.6-1
===========================================
rpm -q binutils compat-db compat-libstdc++ control-center gcc gcc-c++ glibc glibc-common
rpm -q gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver setarch

[root@ora10g ~]# cd /media/cdrom/RedHat/RPMS
[root@ora10g RPMS]#

rpm -Uvh compat-db*

在安装rpm包时,如果遇到相关性检查并报如下错误时,可通过安装glibc-kernheaders-2.4-9.1.103.EL.i386.rpm
解决:
        kernel-headers is needed by glibc-headers-2.3.4-2.41.i386
        kernel-headers >= 2.2.1 is needed by glibc-headers-2.3.4-2.41.i386
Ref:http://hi.baidu.com/wa0362/blog/item/023337efffd4ff1efcfa3ca9.html
===========================================
检查red hat发行版本号:
# cat /etc/issue
===========================================
检查内核版本号:
# uname -r
===========================================
查询相应package是否安装:
# rpm -q package_name
===========================================
3. 网络需求:
===========================================
检查是否使用/etc/hosts进行名字解析(name resolution),如下命名应有files结果返回
# cat /etc/nsswitch.conf | grep hosts

[root@ora10g ~]# cat /etc/nsswitch.conf | grep hosts
#hosts:     db files ldap nis dns
hosts:      files dns
===========================================
检查主机名是否设置,如下命令应有类似结果(myhost.mycomputer.com)返回:
# hostname

[root@ora10g ~]# hostname
ora10g
===========================================
检查域名是否没有被动态设置,如下命令不应返回任何结果:
# domainname

[root@ora10g ~]# domainname
(none)
===========================================
检查hosts文件是否包含完整的描述名称(the fully qualified host name),如下命令应有类似结果(
192.168.100.16    myhost.us.mycompany.com   myhost
127.0.0.1         localhost                 localhost.localdomain
)返回:
# cat /etc/hosts | grep `eval hostname`

[root@ora10g ~]# cat /etc/hosts | grep `eval hostname`
192.168.168.213 ora10g.kl.com   ora10g
[root@ora10g ~]#
===========================================
4. 创建必要的操作系统组和用户:

oinstall组,必需,Oracle产品目录组(Oracle Inventory Group):
如果如下命令没有类似结果(
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
)返回,则必需创建该组:
# more /etc/oraInst.loc

创建oinstall组
# /usr/sbin/groupadd oinstall
===========================================
dba组,必需,如果需要使用不同的名字,则需要在安装Oracle是进行指定,
可为不同的oracle安装指定不同的dba组:

创建dba组
# /usr/sbin/groupadd dba
===========================================
oper组,可选,该组用来区分dba的普通用户,权限为SYSOPER:

创建oper组
# /usr/sbin/groupadd oper
===========================================
创建oracle安装用户

确认用户是否存在,如果存在如下命令将有类似结果(
uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)
)返回:
# id oracle

不存在则可使用如下命令创建用户,存在请更换用户名:
# /usr/sbin/useradd -g oinstall -G dba[,oper] oracle

设置密码:
# passwd oracle

===========================================

[root@ora10g RPMS]# more /etc/oraInst.loc
/etc/oraInst.loc: No such file or directory
[root@ora10g RPMS]# /usr/sbin/groupadd oinstall
[root@ora10g RPMS]# /usr/sbin/groupadd dba
[root@ora10g RPMS]# groupadd oper
[root@ora10g RPMS]# id oracle
id: oracle: No such user
[root@ora10g RPMS]# useradd -g oinstall -G dba,oper oracle
[root@ora10g RPMS]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

===========================================
5. 配置内核参数

检查/etc/sysctl.conf是否有如下配置,有且值比一下配置的大则保留,否则替换成以下值:

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144

以上内核参数需要重启后生效。
===========================================

[root@ora10g RPMS]# cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
[root@ora10g RPMS]# vi /etc/sysctl.conf
[root@ora10g RPMS]# cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1


kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
[root@ora10g RPMS]#

===========================================
针对oracle用户设置Shell的限制以优化性能
-------------------------------------------
在/etc/security/limits.conf 文件中增加如下配置:
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
-------------------------------------------
在/etc/pam.d/login 文件中增加如下配置:
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so
-------------------------------------------
在/etc/profile 文件中增加如下配置,适用于 Bash或者Korn shell:
if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi
===========================================
6. 标识必需的软件目录

检查是否已经oracle根目录(Oracle Base Directory)已经存在:
# more /var/opt/oracle/oraInst.loc

没有则使用如下命令创建oracle根目录:
# mkdir -p /mount_point/app/oracle_sw_owner
# chown -R oracle:oinstall /mount_point/app/oracle_sw_owner
# chmod -R 775 /mount_point/app/oracle_sw_owner

mount_point:为挂载点,如u01。
oracle_sw_owner:为安装oracle软件的用户名,如oracle。
-------------------------------------------
[root@ora10g ~]# mkdir -p /u01/app/oracle
[root@ora10g ~]# chown -R oracle:oinstall /u01/app/oracle/
[root@ora10g ~]# chmod -R 775 /u01/app/oracle/
[root@ora10g ~]#
-------------------------------------------
目录创建好后需要设置环境变量ORACLE_BASE,使其指向/mount_point/app/oracle_sw_owner。

Bourne, Bash, or Korn shell:
$ ORACLE_BASE=/u01/app/oracle
$ ORACLE_SID=sales
$ export ORACLE_BASE ORACLE_SID

-------------------------------------------

[oracle@ora10g ~]$ ORACLE_BASE=/u01/app/oracle
[oracle@ora10g ~]$ ORACLE_SID=ora10g
[oracle@ora10g ~]$ export ORACLE_BASE ORACLE_SID
[oracle@ora10g ~]$

===========================================
设置建立文件和文件夹时预设的权限掩码:

如果是Bourne shell (sh), Bash shell (bash), or Korn shell (ksh),执行如下命名编辑用户shell启动文件:
$ vi .bash_profile

然后编辑或者增加如下行(umask 022相当与每建立一个文件或文件夹时都chmod 755):
umask 022

最后运行该启动脚本使其生效:
Bash shell:
$ . ./.bash_profile
Bourne or Korn shell:
$ . ./.profile

-------------------------------------------

[oracle@ora10g ~]$ vi .bash_profile
[oracle@ora10g ~]$ . ./.bash_profile
[oracle@ora10g ~]$ umask
0022

===========================================

执行以下命令以确认 ORACLE_HOME 和 TNS_ADMIN 环境变量没有被设置:
$ unset ORACLE_HOME
$ unset TNS_ADMIN

===========================================

注意:所有的环境变量都是在oracle用户下设置的。
以上步骤完成后即可在oracle 10g r2的软件安装目录下执行如下命令进行安装:
./runInstaller

安装的时候最好选择custom方式的安装,这样可以看到很多环境变量里面自定义的参数被应用到了哪些地方。

-------------------------------------------

[oracle@ora10g database]$ ./runInstaller

===========================================

《全篇完》

Ref:
《Database Installation Guide for Linux x86》 - Preinstallation Tasks

===========================================


原文链接: http://blog.csdn.net/t0nsha/article/details/6547206

转载于:https://my.oschina.net/dtec/blog/46706

相关文章:

  • ctrl+shift+c
  • EFCodeFirst系列
  • 深入理解JavaScript系列(4):立即调用的函数表达式
  • Box2dの学习资料整理与收集[不定时更新][Ispooky]
  • Cocos2d游戏开发之(一)多触点与触屏事件详解
  • HDU 1422 重温世界杯【最长非负连续子序列】
  • Python 中的bisect
  • iBatis2配置
  • 程序改变了命运,程序生活一天比一天好,对未来也充满了希望
  • MYSQL安装图解2
  • APUE读书笔记-10信号-19sleep函数
  • Android美工坊:Selector选择器的使用
  • 安装oracle 11g
  • Script:查找表或索引增长的历史信息
  • 物联网技术让医院资产运营管理与众不同
  • 收藏网友的 源程序下载网
  • 【RocksDB】TransactionDB源码分析
  • Android交互
  • CSS魔法堂:Absolute Positioning就这个样
  • HTTP那些事
  • HTTP--网络协议分层,http历史(二)
  • input实现文字超出省略号功能
  • Javascript基础之Array数组API
  • Java读取Properties文件的六种方法
  • ReactNative开发常用的三方模块
  • Redis 中的布隆过滤器
  • Vim Clutch | 面向脚踏板编程……
  • 简单易用的leetcode开发测试工具(npm)
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • #stm32驱动外设模块总结w5500模块
  • (TOJ2804)Even? Odd?
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)计算机毕业设计大学生兼职系统
  • (十三)Maven插件解析运行机制
  • (转) Android中ViewStub组件使用
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)memcache、redis缓存
  • (转)原始图像数据和PDF中的图像数据
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • 、写入Shellcode到注册表上线
  • . NET自动找可写目录
  • .NET 4.0中的泛型协变和反变
  • .NET Core 版本不支持的问题
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .net访问oracle数据库性能问题
  • 。Net下Windows服务程序开发疑惑
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [2018-01-08] Python强化周的第一天
  • [Android]Android开发入门之HelloWorld
  • [Android]通过PhoneLookup读取所有电话号码
  • [Django 0-1] Core.Checks 模块
  • [Firefly-Linux] RK3568 pca9555芯片驱动详解
  • [IE技巧] 让IE 以全屏模式启动
  • [LuoguP1141]01迷宫