数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Redhat7.2(7.1)下oracle8.17的安装手册

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

Redhat7.2(7.1)下oracle8.17的安装手册
 
一. 软件配置过程
1. 安装glibc 2.1包
glibc2.1版本(GNU C Library,18M)下载地址:
ftp://ftp.kernel.org/pub/software/libs/glibc/hjl/sdk/2.1/i386-glibc-2.1-linux.tar.gz
下载后都放到了/backup目录
从RedHat7.0以后的版本,安装的是glibc2.2。Oracle 8I不能使用glibc 2.2进行编译,而需要glibc2.1的SDK。
#su - root
#cd /
#tar zxvf /backup/i386-glibc-2.1-linux.tar.gz
隐藏/usr/bin 目录下的gcc,cc,ld,避免被Oracle installer使用
#cd /usr/bin
#mkdir saved
#mv gcc cc ld saved
#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 ../lib
#mkdir saved
#mv libc.so libdl.so libm.so libpthread.so saved
#mv libc.a libdl.a libm.a libpthread.a saved
不要忘了安装完成后把文件恢复回来。(不恢复也可以)。

2. 创建用户和组
 以root用户进入系统
 #groupadd sysdba
#groupadd sysoper
#groupadd oinstall
#useradd oracle –d /usr/oracle –g oinstall –G sysdba,sysoper
#passwd oracle
输入oracle用户口令,输入二次。
#chmod 755 /usr/oracle
#cd /usr
#mkdir oraInventory
#chown oracle.oinstall oraInventory
 
3. 配置环境变量
以oracle用户进入系统
 编辑注册文件:
vi .bash_profile
在该文件最后添加:
DISPLAY=local:0.0
export DISPLAY
ORACLE_BASE=/usr/oraInventory
export ORACLE_BASE
ORACLE_HOME=/usr/oracle
export ORACLE_HOME
ORACLE_SID=testdb
注意:ORACLE_SID在每个工程点都使用当地的地名,再加上序号。例如,上面就是为杭州建立第一个系统使用的SID:hangzhou1。
export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
export PATH
 export LD_ASSUME_KERNEL=2.2.5
 注意:只要小于2.4即可
编辑好文件后存储,退出系统。
4. 拷贝介质:
以oracle用户进入系统,将包含Oracle V8.17的光盘放到光驱中,键入命令:
$mount /mnt/cdrom
$cp /mnt/cdrom/oracle.tar ./
注意:这里假定Oracle V8.17的文件名是oracle.tar
$tar xvf ./oracle.tar

5. 安装数据库
在XWindows以oracle用户进入系统,如果Xwindows没有启动,输入命令:$startx以启动Xwindows.
在Xwindows中开出一个终端,输入命令:
$cd Disk1
$./runInstaller
进入安装程序。
 
二、安装过程

1、runInstaller启动安装界面
有的时候runInstaller,安装界面不出来,这主要还是因为Oracle的字符集设为了简体中文,但OS是英文的,所以有时候出不来,用Java写的程序经常出现字符集的问题。此时临时销毁$NLS_LANG变量,Java会用默认的字符集,就好了。所以:

unset $NLS_LANG

也可以试试

unset $LANG
× 其实dbassist也是有时候出不来的,这样做就可以出来了,但是netasst始终出不了,不清楚为什么,不过可以自己修改lisener.ora和tnsnames.ora,所以netasst也不是必须的。

另一个可能的原因就是glibc没有替换好,我发现直到JDK1.3.1_01,才支持glibc2.2,之前的版本,包括JDK1.3.0都不支持glibc2.2,只要在glibc2.2下运行,就会出现没有任何反应,进程好像死亡了一样的毛病,Oracle安装程序用的还是JRE1.1.8,所以只要glibc用的还是2.2版的,安装窗口总不会出来的。
 
2、下面一路点击下一步,
在Unix Group Name: oinstall
提示在root用户下运行/usr/oracle/orainstRoot.sh,使用ALT-F1(或F2,F3等)进入其他终端,以root用户登入系统,运行该文件。然后使用ALT-F7返回安装界面。
在Available Products: 选择Oracle 8i Enterpise Edition 8.1.7.0.1

3. 到填写安装oracle软件的属组的时候,
Database Administaor Group: 填写sysdba
Database Operator Group: 填写sysoper
在Database Identification:
Global Database Name: TestDB就好了
SID:testdb,
在Database File Locations文件位置处:目的地址:/usr/oracle
开始拷贝文件。
然后提示用root运行/usr/oracle/root.sh,以root登录运行。

4、还是选择安装组件的列表这个界面,有个选择语言的按钮,增加“简体中文”

5、询问是否创建数据库,“是”,添上安装数据库的SID。数据库数据文件的存放目录,是“/usr/oracle“。

6、开始安装Oracle,安装程序拷贝文件。
有很多人说,拷贝文件完后,联接系统库函数的时候,出现make错误,我想这多半还是替换glibc不成功导致的吧,我安装的时候确实没有出现过这样的问题。我想按照我写的步骤来,应该不会出现这样的问题的。

7、自动启动netasst,配置监听器,一般如果为了省事,选典型配置就可以了,只不过典型配置打开了一个2481端口,是JServer用的,如果不用JServer的话,也可以不要它,现在可以不用管它,回头再改listener.ora好了。

8、自动启动dbassist,安装数据库,按照提示做就是了,根据自己的情况可以适当的调整安装数据库时的参数,最后开始创建数据库,此时也可以选择先保存创建的脚本,再退出dbassist,单独运行创建脚本,这样更灵活一些,可以自己改创建脚本,也可以自己研究一下脚本,会有收获的。

三、安装后配置

1、以root登录,修改/etc/oratab,将最后的:
orcl:/u01/app/oracle/product/8.1.7:N
改为:
orcl:/u01/app/oracle/product/8.1.7:Y
这样就可以用dbstart和dbshut来启动和关闭数据库了,不用自己写脚本调svrmgrl。

2、将数据库启动命令和修改内核命令放在系统启动脚本中(这一不可以不做)

修改/etc/rc.d/rc.local,加入:

#modify kernel parameter
echo 134217728 > /proc/sys/kernel/shmmax
echo -e "250 32000 100 128" > /proc/sys/kernel/sem

#start Oracle8.1.7
su - oracle -c 'lsnrctl start'
su - oracle -c 'dbstart'

我比较懒,没有另外写脚本联接进rc3.d,rc0.d.rc5.d,rc6.d了,而是直接放在rc.local中了,呵呵
注意的是修改内核参数必须在启动数据库实例之前,启动数据库后,用ipcs 命令看看共享内存的使用情况,如果没有分段就行了。

另外一个特别要说明的事情是一定要注意,凡是读写数据库的进程,必须取得oracle的环境变量,否则无法联接数据库。
上面的脚本中su - 中的这个"-"非常讲究,它的意思是切换到oracle用户,并取得oracle的环境变量。
再例如,如果还要启动apache来读写数据库的话,rc.local加入的命令就一定要这样写:
#start apache httpd server
. /etc/profile
/usr/local/apache/bin/apachectl start

因为我把oracle的环境变量放在/etc/profile里了,在启动apache之前要先强制它读/etc/profile,取得oracle的环境变量,这样apache的ServerAPI程序就可以读写数据库了。

3、修改Net8配置,可以用netca,或者自己修改$ORACLE_HOME/network/admin下的listener.ora和tnsnames.ora,netasst好像出不来。

4、如果创建第二个实例,用dbassist就好了,如果dbassist出不来的话,临时销毁$LANG,$NLS_LANG
unset $NLS_LANG
unset $LANG
就可以出来了。




相关文章

相关软件