http://wiki.ubuntu.org.cn/index.php?title=Index/database/InstallOracle10gInBreezy&variant=zh-cn
http://www.phpchina.com/batch.viewlink.php?itemid=14789
http://www.dizwell.com/prod/node/52?page=0%2C1
本文是在
ubuntu 7.04下安装Oracle 10g 的安装笔记。我假设您已经成功的安装并配置了 ununtu
Linux。并且安装好了 sudo apt-get install gcc lesstif2 libc6 rpm libaio1 mawk gawk original-awk binutils libdb3 libdb1-compat cpp-3.3 gcc-3.3 libstdc++5-3.3-dev libstdc++2.10-glibc2.2 base-files netbase libc6 libc6-dev make 可通过 apt-get install 完成安装(ununtu 和 debian 的这种安装方式蛮方便的)j2re 的运行环境,不一定要安装(
注:,如果会出现“ Exception String: Error in invoking target 'client_sharedlib' of makefile '/opt/ora10/network/lib/ins_net_client.mk'.”错误,就一定要使用apt-get install sun-java6-jre 或是apt-get install sun-java6-jdk来安装java环境)。
1. 创建用户和组
oracle 安装需要两个 unix 用户组和一个运行时的 oracle 用户。
#addgroup oinstall
#addgroup dba
#addgroup nobody
#useradd -g oinstall -G dba -p passwd -d /home/oracle -s /bin/bash oracle
#usermod -g nobody nobody
2. 创建目录
有很多文档,建议您将 oracle 安装到一个独立的分区上面。比如:/opt。请您根据您的需要选择合适
自己的安装目录。在本文档中,我们假设 oracle 的安装目录为/opt/ora10。确保有至少 3.0G 的可用空间。
(晕死,我全部的剩余空间呀:()
#mkdir -p /opt/ora10
#mkdir -p /opt/oradata
#chown -R oracle:oinstall /opt/ora*
#chmod -R 775 /opt/ora*
您生成了 oracle 的运行时路径,并且授写权限给 oracle 用户,执行权限给 dba 组。
3 设置内核参数
3.1 修改 sysctl.conf
添加如下的行到/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
注:shmmax(最大共享内存)是一个很重要参数,根据您的机器的内存来设定。如果您设置不合适的
话,在创建数据库到约 86%的时候就会挂掉。祝您好运。^_^
3.2 修改 limits.conf
添加下面的行到/etc/security/limits.conf 以修改你的资源限制:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
3.3 让修改生效
修改了以上文件后,您必须让其生效,您重启系统,或者切换到 root 用户下用以下的方式改变内核运
行参数:
#sysctl -p
3.4 创建程序链接
#ln -s /usr/bin/awk /bin/awk
#ln -s /usr/bin/rpm /bin/rpm
#ln -s /usr/bin/basename /bin/basename
4 .设置 Oracle 用户环境
以 oracle 用户登录:
~$su oracle
修改~/.bash_profile 文件,去掉下列三行的注释符,使.bashrc 文件生效:
#if [ -f ~/.bashrc ]; then
# . ~/.bashrc
#fi
ununtu 默认是没有注释的,debian 用户需要取消掉这个。
添加下列行到~/.bashrc:
# oracle 10g
export ORACLE_BASE=/opt/ora10
export ORACLE_HOME=/opt/ora10
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH //这项可不要
export ORACLE_OWNER=oracle
export ORACLE_SID=compiere
export ORACLE_TERM=xterm
# Edit paths
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export PATH=/opt/ora10/bin:$PATH
我是将上面的内容保存到另一个文件中,.bash_oracle,然后在.bashrc 中使用 source
.bash_oracle 进行调用 的。您可以根据您的好恶进行设置。您需要注意的是,ORACLE_BASE 和
ORACLE_HOME 的设置一定得和您在前面创建的目录相符。 ORACLE_SID 是默认数据库的名称,在本文档
中,我们假设默认的数据库名叫 compiere,如果您想用其他的名字,请您作相应的修改。
5 执行安装
5.1 交换分区的调整
以 oracle 用户启动 X,进行安装。
差点忘了,为了安装 Oracle 10g,oracle 推荐至少 512M 内存和至少 400M 交换空间。内存,好象不
够关系也不大,但是交换分区 呢,您还是大方一点吧。如果您的交换分区不够 400M,那么您还是先看看这
一步吧。
重设交换分区可以使用如下操作:
shell# dd if=/dev/zero of=tmp_swap bs=1k count=900000
shell# chmod 600 tmp_swap
shell# mkswap tmp_swap
shell# swapon tmp_swap
完成安装以后,可以释放这个空间:
shell# swapoff tmp_swap
shell# rm tmp_swap
count 值是根据您需要调整的交换分区大小而定。
5.2 安装前的准备
终于可以安装了。我们假设下载的安装文件位于/home/sungaoyong/oracle 下,名称为
10201_database_linux32.zip 解压后。
创建一个文件 /etc/redhat-release:添加如下内容。
Red Hat Linux release 3.1 (drupal)
oracle 将会把系统认为是 redhat 3 了:)
5.3 java 中文的显示
进入 java 的安装路径
$ cd /usr/lib/j2se/1.4/lib
$ sudo cp font.properties.zh_CN_UTF8.Sun font.properties
将最下面的一行改为如下:
filename.-misc-fzsongti-medium-r-normal--*-%d-*-*-p-*-iso10646-
1=/usr/share/fonts/VeraSansYuanTi/VeraSansYuanTi-Regular.ttf
appendedfontpath=/usr/share/fonts/VeraSansYuanTi
java 就支持中文显示了。
5.4 运行 Installer
进入 oracle 数据库解压的目录
./runInstaller -jreLoc /usr/lib/j2se/1.4/jre
指定 jre 的目的就是始安装界面可以显示中文,否则安装界面的中文都是小框框,不信试试,嘿嘿!
接下的一般选择默认设置就可以了。
6.启动数据库
1.启动
$ sqlplus " scott/tiger as sysdba"
将出现如下连接数据库信息:
SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 3 月 24 16:23:27 2004
Copyright (c) 1982, 2004, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
表明登录数据库系统成功,运行 startup 命令启动数据库。
SQL> startup
ORACLE instance started.
Total System Global Area 336356520 bytes
Fixed Size 279720 bytes
Variable Size 268435456 bytes
Database Buffers 67108864 bytes
Redo Buffers 532480 bytes
Database mounted.
Database opened.
SQL>
表示数据库正常启动。
2. 关闭 Oracle10g 数据库
$ sqlplus "scott/tiger as sysdba" //以 sysdba 用户登录数据库
成功登录数据库系统后,运行 shudown 命令关闭数据库。
SQL> shutdown
3. 启动 Oracle10g 监听程序
Oracle 的监听程序主要是为客户端的连接提供接口,在控制台窗口键入如下命令:
$ lsnrctl
将出现如下监听程序信息:
LSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 24-3 月 -2004 16
:59:51
Copyright (c) 1991, 2004, Oracle. All rights reserved.
欢迎来到 LSNRCTL, 请键入"help"以获得信息。
LSNRCTL>
表明登录监听程序控制台成功,运行 start 命令启动监听程序。
LSNRCTL> start
将出现监听程序的一系列启动和配置情况信息列表。
信息行的最后一行是“The command completed successfully”字样时,监听程序启动成
功。
4. 关闭 Oracle10g 监听程序
运行 stop 命令关闭监听程序。
LSNRCTL> stop
7.创建自启动脚本
创建 oracledb 脚本到/etc/init.d/oracledb,内容如下
#!/bin/bash
#
# /etc/init.d/oracledb
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface
export ORACLE_HOME=/opt/ora10
export ORACLE_SID