首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

ubuntu9.10,9.04 装配oracle10g 详细过程

2012-09-24 
ubuntu9.10,9.04 安装oracle10g 详细过程本文主要参考了Ubuntu论坛上的一篇ubuntu 8.10 安装Oracle 10G 企

ubuntu9.10,9.04 安装oracle10g 详细过程

本文主要参考了Ubuntu论坛上的一篇ubuntu 8.10 安装Oracle 10G 企业版综合指南

http://forum.ubuntu.org.cn/viewtopic.php?f=44&t=170399&sid=0fcf8acc5269b19e513e2249edacd886&start=0

在此表示感谢!

?

一、验证安装Oracle 数据库 10g 第 2 版的系统要求

?

按照Oracle官方指南,首先需要验证RAM和交换空间大小

要查看可用 RAM 和交换空间大小,运行以下命令:

grep MemTotal /proc/meminfo

grep SwapTotal /proc/meminfo

?

我本机的例子:

ssj@ssj-laptop:~$ grep MemTotal /proc/meminfo

MemTotal: ? ? ? ?1543108 kB

ssj@ssj-laptop:~$ grep SwapTotal /proc/meminfo

SwapTotal: ? ? ? 2088408 kB

?

根据oracle官方网站的安装说明要求:所需最小 RAM 为 1,024MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。

?

Oracle 数据库 10g 第 2 版软件还需要 2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的可用空间。要检查系统上的可用磁盘空间,运行以下命令:

df -h

我本机的例子:

ssj@ssj-laptop:~$ df -h

文件系统 ? ? ? ? ? ?容量 ?已用 ?可用 已用% 挂载点

/dev/sda3 ? ? ? ? ? ? ?47G ? 16G ? 29G ?36% /

tmpfs ? ? ? ? ? ? ? ? 754M ? ? 0 ?754M ? 0% /lib/init/rw

varrun ? ? ? ? ? ? ? ?754M ?108K ?754M ? 1% /var/run

varlock ? ? ? ? ? ? ? 754M ? ? 0 ?754M ? 0% /var/lock

udev ? ? ? ? ? ? ? ? ?754M ?152K ?754M ? 1% /dev

tmpfs ? ? ? ? ? ? ? ? 754M ? 76K ?754M ? 1% /dev/shm

lrm ? ? ? ? ? ? ? ? ? 754M ?2.2M ?752M ? 1% /lib/modules/2.6.28-16-generic/volatile

?

此外可能需要事先安装包libaio1,因为一开始安装Oracle XE时,需要安装的当时就安装上了,这个未加验证。

而且最好开启root用户,因为Ubuntu默认是关闭root用户的,但是在oracle的安装过程中,需要root用户来执行两个脚本。

?如果需要安装libaio1,可以通过下面来安装

?ssj@ssj-laptop:~$ sudo apt-get install libaio1

开启root

?ssj@ssj-laptop:~$ sudo passwd root

按照提示输入新密码即可。

二、创建用户

oracle要用oracle用户安装,安装好后,同样用oracle用户启动。

//创建用户组oinstall

ssj@ssj-laptop:~$ sudo addgroup oinstall

//创建用户组dba

ssj@ssj-laptop:~$ sudo addgroup dba

//创建用户组nobody

ssj@ssj-laptop:~$ sudo addgroup nobody

?

//将用户oracle的初始组设为oinstall,并加入到组dba中,home目录设为/home/oracle.此目录如果不存在则自动创建,shell为bash。

ssj@ssj-laptop:~$ sudo useradd -g oinstall -G dba -d /home/oracle -m -s /bin/bash oracle

//查看nobody用户所在的组

ssj@ssj-laptop:~$ id nobody

uid=65534(nobody) gid=65534(nogroup) 组=65534(nogroup)

//将nobody用户加入到nobody组里面

ssj@ssj-laptop:~$ sudo usermod -G nobody nobody

//核实nobody加入的组里面有组nobody

ssj@ssj-laptop:~$ id nobody

uid=65534(nobody) gid=65534(nogroup) 组=65534(nogroup),1003(nobody)

//设置用户oracle密码

ssj@ssj-laptop:~$ sudo passwd oracle

?

三、创建目录。

//建立oracle_base目录,如果不存在,就创建,oracle安装于此。

ssj@ssj-laptop:~$ sudo mkdir -p /opt/oracle10

//将此目录及其下的文件或者目录的所有者改为oinstall组的oracle

ssj@ssj-laptop:~$ sudo chown -R oracle:oinstall /opt/oracle10/

//将此目录及其下文件权限设为755

ssj@ssj-laptop:~$ sudo chmod -R 775 /opt/oracle10/

?

四、修改内核参数

ssj@ssj-laptop:~$ sudo gedit /etc/sysctl.conf

将以下部分,增加到文件末尾,并保存。

# special setting for oracle XE

?kernel.shmmax = 536870912

?kernel.shmmni = 4096

?kernel.shmall = 2097152

?kernel.sem = 250 32000 100 128

?fs.file-max = 65536

?net.ipv4.ip_local_port_range = 1024 65000

//使设置生效

