以下的系统要求适用于典型的Oracle安装和创建简单数据库的方式。
内存:
安装Oralce 9i软件至少需要512M内存,用以下命令可以查看主机内存大小:
grep MemTotal /proc/meminfo MemTotal: 900252 kB |
900252kB就是你系统的内存大小。
交换区:
交换区的大小一般要求是内存的两倍,至少要求达到400M以上,当然是越大越好,用以下的命令可以查看系统交换区的大小:
/sbin/swapon -s Filename Type Size Used Priority /dev/sda6 partition 105221 686976 -1 |
其中105221就是系统交换区的大小。
光驱:
如果你使用光盘安装Oracle9i则你的机子上需要8速以上的CDROM,如果你是下载了Oracle9i的包文件,则不需要使用的CDROM。
硬盘空间:
安装Oracle9i数据库至少要有2.5GB以上的剩余空间。
临时硬盘空间:
Oracle安装程序在安装过程中需要400M以上的临时硬盘空间,建议使用/tmp文件夹作为零时文件夹,如果/tmp文件没有足够的硬盘,可以新创建一个文件夹作为安装的临时目录,之后设置环境变量TEMP和TMPDIR指向相应的位置,例如:
- 使用bash
mkdir /home/temp
TEMP=/home/temp ; export TEMP
TMPDIR=/home/temp ; export TMPDIR
- 使用csh
mkdir /home/temp
setenv TEMP /home/temp
setenv TMPDIR /home/temp
操作系统:
Oracle公司官方公布的资料指出Oracle 9i只在安装SuSuSe 7.1, 内核 2.4.4 和glibc2.2的系统上测试通过,经过本人的测试,Oracle在Linux Mandrake release 8.0,内核2.4.3-20和glibc-2.2.2的版本上也可以顺利安装,本文将以Linux Mandrake8.0为例介绍Oracle9i的安装过程。
虚拟x-windows软件:
这个软件不是必要的!所谓虚拟x-windows软件指的是可在远程终端允许服务器x-windows的虚拟软件,现在流行的x-windows软件有exceed、x-win32等软件,如果你嫌在控制台安装Oracle系统麻烦,可以使用虚拟x-windows软件在远程终端在图形界面下安装oralce9i,本文将以x-win32 5.0为例介绍用虚拟x-windows安装Oracle9i的过程。
JDK
如果你要安装Oracle HTTP Server还需要用到blackdown的JDK1.3.1,请到以下地址下载ftp://ftp.progsoc.uts.edu.au/pub/Linux/java/JDK-1.3.0/i386/rc1/j2sdk-1.3.0-RC1-linux-i386.tar.bz2
配置内核参数
Oracle9i使用Linux的共享内存、交换区等资源进行工作,如果你的内核参数设置不能满足Oracle的要求,那在安装oracel9i或使用过程就会频频出现问题,因此配置系统内核的参数就显得尤为重要和关键了。
内核参数的配置一般在/proc文件夹下配置:
1. 以root用户允许以下命令;
2. 进入目录/proc/sys/kernel;
3. 用cat命令或more命令查看semaphore当前参数的值:
cat sem |
命令运行后将会出现如下的结果:
250 32000 32 128
其中, 250 是参数SEMMSL的值,32000是参数SEMMNS的值, 32是参数SEMOPM的值,而128则是参数SEMMNI的值。
4. 用以下的命令可以对上述参数进行修改
echo SEMMSL_value SEMMNS_value SEMOPM_value SEMMNI_value > sem |
其中SEMMSL_value、SEMMNS_value、SEMOPM_value、SEMMNI_value分别用相应的值进行替换,并且这些值的顺序不能调换
5. 设置共享内存大小,共享内存大小一般设为物理内存的一半,在这里我们假设物理内存为512M则共享内存的值4294967295以此类推,如果你的物理内存是1G则这里的值则是8589934590:
echo 4294967295 > shmmax
添加用户
Oracle在安装和使用中需要用特定用户(非root用户),按照Oracle的标准说明是需要添加三个专门用户和用户组,为了简便大家的安装和使用我们把Oracle的安装和使用归到一个特定用户来完成。
首先创建Oracle用户组,我们架设这个用户组命名为dba:
以root用户登陆系统;
运行groupadd dba命令添加dba用户组;
添加Oracle用户:
以root用户登陆系统;运行如下命令:
useradd –g dba –p password –d /Oracle –s /bin/bash Oracle |
运行后系统创建了一个属于dba用户组的用户Oracle,密码为password,主目录为/Oracle使用bash
这个用户将作为系统的安装和使用指定用户,因此要妥善保存好!
创建安装点(mount point)
Oracle9i的典型安装需要至少两个安装点:一个安装基本的运行程序,要求至少要有850M的硬盘空间;一个为存放数据库,至少要求有450M的硬盘空间。为了简化安装我们可以把运行程序和数据库装在同一个安装点下。
在你的文件系统上找到有足够空间的分区,在分区下创建文件夹,我们假设这个文件夹为/Oracle。
配置系统环境变量
很多网友安装Oracle失败都是因为环境变量没有配置正确,环境变量的配置直接影响到以后Oracle9i的安装和配置,在配置的时候要尤为小心!
配置x-windows变量
确认Oracle9i在安装过程中是否使用本地x-windows安装还是远程虚拟x-windows安装,如果需要远程x-windows安装,则需要配置DISPLAY变量,这个变量用于告诉系统屏幕的图形将输出到什么位置,默认情况下是本机,如果你使用虚拟x-windows进行安装,则在这里指明远程终端的显示情况,比如你远程终端的IP地址是xxx.xxx.xxx.xxx则DISPLAY的变量应设为“xxx.xxx.xxx.xxx:0”后面的“:0”表示该终端的第一个显示器。
确定安装临时目录
前面我们提到过Oracle9i的安装需要一个临时的可写空间,我们在这里把/tmp作为临时的可写目录。如果你不是使用/tmp作为临时可写目录则需要配置相应的值TMPDIR=/path。
配置Oracle的环境变量
下面提供一个例子可以供大家参照使用
export DISPLAY="192.9.200.24:0.0" export BASH_ENV=$HOME/.bashrc _HOME=//product/9.0.1; export _HOME _SID=; export _SID _TERM=xterm; export _TERM TNS_ADMIN=/home//config/9.0.1; export TNS_ADMIN NLS_LANG=american_america.ZHS16GBK; export NLS_LANG ORA_NLS33=$_HOME/ocommon/nls/admin/data; export ORA_NLS33 LD_LIBRARY_PATH=$_HOME/lib;export LD_LIBRARY_PATH PATH=$PATH:/bin:/usr/bin:/usr/sbin:/etc:/opt/bin: /usr/ccs/bin:/usr/openwin PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin:$_HOME/bin PATH=$PATH:/usr/local/samba/bin:/usr/ucb: export PATH CLASSPATH=$_HOME/JRE:$_HOME/jlib: $_HOME/rdbms/jlib CLASSPATH=$CLASSPATH:$_HOME/network/jlib TMPDIR=/tmp;export TMPDIR umask 022 |
其中:
_HOME为系统软件的安装目录;
_SID 为数据库的SID,这里可以自行设置;
NLS_LANG 为数据库的字符集,为了保证数据库能够输出输入数据库,我们需要在这里把字符集设为american_america.ZHS16GBK,其中american_america英文字符集,ZHS16GBK为中文字符集。
以用户登陆系统,
vi $HOME/.bash_profile
把以上环境变量的设置粘贴到文件中,确认相应的内容并修改,存盘退出。
重新登陆用户
使用set|more命令查看用户的环境变量是否生效
CLASSPATH=//product/9.0.1/JRE://product/9.0.1/jlib: //product/9.0.1/rdbms/jlib: //product/9.0.1/network/jlib DISPLAY=192.9.200.24:0.0 LD_LIBRARY_PATH=//product/9.0.1/lib:/lib:/usr/lib: NLS_LANG=american_america.ZHS16GBK _HOME=//product/9.0.1 _SID= _TERM=xterm ORA_NLS33=//product/9.0.1/ocommon/nls/admin/data OSTYPE=linux-gnu PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games: /bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/openwin: /opt/local/bin:/opt/NSCPnav/bin: //product/9.0.1/bin:/usr/local/samba/bin:/usr/ucb: TNS_ADMIN=/home//config/9.0.1 |
仔细检查一下以上的几项,确保都设置正确了。
安装Oralce9i
安装JDK1.3.1
把下载的j2sdk-1.3.0-RC1-linux-i386.tar.bz2文件上传到服务器的/usr/local/目录下,以root用户登陆,用bzip –d j2sdk-1.3.0-RC1-linux-i386.tar.bz2命令先把文件解成tar格式,再使用tar xvf j2sdk-1.3.0-RC1-linux-i386.tar.bz2解压出来,为了便于操作可以把文件夹名改成jdk.。
配置x-windows
9i的安装几乎支持所有的x-windows,也支持远程的虚拟x-windows安装,如果你要在本机安装在控制台上以我们先前创建的用户登陆(注意要先设置好环境变量,并把DISPLAY的值设为空export DISPLAY=””)运行startx命令进入x-windows。
如果需要在远程终端使用虚拟x-windows进行安装,需要在客户端先安装x-win32软件,x-win32的安装过程我们就不多介绍了,安装完成后运行x-win32命令在你的任务栏会出现一个x的标致。使用neterm等终端攻击以用户登陆系统确认环境变量都已经生效并且DISPLAY变量的值为你终端机的IP地址,运行startkde命令启动x-windows,运行完毕后系统会出现一大堆的出错信息,忽略不管,过了几秒后在你的远程终端上会出现Linux的kde界面。
下载安装软件
网站()现在提供9i for Linux软件下载,在下载前请仔细阅读他的Licence,这样在今后的使用中才不会有版权问题。在下载前你需要一个otn的账户,申请是免费的,只要简单回答几个问题就可以,9i的安装程序共有三个文件包分别是:
Linux9i_Disk1.cpio.gz (412,092kb)
Linux9i_Disk2.cpio.gz (638,547kb)
Linux9i_Disk3.cpio.gz (82,956kb)
下载完这三个文件后,把这三个文件上传到服务器/目录下,并保证这三个文件的属主是用户。如果你有9i的安装CD那就可以省下大把下载时间了。
安装 9i 数据库
以用户登陆系统,启动本地x-windows或虚拟x-windows,打开一个控制台窗口,进入到刚才存放文件的目录下,分别使用
gunzip Linux9i_Disk1.cpio.gz
cpio -idmv
cpio -idmv
cpio -idmv
进入Disk1目录
cd Disk1
在控制台窗口敲入
./runInstaller &
运行后会出现一个OUI的图形界面,如下图所示:
中间绿色的窗口就是的安装图形界面了。
下面我们来进行9i最基本的安装,在进入安装界面后点Next进入下一步:
Source指的是包含产品信息的文件,一般情况下他会自动识别到,如果找不到可以用Browse按钮来手工指定路径。
Destination指的是9i将要安装的路径这里就是我们在环境变量里设的$_HOME,如果这一栏里是空白的则要重新检查环境变量中各值的设定是否有误。确认正确后按Next进行下一步:
这一步有三个安装选项供选择:
9i Database 9.0.1.0.0,安装9i的数据库服务器版本、管理工具、网络服务以及基本的客户端软件;
9i Client 9.0.1.0.0 ,企业版的客户端软件,网络服务以及开发工具等。
9i Mangement and Integration 9.0.1.0.0,安装Management Server,管理工具的网络目录、综合服务、网络服务以及基本的客户端软件。
我们选第一项安装9i数据库服务器,接着安Next按钮;
这一步是选择安装的类型,有三个类型供选择Enterprise Edition,企业版,Standstard Edition标致版,Custom自定义安装,我们选择企业版的安装,如果你对这一系列的产品比较熟悉的化可以选择Custom自定义安装,按自己的需求选择组件进行安装,确认后安Next进入到下一步;
这里可以选择一种适合你的数据库模版,一般我们选第一种通用的数据库模版,如果你需要使用数据仓库,则可以使用选择数据仓库的模版进行安装。确认后按Next进入下一步;
这一步是确认9i的SID和全局数据库的名字,SID的值我们在环境变量中已经设好了,所以这里就自动显示了,全局数据库名(Global Database Name)我们可以也指定成和SID的值相同,确认后按Next进入下一步;
前面我们提到了,数据库的字符类型在数据库超作中是很关键的,这一步就是设置数据库的字符集,前面我们设置的是NLS_LANG=american_america.ZHS16GBK,所以我们选择Simplifiled Chinese ZHS16GBK,按Next进入下一步;
因为我们在前面选择了Enterprise的版本进行安装,系统会安装 Web Server,安装 Web Server需要使用JDK,我们使用Browse按钮把前面安装JDK的目录指定好以便系统能在安装过程中找到需要的应用程序,确认按Next进入下一步;
进行完所有选择后,系统会给出一个安装概要,这里列举了你选择安装的组件,确认你要安装的东西都在列表内后,安Install钮进行安装,如果不需要安装其它的程序,则按Exit退出安装界面。
的安装速度视服务器的性能一般来说需要装30分钟的时间,在安装过程中可能会有对话框弹出,对话框内会有一些需要root运行的命令要求你执行,这时候另外开一个控制台窗口,su成root并运行提示框内的命令,运行完毕后按确定继续安装;
安装完数据库后系统会运行配置工具对系统进行网络和数据库的配置。配置完成后,系统会自动启动数据库,并开启 Web Server。所有配置完后,按Next完成安装。
如果一切正常,OUI会出现The Installation Of 9i Database Was successful.的字样,这表明你的9i数据库安装正常了,如果需要安装其它的内容按Next Install钮进行其它内容的安装,否则按Exit退出安装。
使用 9i 数据库
安装完毕后数据库会自动启动,下面我们用实际超作来说明一下 9i数据库的启动和关闭。
以用户登陆数据库,开个控制台窗口;
关闭 9i 数据库
[@wing /]$ sqlplus " / as sysdba" //以sysdba用户登陆数据库 SQL*Plus: Release 9.0.1.0.0 - Production on Wed Jul 11 15:35:31 2001 (c) Copyright 2001 Corporation. All rights reserved. Connected to: 9i Enterprise Edition Release 9.0.1.0.0 - Production With the Partitioning option JServer Release 9.0.1.0.0 - Production 运行shudown命令关闭数据库 SQL> shutdown Database closed. Database dismounted. instance shut down. SQL> 启动 9i 数据库 [@wing bin]$ sqlplus " / as sysdba" SQL*Plus: Release 9.0.1.0.0 - Production on Wed Jul 11 16:00:59 2001 (c) Copyright 2001 Corporation. All rights reserved. Connected to an idle instance. SQL> startup 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> |
启动 9i监听程序
的监听程序主要是为客户端的连接提供接口
[@wing bin]$ lsnrctl LSNRCTL for Linux: Version 9.0.1.0.0 - Production on 11-JUL-2001 16:12:17 Copyright (c) 1991, 2001, Corporation. All rights reserved. Welcome to LSNRCTL, type "help" for information. LSNRCTL> start Starting //product/9.0.1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 9.0.1.0.0 - Production System parameter file is //product/9.0.1/network/admin/listener.ora Log messages written to //product/9.0.1/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wing)(PORT=1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 9.0.1.0.0 - Production Start Date 11-JUL-2001 16:12:58 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security OFF SNMP OFF Listener Parameter File //product/9.0.1/network/admin/listener.ora Listener Log File //product/9.0.1/network/log/listener.log Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wing)(PORT=1521))) Services Summary... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... Service "" has 1 instance(s). Instance "", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully LSNRCTL> |
关闭 9i监听程序
[@wing bin]$ lsnrctl LSNRCTL for Linux: Version 9.0.1.0.0 - Production on 11-JUL-2001 16:12:17 Copyright (c) 1991, 2001, Corporation. All rights reserved. Welcome to LSNRCTL, type "help" for information. LSNRCTL> stop Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))) The command completed successfully LSNRCTL> |
关闭 Web Server
cd $_HOME/Apache/Apache/bin ./stopJServ.sh //product/9.0.1/Apache/Apache/bin/apachectl stop: httpd stopped |
启动 Web Server
cd $_HOME/Apache/Apache/bin [@wing bin]$ ./startJServ.sh //product/9.0.1/Apache/Apache/bin/apachectl start: httpd started |
启动 Web Server后默认的端口号是7777
在客户端浏览器地址栏输入
如果浏览器出现以下界面则表示 Web Server运行正常
转自