目录 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=dbnms export 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. 安装oracle817 2.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.ora L11,L19:将dbsvr修改为实际的数据库服务器主机名或ip地址
根据实际的服务器名称,修改tnsnames.ora L7:将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;
|