ssj@ssj-laptop:~$ sudo sysctl -p

?

ssj@ssj-laptop:~$ sudo gedit /etc/security/limits.conf

在文件末尾最后一行#end 之前加入下面内容。

#setting for oracle 10g

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

?

?

五、创建链接及Red Hat release:

//创建一些Oracle安装程序需要的工具的连接。 因为Oracle安装程序是为通过Oracle认证的Red Hat、Suse等版本准备的,所以有些工具的位置和Ubuntu不一样。

ssj@ssj-laptop:~$ sudo ln -s /usr/bin/awk /bin/awk

ssj@ssj-laptop:~$ sudo ln -s /usr/bin/rpm /bin/rpm

ssj@ssj-laptop:~$ sudo ln -s /usr/bin/basename /bin/basename

?

建立redhat的release

因为Oracle默认是不支持Ubuntu的,所以要把Ubuntu伪装成Redhat

ssj@ssj-laptop:/etc$ sudo touch redhat-release

ssj@ssj-laptop:/etc$ sudo gedit redhat-release

在文件内增加内容:

Red Hat Linux release 4.1

?

六、//使Java环境可以正常显示中文。这样在安装oracle时候的界面上的中文就不会出现乱码了。

$ cd /usr/lib/jvm/java-6-sun/jre/lib/fonts

$ sudo mkdir fallback

$ ln -s /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc

$ sudo ?mkfontdir

$ sudo mkfontscale

说明: 由于我没有在环境变量里面设置JAVA_HOME,我利用ubuntu安装jdk1.6,你只要找到ubuntu安装java的路径就可以。

七.查看/usr/lib下libstdc++是否存在,oracle10g 需要libstdc++.so.5

oracle@ssj-laptop:~$ ls /usr/lib | grep c++

libstdc++.so.6

libstdc++.so.6.0.10

root@ssj-laptop:~# ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.5 ? ?//要进入root用户进行更改!

八、用oracle用户登录X

进入安装文件目录

oracle@ssj-laptop:~$ ./runInstaller -jreLoc $JAVA_HOME/jre/

?

注意:此处安装程序后面增加了-jreLoc的参数,因为刚刚我们更改了本地已经安装的jre,使之能够支持中文显示,这里的意思是使用我们修改后的 jre,这样Oracle安装界面中文就可以基本显示正常了。虽然在安装Database config assistant 时候弹出的界面仍然会出现乱码,但影响不大,我记得好像就2个页面。

如果不加此参数,oracle会使用自己的jre,但是这样安装界面中文就出现了乱码,当然也可以通过先执行下export LC_CTYPE=en_US.UTF-8,再运行 runinstaller 进入全英文安装界面。

oracle@ssj-laptop:~$ export LC_CTYPE=en_US.UTF-8

其中在最后要求你用root执行一些shell的代码,只要到root帐户执行就行!

?

以下为我个人设置

产品清单目录完整路径 :/opt/oracle10

操作系统组:oinstall

ORACLE_HOME:/opt/oracle10/product/10.2.0/db_2

全局数据库名称:orcl

sid:orcl

数据库字符集: ZHS16GBK

存储选择 :文件系统

数据文件位置:/opt/oracle10/product/10.2.0/oradata/

安装会话日志: /opt/oracle10/logs/installActions2009-06-21_08-37-14AM.log

?

以下是Oracle的 J2EE 应用程序已经配置完, 并且可用下面列出的 URL 来访问。

iSQL*Plus URL:

http://ssj-laptop:5560/isqlplus

?

iSQL*Plus DBA URL:

http://ssj-laptop:5560/isqlplus/dba

?

Enterprise Manager 10g Database Control URL:

http://ssj-laptop:1158/em

?

九.重启电脑

此时你会发现你无法打开数据库,刚才的数据库就像消失了一样,不急,我我通过一下步骤解决!

oracle@dhn-laptop:~$ more .profile

。。。。。。

oracle@ssj-laptop:$vi .profile

在.profile 的最后中添加一下语句:

# local settings for java and oracle

export JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.15"

export ORACLE_BASE="/opt/oracle10"

export ORACLE_HOME="$ORACLE_BASE/product/10.2.0/db_1"

export PATH="$PATH:$ORACLE_HOME/bin:$JAVA_HOME/bin"

export CLASSPATH=".:$JAVA_HOME/lib"

export ORACLE_SID=orcl

?

此处Oracle相关的只设置了ORACLE_BASE、ORACLE_HOME、ORACLE_SID

变量,并且把ORACLE_HOME/bin下的命令加入到系统PATH里面。

?

十。启动数据库

ssj@ssj-laptop:~$ su - oracle

口令:?

oracle@ssj-laptop:~$ sqlplus "/ as sysdba"?

?

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Nov 12 23:15:20 2009

?

Copyright (c) 1982, 2005, Oracle. ?All rights reserved.

?

?

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

?

SQL> startup

...

databaseopen

SQL>exit

oracle@ssj-laptop:~$ lsnrctl start ?//启动监听器

oracle@ssj-laptop:~$ emctl start dbconsole //启动EM控制台

热点排行