随着Oracle数据库及Linux的应用越来越广泛,在Linux下安装与使用Oracle成为其应用的第一步。本文介绍如何在Red Hat Linux 8.0下进行Oracle的安装及应用。
基本配置
硬件环境
本文的Oracle安装基本配置为:硬盘空间40GB、内存256MB。
软件环境
安装前需要准备的软件包如下:
◆ Linux 操作系统 Red Hat Linux 8.0;
◆ 数据库软件Oracle 8i linux81701.tar;
◆ JDK j2sdk-1_4_1_01-linux-i586-rpm.bin;
◆ GCC i386-glibc-2.1-linux.tar.gz;
◆ 补丁包 glibc-2.1.3-stubs.tar.gz;
◆ Binutils包 binutils-2.10.0.18-1rh52.i386.rpm
企业级用户最好使用Red Hat Linux Advanced Server2.1+Oracle 9iR2。这样无需安装GCC、JDK、Binutils及补丁包glibc-2.1.3-stubs.tar.gz等,安装将更为简单、方便,数据库服务器也更为稳定。
环境安装与配置
首先要进行操作系统的安装。需要优化系统分区(40 GB),整理如下:
|
/boot 40 MB /linux swap partion 2048MB /var 2048MB (ext2) /tmp 2048MB (ext2) / 剩下部分 (ext2)
|
然后,要进行系统安装。可以用自定义的方式安装。注意,安装系统时保证有图形化界面。如果不希望有图形化界面,请保证至少有一台客户端安装有图形化界面。这样就可以进行Oracle的远程安装。
接下来,要对系统进行优化。这属于Oracle数据库优化的一个重要部分。在此暂不介绍。
下一步,要在系统中安装JDK,代码如下:
|
# sh j2sdk-1_4_1_01-linux-i586-rpm.bin # rpm j2sdk-1_4_1_01-linux-i586-rpm # cd /usr/local # ln -s /usr/j2sdk1.4.1 java
|
接下来安装glibc2.1包。Oracle 8i安装时需要glibc2.1。由于Red Hat Linux 8.0的glibc版本高于2.1版本,所以必须对glibc进行降级。否则在安装时会出现错误,导致安装失败。以root账号登录,执行以下命令:
|
# tar zxvf /backup/i386-glibc-2.1-linux.tar.gz # mv usr/i386-glibc-2.1-linux /usr/i386-glibc-2.1-linux
|
隐藏/usr/bin目录下的gcc、cc、ld,避免被Oracle installer使用,代码如下:
|
# cd /usr/bin # mkdir mysaved # mv gcc cc ld mysaved # ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-gcc gcc # ln -s gcc cc # ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld ld
|
隐藏/usr/lib目录下的libc.so、libdl.so、libm.so和libpthread.so文件,避免被Oracle installer使用,代码如下:
|
# cd /usr/lib # mkdir mysaved # mv libc.so libdl.so libm.so libpthread.so mysaved # mv libc.a libdl.a libm.a libpthread.a mysaved
|
下一步,安装Binutils。Red Hat Linux 8.0的Binutils包的版本较高,在安装Oracle 8i时会导致编译错误。这里将Binutils降级,在安装时带上参数force(强制安装)、nodeps(取消依赖性)。卸载系统的binutils包,代码如下:
|
# rpm -e -- force -nodeps binutils-2.13.90.0.2-2.i386.rpm
|
安装binutils-2.10.0.18-1rh52.i386.rpm包,代码如下:
|
# rpm -ivh --force --nodeps binutils-2.10.0.18-1rh52.i386.rpm
|
准备Oracle安装环境
创建Oracle用户及组,代码如下:
|
# groupadd dba //创建Oracle管理用户组 # groupadd oinstall //创建Oracle安装用户组 # useradd -g oinstall -G dba Oracle //将Oracle用户归为oinstall及dba用户组。 # passwd Oracle //设置密码
|
创建Oracle安装目录并授权,代码如下:
|
# mkdir /opt/Oracle # chown -R Oracle.oinstall /opt/Oracle # chmod 750 /opt/Oracle
|
解压缩Oracle安装包。以root账号登录,执行下列代码:
|
# cd /software # tar zxvf Oracle817.tar.gz
|
解压缩后,在“/software”目录下生成“Disk1”目录,内含解包后的文件。
接下来,在安装前需要设置Oracle安装环境。使用Oracle账号登录,开启终端窗口,用文本编辑器编辑设置“/home/Oracle/.bash_profile”文件。下面是设置后的.bash_profile文件:
|
# Oracle Environment # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs # +---------------- SETUP Oracle ENVIRONMENT-----------------+#
export DISPLAY=localhost:0.0 //这里将localhost改为远程机器IP就可以远程输出安装 export LD_ASSUME_KERNEL=2.2.5 export Oracle_BASE=/opt/Oracle export Oracle_HOME=/opt/Oracle/product/8.1.7 export Oracle_SID=ora8i #数据库标识名 export Oracle_TERM=xterm export Oracle_OWNER=Oracle export NLS_LANG= AMERICAN_AMERICA. US7ASCII; export ORA_NLS33=$Oracle_HOME/ocommon/nls/admin/data export LD_LIBRARY_PATH=$Oracle_HOME/lib:/lib:/usr/lib:/usr/local/lib export PATH=$PATH:$Oracle_HOME/bin CLASSPATH=$Oracle_HOME/JRE:$Oracle_HOME/jlib: $Oracle_HOME/rdbms/jlib export CLASSPATH=$CLASSPATH: $Oracle_HOME/network/jlib export TNS_ADMIN=$Oracle_HOME/network/admin
# +-------------------------- SETUP JAVA ENVIRONMENT --------------------------+# export JAVA_HOME=/usr/local/java umask 022 # +----------------------- FINISH OFF THE SCRIPT-----------------------+#
|
保存后,退出登录系统。然后重新以Oracle账号登录,键入“env”指令查看刚才设置的环境变量。
安装配置Oracle
用Oracle账号登录,进入X-window,开启终端窗口。下面是具体的安装步骤。
1.进入安装目录并运行安装程序,代码如下:
|
# cd /software/Disk1 # . /runInstaller
|
2.在接下来出现的基于Java的Oracle installer界面上,点击“Next”按钮。
3.File Locations界面中,检查安装目录(Destination Path)是否为为“/opt/Oracle/product/8.1.7”,确认后点击“Next”。
4.在要求输入Unix Group Name的界面,键入“oinstall”,点击“Next”。
5.在上一步完成后,Oracle安装程序会弹出一个窗口,要求以root身份运行“/opt/Oracle/product/8.1.7/orainstRoot.sh”。此时,新建一个终端窗口,用root用户身份运行此脚本,代码如下:
|
# cd /opt/Oracle/product/8.1.7 #./orainstRoot.sh
|
执行完脚本后,返回弹出的窗口,点击“Retry”,即可进入后续安装。
6.在出现的“Available products”窗口上选择“Oracle8I enterprise edition8.1.7.0.0”,并点击“Next”。
7.在接下来的画面中选择“Typical”,点击“Next”。
8.提示输入“global database name”时,填写“ora8I”,验证Oracle_SID为ora8i,点击“Next”。
9.系统提示输入数据文件存放位置(db files localtion),输入“/opt/Oracle/”,点击“Next”。
10.在最后的Summary窗口上,点击“Install”。
11.在文件被拷贝和链接后,弹出一个窗口,要求以root运行root.sh脚本。此时,切换到前面新建的终端窗口,以root用户运行“/opt/Oracle/product/8.1.7/root.sh”脚本。使用“./root.sh”命令运行此脚本时,在询问“local bin directory”时,按下Enter键(采用默认路径)。执行后,返回弹出的窗口,点击“OK”即可。
12.这一步最为关键。安装程序会询问是否执行“Net8典型配置”。
此时,以Oracle用户将“glibc-2.1.3-stubs.tar.gz”解压到“/opt/Oracle/product/8.1.7/”目录下,代码如下:
|
# cd /opt/Oracle/product/8.1.7/ # tar zxvf /backup/glibc-2.1.3-stubs.tar.gz #./ setup_stubs.sh
|
这个过程主要是对Oracle中相关文件进行重新链接编译,大概需要5分钟左右。成功执行后,返回安装窗口,选中典型配置复选框,点击“Next”。
13.安装程序安装配置Net8、Database、Intelligent Agent及HTTP。在安装Oracle数据库时,安装程序会自动启动Oracle Database Configuration Assistants,进入创建数据库过程。
14.上一步各项安装完成后,点击“Next”,进入安装完成(End of Installation)画面。此时,可以点击“Exit”退出安装。
到此,Oralce 8i Enterprise就安装好了。下面可以使用Oracle数据库管理工具svrmgrl、sql*plus来对安装好的数据库进行测试。
连接测试
用svrmgrl来测试安装是否成功。代码如下:
|
# svrmgrl # SVRMGR>connect internal # SVRMGR> shutdown Database closed. Database dismounted. Oracle instance shut down. # SVRMGR>startup Oracle instance started. Total System Global Area 72012784 bytes Fixed Size 69616 bytes Variable Size 38993920 bytes Database Buffers 32777216 bytes Redo Buffers 172032 bytes Database mounted. Database opened. # SVRMGR> quit Server Manager complete.
|
检查监听程序,代码如下:
|
# tnsping ora8i Attemping to contact (ADDRESS=(PROTOCOL=TCP)(HOST=redsah)(PORT=1521)) OK (40 msec);
|
上面显示安装是成功的。
接下来需要还原系统的binutils及glibc。卸载前面安装的binutils包,代码如下:
|
# rpm -e -- force -nodeps binutils-2.10.0.18-1
|
还原系统的binutils包,代码如下:
|
# rpm -ivh binutils-2.13.90.0.2-2.i386.rpm
|
还原系统的glibc,代码如下:
|
# cd /usr/bin # rm -f gcc cc ld # mv mysaved/* . # rmdir mysaved # cd /usr/lib # mv mysaved/* . # rmdir mysaved
|
下一步自动启动设置。先修改“/etc/oratab”,将“ora8i:/opt/Oracle/product/8.1.7:N”修改为 “ora8i:/opt/Oracle/product/8.1.7:Y”。然后修改“/etc/rc.local”添加如下:
|
echo "512 32000 100 128" > proc/sys/kernel/sem #start Oracle8i su - Oracle -c 'lsnrctl start' su - Oracle -c 'dbstart' su - Oracle -c 'agentctl start'
|
下面要自定义启动脚本(以Root用户进行操作)。建立脚本“/opt/Oracle/Oracle”,代码如下:
|
# cp /opt/Oracle/Oracle /etc/rc.d/init.d/Oracle # chown root.root /etc/rc.d/init.d/Oracle # chmod 700 /etc/rc.d/init.d/Oracle # cd /etc/rc.d/init.d/ # chkconfig --add Oracle # chkconfig --list Oracle
|
为了数据安全起见,安装Oracle后,建议更改数据库默认用户密码。
有过Oracle安装经验的读者都知道,安装一次Oracle都要耗用一定的时间。为了方便起见,可以在安装Oracle后,将Oracle安装目录及相关文件备份或刻录到光盘上。在系统或数据库遭到灾难时,可以很快从备份恢复。以本文为例,与Oracle相关的主要有:“/home/Oracle/.bash_profile”、“/etc/oratab”、“/etc/oraInst.loc”、“/opt/Oracle”。
简单应用
安装Oracle后,可以用其提供的命令来进行相关管理与操作。下面介绍几个常用的命令。
1.数据库的启动与关闭
启动数据库:dbstart
关闭数据库:dbshut
2.数据库监听的启动与关闭
启动监听:lsnrctl start
关闭监听:lsnrctl stop
3.数据库的创建与删除:dbassist
4.监听配置:netassist、netca
5.管理界面:oemapp dbastudio
6.连接管理cmctl
启动连接管理:cmctl start
关闭连接管理:cmctl stop
7.数据导入与导出
数据导入:imp
数据导出:exp