前言:在这首先感谢bbs.fedora-zh.org 论坛上的 xielingyun 是他翻译了oracle-base
上的英文版安装方法.在xielingyun的帮助下经过本人编辑出来此篇安装文档.
1.参考fedora-zh原文地址
fedora-zh
2.参考oracle-base原E文地址
oracle-base
3.参考oracle官方原E文地址
oracle-document
4.如果安装有什么问题欢迎到
http://bbs.fedora-zh.org/ 论坛交流.(嘿嘿 ^_^)
一.所使用的软件
1.fedora linux 系统下载地址
http://torrent.fedoraproject.org/
网上有很多安装方法在这就不说了,配置可以查找本人blogs里的fedora相关文档.
2.oracle11gR2下载地址
http://www.oracle.com/technology/software/products/database/index.html
根据自己机子的情况而选择安装文档
二.查看自己机子的信息
oracle官方指定要1G以上的内存跟 1.5G以上的交换空间
三.安装oracle database11gr2依赖包
官方给出Asianux 3, Oracle Enterprise Linux 5, and Red Hat Enterprise Linux 5 的依赖包有因为我系统是 fedora12_32 所以在这里参考Red Hat Enterprise Linux 5安装(也许应该是Red Hat Enterprise Linux 6才对但官方文档给出了5,嘿嘿)
1 binutils-2.17.50.0.6-2.el5
2 compat-libstdc++-33-3.2.3-61
3 elfutils-libelf-0.125-3.el5
4 elfutils-libelf-devel-0.125
5 glibc-2.5-12
6 glibc-common-2.5-12
7 glibc-devel-2.5-12
8 glibc-headers-2.5-12
9 gcc-4.1.1-52
10 gcc-c++-4.1.1-52
11 libaio-0.3.106
12 libaio-devel-0.3.106
13 libgcc-4.1.1-52
14 libstdc++-4.1.1
15 libstdc++-devel-4.1.1-52.e15
16 make-3.81-1.1
17 numactl-devel-0.9.8.i386
18 sysstat-7.0.0
19
我们可以用 yum 安装这些依赖包
命令如下:
# yum install binutils
# yum install libaio libaio-devel
# yum install sysstat
# yum install unixODBC unixODBC-devel
# yum install compat-libstdc++-33
注意:
Red Hat5 默认安装上一个 pdksh 包 而 Red Hat6 用 ksh 代替了 pdksh 包(fedora 源也只有ksh包 pdksh也许淘汰了. 很多fedora 安装oracle的帖子都强行安装上这个 pdksh 包, pdksh跟bash有冲突.) 所以只安装ksh包就够了,因为 ksh 已经代替了 pdksh.
# yum install ksh
四.配置系统文件
注意:
a.
关掉防火墙和selinux 重新启动计算机.
b.
以下是以root身份.
1.设置hosts文件
保证/etc/hosts文件包含下面的内容
<IP-address> <fully-qualified-machine-name> <machine-name>
注意:
这一步一般情况下不用做任何修改,
保证文件里面包含上面的内容就可以了. 只要知道你计算机名叫什么就够了
2.配置内核参数
Oracle官方给出要添加的属性
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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 = 1048576
以上这些参数的当前值可以用下面的命令查看:
# /sbin/sysctl -a | grep <param-name>
一般情况下这些参数的值都不符合要求,因此需要把下列内容添加到"/etc/sysctl.conf"文件末尾
#Instal Oracle Config
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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 = 1048576
注意:
a.
#Instal Oracle Config是注释(你可以不添加进去,但为了更好的说明添加没坏处).
b.
fs.aio-max-nr = 1048576这是官方没有的,但在oracle-document6 Configuring Kernel Parameters(配置内核参数)可以找到.
官方原文:[ Note: This value limits concurrent outstanding requests and should be set to avoid I/O subsystem failures. ].
翻译: [注:此值限制并发未完成的请求,并应设置为避免I / O子系统故障。]
我安装时忘记查看fedora 此属性默认值了,你可以用"/sbin/sysctl -a | grep aio-max-nr"这个命令查看如果是1048576你可以不增加此属性保持跟官方一样.如果不一样还是增加保险.
3.
输入以下命令来更改内核参数的当前值: # /sbin/sysctl -p
4.在"/etc/security/limits.conf"文件末尾添加下列内容:
#Install Oracle Config
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
5.把下面的内容添加到/etc/pam.d/login文件当中
#Install Oracle Config
session required pam_limits.so
6.添加新的组和用户
# groupadd oinstall
# groupadd dba
# groupadd oper
# groupadd asmadmin
# useradd -g oinstall -G dba,oper,asmadmin oracle
# passwd oracle
注意:
这篇文章介绍的安装过程没打算使用ASM,所以这次安装不会用到 asmadmin 这个用户组
7.为oracle的安装建立一个新的目录
# mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01
8.编辑/etc/redhat-release文件,把里面的内容替换为下面的内容
redhat release 5
9.用oracle用户登录,把下面的内容添加到~.bash_profile(/home/oracle/.bash_profile)的末尾(oracle用户操作):
# Oracle Settings
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_HOSTNAME=localhost.localdomain;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;
export ORACLE_SID=DB11G;
export ORACLE_TERM=xterm;
export ORACLE_UNQNAME=DB11G;
export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
# Oracle terminal Chinese fonts 2010-09-10 解决sqlplus 显示中文为 ???
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"
注意:
a.
这里面的ORACLE_HOSTNAME
的参数的值需要根据自己的情况来设定,
默认安装的 fedora 为 localhost.localdomain
b.
ORACLE_SID=DB11G 代表着SID等会安装时记得把SID设置为DB11G.
五.安装Oracle Database 11GR2
注意:
a.
以下使用oracle这个用户
b.以下第2小节方法是以前安装JDK解决UI(swing awt)中文字体,经过我的测试同样也解决了 Oracle 安装界面的问题(就是找 oracle 安装文件内的 JDK 花了一点时间)如果你的系统是英文版的那么安装oracle不会出现中文。这样就可以不用设置。
1.解压安装文件
$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip
2.把中文字体增加到oracle安装文件,解决安装时中文是"囗囗囗囗囗囗囗囗"
进入刚解压的database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/all.jar就是JDK喽.在桌面新建一个文件夹命名为fallback/找一个zysong.ttf中文字体放入里面去。再用归档管理器打开它进入/jdk/jre/lib/fonts/(all.jar包的目录)把在桌面建好的fallback文件夹拖放进来,完成后的目录结构应该是/jdk/jre/lib/fonts/fallback/zysong.ttf。
3.如是你的是仿真X的话
仿真X需要设置一下环境变量DISPLAY 的值(
我是gnome桌面所以没有执行)
$ DISPLAY=<machine-name>:0.0; export DISPLAY
4.执行oracle安装文件
进入解压出来的database文件夹,运行下面的命令开始安装过程:
$ ./runInstaller
稍等一下oracle安装界面出来。
(因为本人安装时前面忘记截图了所以只好用以下文字来说明吧)
注意:
下以有几大重点
1.
Oracle_SID要设置成DB11G(因为上面配置文件是这样指定的)
2.
安装目录不能更改(因为上面配置文件也是这样指定的)
3.
如果oracle安装程序检查依赖包还有未安装的话用yum install <包名> 安装上.但除包名为‘pdksh’以外(我安装是就剩下一个pdksh没有安装,因为我已经安装上了ksh这个包,所以让它通过)。
(图1)
当执行到Oracle Database 配置时再弹出一个安装数据库的窗体时又出现了囗囗囗囗.
(图2)
嘿嘿!请别紧张当它执行完成后.
(图3)
em地址都出来了(这已经代表安装成功了),以上图片囗囗囗囗(4个) 就是 口令管理 囗囗(2个)就是确定。 如果你想安装时解决这个问题请看下面的 : 问题1 解决方案
接着上面讲,安装成功后oracle会
提示你使用root用户手动执行2个脚本,要你执行就执行呗。(这地方我安装时没有截图,跟着oarcle提示操作吧。)
六. 成功安装完成后再接着配置。
1.编辑/etc/oratab文件,设置下面一行的标志为"Y":
DB11G:/u01/app/oracle/product/11.2.0/dbhome_1:Y
2.最后把/etc/redhat-release文件的内容改为原来的
Fedora release 12 (Constantine)
七. 到此安装全部完成
问题1 解决方案
这个其实是一个很简单的问题,安装oracle产品(只安装软件时还未安装数据库)是中文(因为你安装之前把中文字体给添加到了oracle安装文件的
jdk里)所以它能显示出中文,但是安装执行到安装数据库的时候(就是以上图片时)又出来囗囗囗囗囗囗囗这是因为oracle产品(软件)已经安装上了,
它不使用oracle安装文件里的JDK了而使用环境变量ORACLE_HOME下的jdk(也就是你配置的
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;
)/u01/app/oracle/product/11.2.0/dbhome_1/jdk这个JDK,但这个jdk下没有/jre/lib
/fonts/fallback/zysong.ttf这个文件所以就出来了囗囗囗囗。
有一种解决办法就在你安装oracle时当它生成/u01/app/oracle/product/11.2.0/dbhome_1/jdk这个目录后你
把zysong.ttf字体复制到这个jdk/jre/lib/fonts/fallback/下当它执行到安装数据库的时候应该就是中文了。
注意:一定要在安装数据库之前跟它自己生成环境变量ORACLE_HOME/目录下的jdk之后复制进去。
应该就在(图1)执行复制文件成功后,执行Oracle Database 配置 前这个时间里手动复制zysong.ttf到你环境变量
ORACLE_HOME/jdk下的jre/lib/fonts/fallback/(也就是/u01/app/oracle/product
/11.2.0/dbhome_1/jdk/jre/lib/fonts/fallback/这个目录里)。(这方法我未尝试,因为在我安装完成之后才想
到的 谁下次安装oracle时试试,好验证我说的是否正确,如果你不想冒险那还是别试了,我不敢当保安装时不会出现错误,但我相信自己这种方法会解决问
题,嘿嘿)
如果你的系统是中文,安装完成之后你还要复制,这样在配置oracle时和使用SQL Developer才能显示中文界面。
问题2 : 重启系统后oracle服务不会自动启动
这样我更喜欢,我的机子又不是服务器
使用以下命令可以手动启动
[alex@localhost ~]$ su - oracle
启动和停止监听器:
监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用 OEM,必须先启动监听器。
$ lsnrctl start
$ lsnrctl stop
启动和停止数据库:
1.启动和停止数据库的最简单方法是从 OEM 控制台启动和停止。要从命令行执行此操作,请在以 oracle 身份登录后使用 SQL*Plus,如下所示:
启动:
$ sqlplus
Enter user-name: / as sysdba
SQL> startup
SQL> exit
停止:
$ sqlplus
Enter user-name: / as sysdba
SQL> shutdown immediate
SQL> exit
2.以下命令也可以启动和停止数据库(如果数据库在使用就不会停止掉)
$ dbstart
$ dbshut
启动和停止 Oracle 企业管理器数据库控制:
$ emctl start dbconsole
$ emctl stop dbconsole
以下是一些软件启动的命今
Net Manager
netmgr
Net Configuration Assistant
netca
Database Configuration assistant
dbca
Database Upgrade Assistant
dbua
Locale Builder
lbuilder
Alex刺客