声明:本文中所描述的系统命令,未经特殊标示,均为“#”代表root权限,“$”代表oracle权限。
一、安装系统
首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情况下,swap分区大小应该设置为内存的2倍大,若内存大于2G则swap分区设置为与内存大小一样。 其实Linux系统的swap分区大小设置是很有讲究的,如果哪位读者有兴趣,可以参考我的另外一篇文章——《如何合理设置Linux系统的swap分区大小》。
在系统安装的过程中,一定选择安装所有开发包,建议不要安装SELinux或者安装后在系统中禁止SELinux运行,否则会出现一些莫名其妙的问题。
为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作
二、安装Oracle前的系统准备工作
1.检查需要的软件包
可以使用rpm -qa|grep 软件包关键词命令进行检测,一般情况下会需要手动安装如下的软件包:
From RedHat AS5 Disk 1(32 Bit) # rpm -Uvh setarch-2* [*] # rpm -Uvh make-3* [*] # rpm -Uvh glibc-2* # rpm -Uvh libaio-0*
From RedHat AS5 Disk 2(32 Bit) # rpm -Uvh compat-libstdc++-33-3* # rpm -Uvh compat-gcc-34-3* # rpm -Uvh compat-gcc-34-c++-3* # rpm -Uvh gcc-4* [*] # rpm -Uvh libXp-1*
From RedHat AS5 Disk 3(32 Bit) # rpm -Uvh openmotif-2* [*] # rpm -Uvh compat-db-4* [*] # rpm –Uvh binutils-2.11 [*] 如果使用DVD安装介质的话,会很方便。
标记为[*]的为必须安装项目,其他选填但是最好安装
如果以上没有安装,则需要安装,红色的部分为redhat5未自动安装的组件,则需要自动安装 安装过程为:
1,插入redhat5安装光盘,进入光盘,cd /media;查看是否存在以上组件,find –name ―compat-libstdc*‖
2,安装:rpm -ivh ./CDROM/Server/compat-libstdc++-33-3.2.3-61.i386.rpm 3,检查:rpm –qa|grep compat-libstdc*
2.修改Linux发行版本信息
由于Oracle 10g发行的时候,RedHat Enterprise Linux 5没有发行,所以Oracle 10g并没有对RedHat Enterprise Linux 5确认支持,我们有两种方法可以让Oracle 10g支持RedHat Enterprise Linux 5。
方法一:
我们需要手工修改Linux的发行注记,让Oracle 10g支持RedHat Enterprise Linux 5。 编辑/etc/redhat-release文件 # vi /etc/redhat-release
将其中的内容Red Hat Enterprise Linux Server release 5 (Tikanga)修改为Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
方法二:
还有文章说修改Oracle安装包中install/oraparam.ini文件的内容,也可以让Oracle 10g支持RedHat Enterprise Linux 5,修改方法如下: # vi install/oraparam.ini
在其中的Certified Versions段落增加redhat-5 #[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2] 再添加
[Linux-redhat-5.0-optional] TEMP_SPACE=80 SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
经我测试,发现方法二在安装之前的系统检测过程可以通过,但是在安装过程中的系统支持检测无法通过,不知道是不是我设置的有问题,希望有高手可以给我点提示。 3.修改系统内核参数 # vi /etc/sysctl.conf 如果没有可以自己添加
kernel.shmall = 2097152 // 该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改
kernel.shmmax = 2147483648 // 该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G kernel.shmmni = 4096 // 这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改 kernel.sem = 250 32000 100 128 // 表示设置的信号量
fs.file-max = 65536 // 表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量
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 // 发送窗口的最大大小
修改好内核参数后,执行如下命令使新的设置生效 # /sbin/sysctl -p
4.创建Oracle用户、组、安装目录
在这里我只讨论单主机环境,不考虑RAC(集群)环境的配置,在以后我会专门写一篇如何配置Oracle RAC环境的文章。 (1) 创建Oracle用户组 # groupadd oinstall # groupadd dba (2) 创建Oracle用户
# useradd -m -g oinstall -G dba oracle (3) 设置Oracle用户口令 # passwd oracle
(4) 创建Oracle安装目录以及数据存放目录 # mkdir -p /DBSoftware/app/oracle # mkdir -p /DBData/oradata (5) 修改目录权限
# chown -R oracle:oinstall /DBSoftware/app/oracle/ /DBData/oradata/ # chmod -R 755 /DBSoftware/app/oracle/ /DBData/oradata/ 5.添加以下内容到/etc/security/limits.conf # vi /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
6.添加以下内容到/etc/pam.d/login 加载/pam_limits.so模块 # vi /etc/pam.d/login
session required /lib/security/pam_limits.so session required pam_limits.so 7.添加以下内容到/etc/profile # vi /etc/profile
if [ $USER = \]; then if [ $SHELL = \]; then ulimit -p 16384 ulimit -n 65536 else
ulimit -u 16384 -n 65536 fi fi
8.配置Linux主机
检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。 8.1配置网络(可选)
机器配置如果使用静态IP,在安装过程中可能出现网络检查不通过的情况,那么进行以下操作
1, 设置静态IP
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE=eth0 BOOTPROTO=static
HWADDR=00:0C:29:51:0F:BB ONBOOT=yes TYPE=Ethernet USERCTL=yes IPV6INIT=yes PEERDNS=yes
DHCP_HOSTNAME=ankaliang IPADDR=172.168.6.180 NETMASK=255.255.0.0 GATEWAY=172.168.6.254
2, 更改/etc/hosts文件
172.168.6.180
只要把静态IP定义到hosts中即可,域名和主机名随便定义
9.配置oracle用户环境变量 # su - oracle $ vi ~/.bash_profile 增加如下内容:
export ORACLE_BASE=/DBSoftware/app/oracle // 上面创建的Oracle安装文件夹 export ORACLE_SID=orcl
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBARY_PATH=$ORACLE_HOME/lib export PATH umask 022
保存后使用如下命令,使设置生效: $ source ~/.bash_profile
注意:执行此命令只对本次窗体有效,如果窗体重启,则PATH变量会失效,那么之后所使用的oracle/bin下的命令则会无法使用。需要重新加载这个资源文件
dbserver.dbdomain dbserver
三、安装Oracle,并进行相关设置
1.解压缩安装文件
Oracle的安装包有这样几种格式: (1) zip
这种格式最好解压缩,直接使用命令unzip 文件名即可 (2) cpio.gz
这种格式有这样几种解压缩方式
a. # zcat XXXX.cpio.gz | cpio -idmv
b. # gunzip XXXX.cpio.gz解压出XXXX.cpio文件然后再 # cpio -idvm < XXXX.cpio
解压缩完成后,设置oracle帐户可以操作安装文件所在的目录 chown -R oracle:oinstall 安装文件所在目录
为了防止无法访问的权限问题,把安装文件的的目录权限打开 Chmod –R 777安装文件所在目录
2. 用oracle帐户进入安装文件所在目录,执行如下命令即可看到安装界面: $ ./runInstaller
如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序: # export DISPLAY=:0.0 # xhost +
执行后还出现问题,检查jdk是否安装,安装jdk后才能显示图形界面 以上命令只是临时设置了display变量,每启动一次控制台,都需要重新输入 $ ./runInstaller
出现安装界面后,根据界面提示进行相关的设置,我的建议是在安装过程中不创建数据库,只安装程序,监听和创建数据库等安装完成后再进行相关的操作。 安装过程中,需要使用root权限执行两个脚本。 根据安装的路径,进入对应目录执行以下脚本即可 ./orainstRoot.sh
./root.sh 需要输入目标目录,/usr/local/bin默认就可以了
3. 安装完成后,将/etc/redhat-release文件中的内容修改回Red Hat Enterprise Linux Server release 5 (Tikanga) 4.创建监听以及创建数据库 (1) 创建监听程序
使用Oracle提供的NET CONFIGURATION ASSISTANT创建TNS监听 $ netca
注意:注意这个和一下命令执行的用户
该命令位于安装目录bin下,这与第九步.bash_profile中配置路径一致,如果安装目录与配置路径不一致,则需要修改配置,重复第九步骤
基本上就是一直Next就可以了,当然你也可以在这期间修改TNS的监听端口号 TNS监听创建完成后可以使用如下命令进行检查: # netstat -atln 检查监听端口是否打开 $ lsnrctl status 检查TNS监听状态
确认监听已经成功启动后,即可执行Database Configure Assistant进行数据库的创建,执行命令如下: $ dbca
在创建数据库的过程中,建议将数据库的字符集设置为Unicode UTF-8,防止出现乱码。
四、数据库的启动脚本
$ netmgr Oracle Net Manager 服务与监听的配置工具 $ emca oracle为了配置web管理平台的工具、