Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1393854
  • 博文数量: 254
  • 博客积分: 4173
  • 博客等级: 中校
  • 技术积分: 3400
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-03 21:24
个人简介

不为失败找借口,只为成功找方法!

文章分类

全部博文(254)

文章存档

2021年(3)

2020年(1)

2019年(2)

2017年(10)

2016年(6)

2015年(19)

2014年(24)

2013年(19)

2012年(52)

2011年(118)

分类: 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 /u01

5、设置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

阅读(2146) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~