linux下的 oracle安装
本文包括linux rhel4安装oracle10g,rhel5安装oracle10g,rhel5安装oracle11g。
oralce10g+rhel5
Oracle10gR2-AS5-x86_64
确定内存,磁盘空间,swap
1. 需要的软件包
================
rpm -q libstdc++-devel libgomp glibc-headers gcc gcc-c++ sysstat
注意:下面的输出应为多数
glibc-devel-2.5-12.i386.rpm
glibc-devel-2.5-12.x86_64.rpm
compat-libstdc++-33-3.2.3-61.x86_64.rpm
compat-libstdc++-33-3.2.3-61.i386.rpm
compat-libstdc++-296-2.96-138.i386.rpm
libXp-1.0.0-8.1.el5.i386.rpm
libXp-1.0.0-8.1.el5.x86_64.rpm
[root@db1 ~]# rpm -qa |grep glibc-devel
glibc-devel-2.5-24
glibc-devel-2.5-24
[root@db1 ~]# rpm -qa |grep compat-libstdc++
compat-libstdc++-33-3.2.3-61
compat-libstdc++-296-2.96-138
compat-libstdc++-33-3.2.3-61
[root@db1 Server]# rpm -qa |grep libXp
libXp-1.0.0-8.1.el5
libXpm-devel-3.5.5-3
libXp-1.0.0-8.1.el5
libXpm-3.5.5-3
libXpm-3.5.5-3
[root@db1 Server]#
[root@db1 Server]# rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
warning: libXp-1.0.0-8.1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:libXp ########################################### [100%]
[root@db1 Server]# rpm -ivh libXp-1.0.0-8.1.el5.x86_64.rpm
warning: libXp-1.0.0-8.1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:libXp ########################################### [100%]
附:
AS5 11G
rpm -q make binutils gcc libaio libaio-devel libstdc++- elfutils-libelf-devel sysstat compat-libstdc++-33 libgcc libstdc++- unixODBC unixODBC-devel
AS4 10G
rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common \
gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio openmotif21
openmotif21-2.1.30-11.RHEL4.2 (Required only to install Oracle demos. Installation of Oracle demos is not covered by this guide.)
__________________________________
package gnome-libs is not installed
package pdksh is not installed
package xscreensaver is not installed
package openmotif21 is not installed
安装缺失软件包
使用iso文件
mkdir -p /mnt/iso/
mount -t iso9660 -o loop [Oracle.10g.For.Linux].10g_linux_x86_db_10_1_0_3.iso /mnt/iso/
设置本地DVD做为安装源
[root@mylinix ~]# umount /media/RHEL_5.6\ i386\ DVD/
[root@mylinix ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 8.7G 4.6G 3.7G 56% /
/dev/sda1 99M 12M 83M 12% /boot
tmpfs 252M 0 252M 0% /dev/shm
[root@mylinix ~]# mount /dev/cdrom /mnt/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@mylinix ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 8.7G 4.6G 3.7G 56% /
/dev/sda1 99M 12M 83M 12% /boot
tmpfs 252M 0 252M 0% /dev/shm
/dev/hdc 3.0G 3.0G 0 100% /mnt
cd /etc/yum.repos.d
[root@mylinix yum.repos.d]# vi rhel-debuginfo.repo
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releas
2. 创建用户和目录
================================
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle
3. Set the kernel parameters
===========================
cat >> /etc/sysctl.conf <<EOF
kernel.shmall = 2097152
kernel.shmmax = 7516192768
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 = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 262144 262144 262144
EOF
/sbin/sysctl -p
----------------------------------------------
一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,
如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。 建议永久地增加 shmmax 设置。
Shmmax 最大共享内存,官方文档建议是内存的1/2
4 G 2147483648
kernel.shmmax = 2147483648
如何当场计算呢?
[root@pe2950 root]# grep MemTotal /proc/meminfo
MemTotal: 4091420 kB
[root@sunco root]# expr 2 \* 1024 \* 1024 \* 1024
2147483648
################
正式89数据库的例子
#kernel.shmall = 2097152
#kernel.shmmax = 16106127360
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 = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 262144 262144 262144
################
4. 网络环境的配置
=================
在/etc/sysconfig/network中修改主机名,例子使用的主机名为oracle1.example.com
NETWORKING=yes
HOSTNAME=oracle1.example.com
GATEWAY=192.168.1.2
编辑/etc/hosts,添加系统主机名
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
211.151.66.89 db106.zhyhl.com db106
192.168.100.19 zfsdata.zhyhl.com loghost
编辑/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=db106.zhyhl.com
GATEWAY=211.151.66.81
网络配置错误监听无法创建成功
为了允许更多的时间解析域名成功,oracle要求在/etc/resolv.conf添加如下的语句。
(如果不这样做的话,在一个繁忙的系统中,Oracle SQL*Net connections may fail )
options attempts:5
options timeout:15
5. Set the session limits for Oracle user
==========================================
cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF
(session required /lib/security/pam_limits.so 会使本地字符界面无法登录
可以修改为session required /lib64/security/pam_limits.so)
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
# - "soft" for enforcing the soft limits
# - "hard" for enforcing hard limits
# - nofile - max number of open files
# - nproc - max number of processes
cat >> /etc/profile <<EOF
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/csh.login <<EOF
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
6. Configure the Oracle user's environment
===========================================
安装VNC
vnc设置
添加用户的vnc
cd /etc/sysconfig
vi vncservers
查找
# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
添加
VNCSERVERS="1:oracle"
VNCSERVERARGS[2]="-geometry 800x600"
设置vnc密码
su - oracle
vncpasswd
按照提示输入密码
执行
vncserver
进入用户主目录
su - oracle
进入vnc目录
cd .vnc
vi xstartup
查找
#unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
修改
#unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
取消注释
修改后xstartup为
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
重启vnc服务
su - root
cd /etc/init.d/
vncserver restart
查看vnc端口
netstat -ntl
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LIST
vnc默认为从5901端口开始
客户端登录时输入ip地址和端口号
192.168.0.1:5901
解压安装文件
cpio -idmv < a.cpio
unzip a.zip
修改安装条件
vi redhat-release
修改为其他版本linux
或者调整oracle安装文件 install 目录下的 oraparame.ini,编辑该文件,找到[Certified Versions] 段落
运行 LANG=C 采用英语界面安装避免乱码
安装oracle之前:vi /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl
安装oracle之后:vi /home/oracle/.bash_profile
export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_TERM=xterm
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
以下的字符编码可选一个,如果对应导入导出编码不符,导入数据容易出现中文乱码
# export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
# export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
# export NLS_LANG="Simplified Chinese_China.ZHS16CGB231280"
# export NLS_LANG="Simplified Chinese_China.UTF8"
注意:默认安装会加上一个oracle目录
export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
7. Invoking OUI
===============
$ ./runInstaller –ignoreSysPrereqs
oracle11g+rhel5
AS5安装oracle11
linux AS5安装oracle11
所需程序包版本(或更高):
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125-3.el5
glibc-2.5-12
glibc-devel-2.5-12
glibc-common-2.5-12
gcc-4.1.1-52.el5
gcc-c++-4.1.1-52.el5
libgcc-4.1.1-52.el5
libaio-0.3.106-3.2
libaio-devel-0.3.106-3.2
libstdc++-4.1.1-52.el5
libstdc++-devel-4.1.1-52.el5
unixODBC-2.2.11-7.1
unixODBC-devel-2.2.11-7.1
sysstat-7.0.0-3.el5
binutils-2.17.50.0.6-2.el5
make-3.81-1.1
groupadd dba
groupadd oinstall
useradd -m -g oinstall -G dba oracle
passwd oracle
mkdir -p /opt/app/oracle
mkdir -p /opt/oraInventory/
chown -R oracle:dba /opt/oraInventory/
chown -R oracle:oinstall /opt/app
chown -R 755 /opt/app
vi /etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
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=4194304
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
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
su - oracle
vi .bash_profile
ORACLE_BASE=/opt/app
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=orcl(的数据库名字)
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
$./runInstaller
oracle10g+rhel4
AS4安装oracle10201
linux AS4安装oracle10.2.01
一、Redhat linux AS4安装
安装所有开发包,网络包,系统工具包
vi /etc/hosts 查看网络地址是否设定
二、检查项目 命令/方法 建议值
内存 #grep MemTotal /proc/meminfo 512MB
交换分区 #grep SwapTotal /proc/meminfo 1GB
/tmp目录空闲区 #df –k /tmp 400MB
硬盘空闲空间 #df -k 4GB
Swap空间 >1G
三、设置系统参数
#su – root切换到root用户
修改#vi /etc/sysctl.conf, 以下是添加的内容
kernel.shmall=2097152
kernel.shmmax=2147483648
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
修改后运行#sysctl –p命令使得内核改变立即生效;或者重启系统。
一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。)
建议永久地增加 shmmax 设置。
sem 4个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数);SEMMNI(系统辛苦量集数最大数).Shmmax 最大共享内存,官方文档建议是内存的1/2,Shmmni 最小共享内存 4096KB.Shmall 所有内存大小
四,创建数据库安装的准备工作;
1,创建user/group;
#groupadd dba
#groupadd oinstall
#useradd -m -g oinstall -G dba oracle
#passwd oracle
2,建立oracle安装文件夹;
# chown -R oracle:oinstall /opt/oracle/
# chmod -R 755 /opt/oracle/
2 配置环境变量;
使用Oracle用户登陆:
#su – oracle
$vi /etc/security/limits.conf
添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vi /etc/pam.d/login
添加
session required /lib/security/pam_limits.so
session required pam_limits.so
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
$vi $HOME/.bash_profile
添加以下内容
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=orcl2
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID
export PATH
unset USERNAME
存盘退出。
五.数据库系统的安装
以root身份mount光驱
#mount /dev/cdrom /mnt
#xhost +
以oracle用户登录系统,进行Oracle的安装
#su – oracle
运行$./mnt/runInstaller
六.安装完成后的工作
创建数据库和监听
$dbca
$netca
让oracle随机器启动而启动
在.bash_profile里设置
ORACLE_SID=orcl2
ORACLE_HOME=/opt/oracle/product/10.2.0/db_1
export ORACLE_SID
export ORACLE_HOME
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export PATH
修改/etc/oratab,
orcl2:/opt/oracle/product/10.2.0/db_1:Y
最后一个字母默认是N,修改为Y,否则dbstart,dbshut都不会起作用
修改/opt/oracle/product/10.2.0/db_1/dbstart/bin中的相关行为
ORACLE_HOME_LISTNER=/opt/oracle/product/10.2.0/db_1
然后修改/etc/rc.local,增加这样的一行
su - oracle -c dbstart
这样就可以了,但不能关机的时候自动关闭,所以需要手工处理
su - oracle -c dbshut
如果是oracle用户可以直接dbshut
错误提示:
1.操作系统版本不符合
vi redhat-release
修改成可以安装的操作系统版本
2.安装界面出现中文乱码
LANG=C
运行英文安装界面
欢迎关注我的公众号 扫描二维码或公众号搜索 “我的工作”