不为失败找借口,只为成功找方法!
分类: Oracle
2011-11-05 21:10:49
一、下载Oracle 10g
先详细说明一下我的环境,系统:虚拟机Red Hat Enterprise Linux AS 5.4,数据库:Oracle Database 10g Release 2 (10.2.0.1)。Oracle去官方网站下载。我下载下来的文件是10201_database_linux32.zip。
二、安装Oracle 10g前的配置
其实Linux下安装Oracle 10g并不难,主要就是安装前的配置有点烦琐罢了。不过不要怕,安装过一两次你就会熟练了。开始了,Follow me!
1、安装Oracle所需软件包
先用rpm -qa | grep命令查询软件包是否安装了,没有的话再用rpm -ivh命令进行安装。
# 从Red Hat Enterprise Linux AS5 光盘1
cd /media/cdrom/Server
rpm -ivh setarch-2* rpm -ivh make-3* rpm -ivh glibc-2* rpm -ivh libaio-0*# 从Red Hat Enterprise Linux AS5 光盘2
cd /media/cdrom/Server
rpm -ivh compat-libstdc++-33-3* rpm -ivh compat-gcc-34-3* rpm -ivh compat-gcc-34-c++-3* rpm -ivh gcc-4* rpm -ivh libXp-1*# 从Red Hat Enterprise Linux AS5 光盘3
cd /media/cdrom/Server
rpm -ivh openmotif-2* rpm -ivh compat-db-4*可以通过命令的方式查询哪些软件包没有安装:
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
如果提示warning: libstdc++-devel.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 error: Fa这样的信息的话可以使用rpm -ihv libstdc++-devel.i386.rpm --force --nodeps命令来强行安装。
2、修改系统版本
vi /etc/redhat-release
redhat-4 #Red Hat Enterprise Linux Server release 5.4 (Tikanga)因为oracle 的官方只支持到RHEL4为止,所以要修改版本说明。把Red Hat Enterprise Linux Server release 5.4 (Tikanga)这一行注释掉,前面加上一行redhat-4。当然oracle安装完成后要修改回来。redhat-4 必须为redhat-release文件的第一行,否则安装时还会报警告。
3、修改内核参数
#vi /etc/sysctl.conf
增加下面的内容到文件中,可加在最下面:
kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=262144 net.core.rmem_max=262144 net.core.wmem_default=262144 net.core.wmem_max=262144运行下面的命令使得内核参数生效:
/sbin/sysctl –p
4、建立安装Oracle需要的用户、组及目录
(1)新增组和用户:
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba oracle passwd oracle(2)创建Oracle的安装目录,并把权限付给oracle用户:
mkdir -p /u01/app/oracle/product/10.2.0/db_1 chown -R oracle.oinstall /u015、设置oracle用户的shell limit
#vi /etc/security/limits.conf
增加下面的内容到文件 /etc/security/limits.conf 文件中:
* soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536增加下面的内容到文件 /etc/pam.d/login 中,使shell limit生效:
session required /lib/security/pam_limits.so
6、配置静态IP地址
安装RedHat Linux的时候最好采用静态IP地址,如果当时选择的是DHCP,现在需要更改/etc/sysconfig/network-scripts/ifcfg-eth0文件:
DEVICE=eth0 BOOTPROTO=dhcp HWADDR=00:0C:29:74:5B:62 ONBOOT=yes HWADDR=00:0C:29:74:5B:62 #你的mac地址 IPADDR=192.168.89.130 #你的IP地址 NETMASK=255.255.255.0 #你的IP地址 GATEWAY=192.168.89.1 #你的网关7、修改/etc/hosts
把127.0.0.1改为具体的ip地址,注意最好去掉那些无用的,格式如下:
ip地址 – 主机名 – localhost
8、关闭SeLinux
因为SeLinux对oracle有影响,所以把Secure Linux设成无效,编辑文件/etc/selinux/config :
SELINUX=disabled
当然你也可以用图形界面下的工具 (系统 > 管理 > 安全级别和防火墙),选择SELinux页面并且设为无效。
9、配置Oracle用户的环境变量
登录到oracle用户并且配置环境变量,编辑/home/oracle目录下的.bash_profile文件
vi .bash_profile
增加下面的内容到文件 .bash_profile,加在文件的最下面
# Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME ORACLE_SID=orcl; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=$PATH:$ORACLE_HOME/bin; export PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JREORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi里面的SID在安装数据库时候如果修改了,安装完后需要回来重新修改SID。修改完用“source .bash_profile”使其生效。
10、修改开机使用文本模式登录
如果没有下面这些步骤,oracle在安装时可能出现问题。可能会出现使用oracle用户启动安装界面的时候报错,无法启动图形化界面。
#vi /etc/inittab
把 id:5:initdefault: 修改为 id:3:initdefault,等oracle安装完成后可以修改回来。
#reboot(重启)
11、添加你的机器oracle用户可以使用图形化界面
解压缩安装包:
第一种方法:
zcat 10201_database_linuxitanium.cpio.gz | cpio -idmv
第二种方法 :
第一步:
gunzip 10201_database_linuxitanium.cpio.gz
第二步:
cpio -idmv < 10201_database_linuxitanium.cpio.gz
在文本模式下,用root登录,然后:
# startx # xhost + # su - oracle $ export DISPLAY=:0.0 #使用root输入xdpyinfo,查看display of name,看后面的字符是1.0还是0.0 $ export LANG=en_US #设置运行语言 $ cd /hqw/databases #进入Oracle安装目录 $ ./runInstaller 如果是HP安腾小机的话需要这么运行: $./runInstaller -jreLoc /app/java/jdk1.6.0_24/jre一开始不需要创建数据库实例,可以把√去掉
进入安装界面安装完毕后,会提示运行两个文件:
如果是HP安腾小机,则需要做如下修改:
更改$ORACLE_HOME/bin/netmgr和$ORACLE_HOME/bin/dbca脚本中的
JREDIR=/oracle/jdk1.6.0_26/jre
修改$ORACLE_HOME/bin/emca脚本
#JRE_JAVA="${ORACLE_HOME}/jdk/jre/bin/java"
JRE_JAVA=/oracle/jdk1.6.0_26/jre/bin/java
if [ ! -f $JRE_JAVA ]; then
# JRE_JAVA="${ORACLE_HOME}/jdk/bin/java"
JRE_JAVA=/oracle/jdk1.6.0_26/jdk/bin/java
fi
复制代码修改$ORACLE_HOME/bin/emctl脚本
#JAVA_HOME=$ORACLE_HOME/jdk
#JRE_HOME=$ORACLE_HOME/jdk/jre
JAVA_HOME=/oracle/jdk1.6.0_26
JRE_HOME=/oracle/jdk1.6.0_26/jre
修改$ORACLE_HOME/bin/isqlplusctl脚本
#JAVA_HOME=$ORACLE_HOME/jdk
#JRE_HOME=$ORACLE_HOME/jdk/jre
JAVA_HOME=/oracle/jdk1.6.0_26
JRE_HOME=/oracle/jdk1.6.0_26/jre
之后创建数据库实例,在终端进入$ORACLE_HOME/bin,运行./dbca
未说明的安装界面全部为默认选择。
在启动监听器之前,输入以下命令:
su - oracle #注意一定要带“-”
cd ~
故障排除:
1、通过sqlplus来连接数据库,在启动oracle时,突然报错:
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.1.0/db_1/dbs/initorcl.ora' //orcl是连接标示符
[oracle@datatest ~]$ sqlplus "/as sysdba"
SQL*Plus: Release 11.1.0.6.0 - Production on Wed Dec 15 10:54:03 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.1.0/db_1/dbs/initorcl.ora'
原来打不开initorcl.ora,于是进入/u01/app/oracle/product/11.1.0/db_1/dbs/目录,
[oracle@datatest ~]$ cd /u01/app/oracle/product/11.1.0/db_1/dbs/
[oracle@datatest dbs]$ ls
hc_datatest.dat hc_mm.dat initdw.ora init.ora lkMM orapwmm spfilemm.ora
原来是没有initDATATEST.ora文件
解决此问题的方法就是到cd /u01/app/oracle/admin/datatest/pfile/目录下,将ora.1114201016265复制到dbs目录下:
cp init.ora.1114201016265 /u01/app/oracle/product/11.1.0/db_1/initorcl.ora
然后再次用sqlplus连接数据库
[oracle@datatest dbs]$ sqlplus "/as sysdba"
SQL*Plus: Release 11.1.0.6.0 - Production on Wed Dec 15 11:04:25 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 954155008 bytes
Fixed Size 1303916 bytes
Variable Size 239078036 bytes
Database Buffers 708837376 bytes
Redo Buffers 4935680 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode
OK,可以了
2、EM中文显示不正常,出现很多方格。执行下列命令,来解决em的中文问题
cd $ORACLE_HOME/javavm/lib/ojvmfonts/
mv font.properties font.properties.bak
cp font.properties.zh_CN.Redhat2.1 font.properties
cd $ORACLE_HOME/jre/1.4.2/lib/
mv font.properties font.properties.bak
cp font.properties.zh_CN.Redhat2.1 font.properties
cd $ORACLE_HOME/jdk/jre/lib/
mv font.properties font.properties.bak
cp font.properties.zh_CN.Redhat2.1 font.properties
启动ORACLE 10G命令
emctl start dbconsole
isqlplusctl start
停止ORACLE 10G命令
emctl stop dbconsole
isqlplusctl stop