| 目录1. 概述 1
 2. 安装过程 2
 2.1. 安装前环境准备 2
 2.1.1. linux安装 2
 2.1.2. X终端配置(root) 2
 2.1.3. 兼容包安装检查(root) 3
 2.1.4. 安装binutils-2.10.91.0.2-3(root) 3
 2.1.5. 安装Jdk1.1.8_v3(root) 4
 2.1.6. 安装glibc2.1 (root) 4
 2.1.7. 隐藏系统文件(root) 4
 2.1.8. 修改系统内核参数(root) 5
 2.2. 配置oracle用户环境变量 5
 2.2.1. 创建oracle用户(root) 5
 2.2.2. 创建链接(root) 5
 2.2.3. 修改oracle登录脚本(oracle) 5
 2.3. 安装oracle817 7
 2.3.1. 准备安装文件(oracle) 7
 2.3.2. 安装目录(root) 8
 2.3.3. 安装server(oracle) 8
 2.3.4. 安装client(oracle) 9
 2.4. 恢复系统 9
 2.4.1. 恢复系统文件(root) 9
 2.4.2. 恢复binutil包(root) 10
 2.5. 建库 10
 2.5.1. 检查配置文件(oracle) 10
 2.5.2. 执行建库脚本(oracle) 11
 2.5.3. 执行建表脚本(oracle)* 11
 2.5.4. 启动数据库和listener(oracle) 12
 2.5.5. 插入基础数据(oracle) 12
 2.5.6. 编辑自启动脚本 12
 1. 概述本文档适用于oracle817在redhat 7.2/9.0/ADS2.1for ia32平台版本linux平台的安装,请严格按照以下过程进行。
 正文格式部分为推荐安装过程。经过测试无误。
 斜体部分为相关文档建议,但未经证实,暂不推荐。
 7.2和9.0安装过程稍有不同,以下将详细说明。
 Ads2.1和9.0安装过程基本相同。
 RH8.0的安装过程应该也与7.2类似。
 注意事项:1. 安装DBD需要$ORACLE_HOME/rdbms/demo和$ORACLE_HOME/rdbms/public下的一些头文件,如果只安装client端,可能会报错,可以从安装了server的服务器复制上述文件*.h
 2. 如果安装oracle9(64位),需要修改DBD的Makefile,将oracle/lib替换为oracle/lib32,rdbms/lib替换为rdbms/lib32。同事修改.profile中的LD_LIBRARY_PATH
 3. 前期准备:
 linux81701.tar
 glibc-2.1.3-stubs.tar.gz
 i386-glibc-2.1-linux.tar.gz
 binutils-2.10.91.0.2-3.i386.rpm
 jdk118_v3-glibc-2.1.3.tar.bz2
 因为 Oracle 自带了 JRE 1.1.8,所以不用单独安装
 2. 安装过程2.1. 安装前环境准备
 2.1.1. linux安装
 安装选项:
 语言:en
 安装类型:自定义
 分区:自定义
 安装包:完全
 用户:oracle组dba HOME目录/home/oracle
 防火墙设置:允许ssh,www, 允许X终端,信任eth0
 也可以开放telnet/ftp
 安装后检查:
 能够通过ssh访问
 能够通过sftp访问
 2.1.2. X终端配置(root)
 以root登录,配置xdm
 cd /etc/X11/xdm
 修改Xaccess,在最后一行添加10.0.0.*(客户机子网地址)
 修改xdm-config,去掉最后一行前面的注释
 启动xdm
 配置后检查:能够从远程用Xmanager/Xwin等工具访问。
 异常情况:X终端无法访问:检查防火墙设置
 2.1.3. 兼容包安装检查(root)
 #rpm –qa com*
 对于RH7.2,确认安装以下的包(7个):
 compat-egcs-c++-6.2-1.1.2.16
 compat-libstdc++-6.2-2.9.0.16
 compat-egcs-objc-6.2-1.1.2.16
 compat-egcs-6.2-1.1.2.16
 compat-libs-6.2-3
 compat-glibc-6.2-2.1.3.2
 compat-egcs-g77-6.2-1.1.2.16
 对于RH9.0,确认安装一下的包(15)
 compat-db-3.3.11-4
 compat-libgcj-7.3-2.96.118
 compat-pwdb-0.62-3
 compat-libgcj-devel-7.3-2.96.118
 compat-gcc-g77-7.3-2.96.118
 compat-slang-1.4.5-5
 compat-libstdc++-7.3-2.96.118
 compat-libstdc++-devel-7.3-2.96.118
 compat-gcc-java-7.3-2.96.118
 comps-9-0.20030313
 compat-gcc-7.3-2.96.118
 compat-gcc-objc-7.3-2.96.118
 compat-gcc-c++-7.3-2.96.118
 如果是完全安装,则应该满足此步骤、
 如果非完全安装,安装文件:安装包/oracle/rh72(rh9)下
 上传到任意目录(建议/home/oracle/patch/rh72)
 可以通过以下命令安装
 rpm –ihv -–force compat*
 安装完毕后,cd ..退到上级目录,再检查是否安装成功。
 2.1.4. 安装binutils-2.10.91.0.2-3(root)
 说明:
 这是工具包,它和的ld相关。但版本是redhat7.1的。原因是oracle817只认redhat7.1版本。
 先#rpm –qa binutil*
 检查并记录当前版本号,以后恢复
 安装方法: 安装文件:安装包/oracle/ binutils-2.10.91.0.2-3.i386.rpm
 上传到/home/oracle/patch
 # rpm -Uvh --force --nodeps binutils-2.10.91.0.2-3.i386.rpm
 
 
 2.1.5. 安装Jdk1.1.8_v3(root)
 安装文件:安装包/oracle/ bunzip2 jdk118_v3-glibc-2.1.3.tar.bz2
 上传到/home/oracle/patch目录
 bunzip2 jdk118_v3-glibc-2.1.3.tar.bz2
 cp jdk118_v3-glibc-2.1.3.tar /usr/local
 cd /usr/local
 tar -xvf jdk118_v3-glibc-2.1.3.tar
 ln -s jdk118_v3 java
 2.1.6. 安装glibc2.1 (root)
 把i386.glibc-2.1-linux.tar.gz拷贝到根目录
 使用root用户
 tar zxvf i386.glibc-2.1-linux.tar.gz
 2.1.7. 隐藏系统文件(root)
 说明:
 此步操作仅对RH9.0为必须。
 RH7.2安装不用。
 区别:
 检查 /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh文件是否存在
 RH9没有/usr/i386-glibc21-linux目录
 #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
 #cd /usr/lib #mkdir saved
 #mv libc.so libdl.so libm.so libpthread.so saved
 #mv libc.a libdl.a libm.a libpthread.a saved
 2.1.8. 修改系统内核参数(root)
 说明:如果仅安装oracle客户端,此步骤可免。
 #cd /proc/sys/kernel
 # echo 268435456 > /proc/sys/kernel/shmmax
 # echo -e "250 32000 100 128" > /proc/sys/kernel/sem
 2.2. 配置oracle用户环境变量
 2.2.1. 创建oracle用户(root)
 如果安装linux时选择了创建oracle用户,则此步骤可免
 groupadd dba useradd –g oracle –d /home/oracle –m oracle -G dba
 passwd oracle
 并输入oracle用户的密码
 2.2.2. 创建链接(root)
 ln -s /usr/bin /usr/ucb
 ln -s /bin/sh /usr/bin/sh
 ln -s /bin/mkdir /usr/bin/mkdir
 2.2.3. 修改oracle登录脚本(oracle)修改/home/oracle/.bash_profile
 可以参考安装目录下的相应文件
 对于RH7.2
 添加:
 export LD_ASSUME_KERNEL=2.2.5
 source /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
 export ORACLE_BASE=$HOME
 export ORACLE_HOME=$HOME
 export ORACLE_SID=dbnms
 export PATH=$PATH:$HOME/bin:.
 修改完毕重新登录,$gcc –v
 执行gcc –v,观察其输出,应是:
 Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
 gcc version 2.96 20000731(Red Hat Linux7.3.2.96.110)
 对于RH9.0# .bash_profile
 # Get the aliases and functions if [ -f ~/.bashrc ]; then
 . ~/.bashrc
 fi
 # User specific environment and startup programs  PATH=$PATH:$HOME/bin  export PATH unset USERNAME
 # +------------------------------------------------------------+
 # | FILE : .bash_profile |
 # +------------------------------------------------------------+
 umask 022 EDITOR=vi; export EDITOR
 TERM=xterm; export TERM
 TMPDIR=/tmp; export TMPDIR
 # +--------------------------+ # | SETUP ORACLE ENVIRONMENT |
 # +--------------------------+
 export ORACLE_SID=dbnmsexport ORACLE_BASE=/oracle
 export ORACLE_HOME=$ORACLE_BASE
 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib export TNS_ADMIN=$ORACLE_HOME/network/admin
 export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
 export ORACLE_OWNER=oracle export ORACLE_TERM=xterm
 #export LDEMULATION=elf_i386_glibc21 export GCC_EXEC_PREFIX=/usr/i386-glibc21-linux/lib/gcc-lib/
 # +--------------------------+
 # | LINUX STUFF |
 # +--------------------------+
 export LD_ASSUME_KERNEL=2.4 #source /usr/i386-glibc2.1-linux/bin/i386-glibc21-linux-env.sh
 # +--------------------------+ # | SETUP SEARCH PATH |
 # +--------------------------+
 PATH=$PATH:$ORACLE_HOME/bin:/opt/bin:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/java/bin:. export PATH
 # +--------------------------+
 # | SETUP JAVA ENVIRONMENT |
 # +--------------------------+
 export JAVA_HOME=/usr/local/java  export CLASSPATH=$ORACLE_HOME /jdbc/lib/classes12.zip: $ORACLE_HOME/JRE: $ORACLE_HOME /jlib: $ORACLE_HOME /rdbms/jlib: $ORACLE_HOME /network/jlib:.  # +-------------+ # | "GREETINGS" |
 # +-------------+
 echo ".bash_profile executed"
 2.3. 安装oracle8172.3.1. 准备安装文件(oracle)
 安装文件: linux81701.tar.gz
 上传到/home/oracle目录,并解压缩,生成目录disk1
 2.3.2. 安装目录(root)
 以root身份创建oracle安装目录,建议不要更改,否则需要修改相应脚本。
 #cd /
 #mkdir oracle
 #mkdir oradata1
 #mkdir oradata2
 #chown oracle:dba ora*
 2.3.3. 安装server(oracle)
 可以选择从本机图形界面直接安装
 也可以选择远程通过X终端进行安装
 $cd /home/oracle/Disk1./runInstaller启动图形安装界面
 安装选项:
 oracle安装目录/oracle
 安装语言:增加简体中文
 安装server时选择custom,不要建库
 解决中间出错:在安装到最后Linking Oracle8i Enterprise Edition 8.1.7.0.1 , 97%时,会有一错误提示,
 Error in invoking target install of makefile /u01/app/oracle/product/8.1.7/ctx/lib/ins_ctx.mk
 则需要在另一终端窗口下运行glibc修补文件glibc-2_1_3-stubs_tar.gz, 在另一终端下登录作为oracle,然后  cd /u01/app/oracle/product/8.1.7 tar xvfz /usr/src/glibc-2_1_3-stubs_tar.gz
 ./setup_stubs.sh
 等待结束后。
 还没有完,然后再做下面的
 cd /u01/app/oracle/product/8.1.7/ctx/lib
 vi env_ctx.mk
 更改1374行 (vi 文件,然后打入1374 G 直接跳到该行 )
 CTXHX_LINKLINE=$(LINK) $(CTXLIB)ctxhx.$(OBJ_EXT) $(INSO_LINK) $(USRLIBS)
 在最后加上 -ldl 变成
 CTXHX_LINKLINE=$(LINK) $(CTXLIB)ctxhx.$(OBJ_EXT) $(INSO_LINK) $(USRLIBS) -ldl
 再回到安装界面击retry.
 安装过程中需要运行root.sh先不要急着运行root.sh,因为文件的第102行和156行有错误,
 把 RMF=/bin/rm -f 改为 RMF="/bin/rm -f"
 RUID=`/usr/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}`改为
 RUID=`/usr/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}'`
 保存后运行
 ./root.sh
 配置完net8和lisener后结束
 异常情况:runInstaller图形界面无法正常启动:
 检查x是否正常
 检查java环境变量
 前述工作是否没有完成?
 2.3.4. 安装client(oracle)可以选择从本机图形界面直接安装
 也可以选择远程通过X终端进行安装
 $cd /home/oracle/Disk1./runInstaller启动图形安装界面
 安装选项:
 oracle安装目录/oracle
 选择安装client,典型安装。
 2.4. 恢复系统2.4.1. 恢复系统文件(root)
 此步骤仅对RH9.0有效
 cd /usr/bin
 rm -f gcc cc ld
 mv ./saved/* .
 rmdir saved
 cd /usr/lib
 mv ./saved/* .
 rmdir daved
 2.4.2. 恢复binutil包(root)
 对于RH7.2
 安装文件:安装包/oracle/RH72/ binutils-2.11.90.0.8-9.i386.rpm
 上传到/home/oracle/patch/rh72
 #cd /home/oracle/patch/rh72
 # rpm -e --nodeps binutils-2.10.91.0.2-3
 #rpm –ihv –-force –-nodeps binutils-2.11.90.0.8-9.i386.rpm
 恢复后检查gcc –v和ld –v
 对于RH9安装文件:安装包/oracle/RH9/binutils-2.13.90.0.18-9.i386.rpm
 上传到/home/oracle/patch/rh72
 #cd /home/oracle/patch/rh72
 # rpm -e --nodeps binutils-2.10.91.0.2-3
 #rpm –ihv –-force -–nodeps binutils-2.13.90.0.18-9.i386.rpm
 恢复后检查gcc –v和ld -v
 对于Rhads21安装文件:安装包/oracle/Rhas21/binutils-2.11.90.0.8-12.i386.rpm
 上传到/home/oracle/patch/rhas21
 #cd /home/oracle/patch/rh72
 # rpm -e --nodeps binutils-2.10.91.0.2-3
 #rpm –ihv –-force –-nodeps binutils-2.11.90.0.8-12.i386.rpm
 恢复后检查gcc –v和ld -v
 2.5. 建库
 2.5.1. 检查配置文件(oracle)
 安装文件:安装包/数据库建库脚本/database/*.ora
 根据实际安装的服务器内存配置,可以对initdbnms.ora文件参数进行适当修改。
 以1G内存为例
 l57:db_block_buffers = 20000
 l59:shared_pool_size = 200M
 以2G内存为例
 l57:db_block_buffers = 50000
 l59:shared_pool_size = 400M
 根据实际的服务器名称,修改listener.oraL11,L19:将dbsvr修改为实际的数据库服务器主机名或ip地址
 根据实际的服务器名称,修改tnsnames.oraL7:将dbsvr修改为实际的数据库服务器主机名或ip地址
 2.5.2. 执行建库脚本(oracle)
 安装文件:安装包/数据库建库脚本/database
 上传到/home/oracle/crdb
 oracle登录
 $cd /home/oracle/crdb/database
 $chmod +x *sh
 确认sqlplus、svrmgrl命令可以运行
 请确认/oradata1 /oradata2目录已存在且属主为oracle
 $./dbcrt.sh 创建目录,复制配置文件如果有个别步骤失败,请手工逐一运行。
 $./dbcrt1.sh 调用svrmgrl创建数据库文件
 $./dbcrt2.sh 调用svrmgrl创建数据库表空间
 $./dbcrt3.sh
 
 安装后检查:
 可以通过sqlplus system/manager访问数据库。
 Select * from tab;
 26rows
 异常情况:1. dbcrt.sh中cp oratab /etc失败:可能是权限问题,oracle应在root组(root.sh)。
 2.5.3. 执行建表脚本(oracle)*
 更新建表脚本
 打开最新的PDM文件,选择generate database
 选项:
 drop table/view/index/pk/fk
 选择所有表、视图、sequence、type导出
 注意:
 对于PD8.5,需要在sequence/type/view前加上前缀
 对于PD9,需要去掉sequence/type名字上的括号
 注意检查拓扑表的T_Device表的nodecode字段是否有错
 安装文件:安装包/数据库建库脚本/nms上传到/home/oracle/crdb
 oracle登录
 $cd /home/oracle/crdb/nms
 $chmod +x *sh
 $./cre_nms.sh
 
 安装后检查:
 通过sqlplus slview/slview可以登录数据库
 通过PLSQL Developer或DBAStudio检查slview和sldata用户的存储过程是否创建正常。
 如果不正常,可以通过重新执行相应的sql语句来重建。
 如果仍然失败,检查相应的sequence/type/view是否正常创建。
 检查/oracle/admin/dbnms/create/cre*.log检查安装是否正常结束
 如果有异常,建议手工运行各sql语句
 
 如果系统安装完毕无法增加设备,多半是此处脚本运行有问题。
 2.5.4. 启动数据库和listener(oracle)
 检查/oracle/network/admin下的l*ora和t*.ora的配置,修改ip地址
 $lsnrctl
 >start
 启动监听进程
 2.5.5. 插入基础数据(oracle)建议通过远程sqlplus/PB连接数据库执行
 直接在linux环境执行有乱码问题(可能是环境变量的问题)
 @basedata.sql
 2.5.6. 编辑自启动脚本
 root# vi /etc/oratab
 将最后的N改为Y
 简单的服务启动脚本:
 root#vi /etc/rc.local
 添加以下内容:
 su - oracle -c ‘lsnrctl start’
 su - oracle -c ‘dbstart’
 附录:解决oracle的字符集问题
 SQL> SHUTDOWN IMMEDIATE; -- or NORMAL
 SQL> STARTUP MOUNT;SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
 SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
 SQL> ALTER DATABASE OPEN;
 SQL> ALTER DATABASE CHARACTER SET ;
 SQL> SHUTDOWN IMMEDIATE; -- or NORMAL
 SQL> STARTUP;
 
 |