寻觅生命中的那一片浅草......

CentOS 5.0上安装Oracle 11g Release 1

CentOS 5.0上安装Oracle 11g Release 1

本应用是在vmware server 1.0.6上做的,本文的操作其实就是安装光盘上Oracle Database Quick Installation Guide 11g Release 1 (11.1) for Linux x86的简化版
由于是在图形化界面下按照,故安装系统时需要选择图形化桌面


一、下载
当然是到官方www.oracle.com下载for Linux i386版本了,下载下来是zip格式,解压缩,用ultraiso做成oracle11gr1.iso文件,传到CentOS 5.0上,本例中放到/mnt/oracle下

二、软件包安装
由于oracle图形安装界面依赖于Java,所以在装系统时把Java的相应组件装上,把CentOS 5.0光盘挂载上去,安装以下软件包
binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
gcc-4.1.1-52
gcc-c++-4.1.1-52
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.11

三、创建用户和组、安装目录
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
# mkdir -p /opt/app/
# chown -R oracle:oinstall /opt/app/
# chmod -R 775 /opt/app/

四、系统配置(修改文件前用cp做好备份)
1、修改内核参数
# vi /etc/sysctl.conf,将相应的选项修改,没有的在末尾添加
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

使修改配置生效
# sysctl -p

2、修改oracle对文件的要求
# vi /etc/security/limits.conf
在文件末尾添加以下内容
oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536

# vi /etc/pam.d/login
在文件末尾添加以下内容
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so

# vi /etc/profile
默认shell是bash情况下,在文件末尾添加以下内容
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

# vi /home/oracle/.bash_profile
文件末尾添加以下内容
export ORACLE_SID=sales
export ORACLE_BASE=/opt/app/oracle
export ORACLE_OWNER=oracle
export ORACLE_TERM=xterm

3、设置hostname为oracle.test110.com

五、开始安装
注销掉root用户,然后用oracle用户登录进图形化用户界面
$ sudo mount -o loop /mnt/oracle/oracle11gr1.iso /mnt/cdrom
$ /mnt/cdrom/runInstaller
如果cd 到/mnt/cdrom,再执行./runInstaller会报错,所以只能在系统的其他目录以绝对路径/mnt/cdrom/runInstaller来开启安装过程
OK了,现在一直下一步就可以了,安装过程中,关于网络的配置没有通过,说是由于主机IP是通过DHCP获取的,但我明明设置是手动设置的静态IP
,点击安装界面那个方框,打上勾,后面就会显示为用户验证,可以继续安装下去了。

一些基本命令,命令基本都在oracle安装主目录下的bin目录下
1、dbca 图形化管理数据库的工具,可以创建或删除一个数据库等

2、netca配置监听等

其实安装好之后还是有很多问题的,一会是em无法启动,一会是用plsql无法连接都是一边百度一边解决的,

1、em无法启动,访问在/etc/hosts顶部添加以下内容
192.168.1.100 oracle.test110.com oracle

就可以访问了

2、sqlplus命令,用sys / as sysdb 登录进去后,输入select * from v$log;提示ERROR at line 1:
ORA-01034: ORACLE not available,然后用dbshut关闭数据库,dbstart打开数据库,查看startup.log发现数据库是warm started.

然后SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file ‘/opt/app/oracle/product/11.1.0/db_1/dbs/initsales.ora’

提示没有找到initsales.ora文件,网上查找说可以从$ORACLE_BASE/admin/XXXX/pfile(XXXX为SID,本例中为orcl)下复制一个过去,去到$ORACLE_BASE/XXXX/admin/pfile下发现有init.ora.920200823274,就

cp  init.ora.920200823274 /opt/app/oracle/product/11.1.0/db_1/dbs/initsales.ora

但SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
解决这个问题的办法之一是增加tmpfs文件系统的容量。修改/etc/fstab中tmpfs对应的行,
将原来的tmpfs /dev/shm tmpfs defaults 0 0
改成tmpfs /dev/shm tmpfs defaults,size=1024M 0 0 ,这样tmpfs增大为1G
size参数也可以用G作单位:size=1G。
重新mount /dev/shm使之生效:
# mount -o remount /dev/shm
马上可以用”df -h”命令检查变化。

问题一个接一个

SQL> startup
ORACLE instance started.

Total System Global Area  422670336 bytes
Fixed Size                  1300352 bytes
Variable Size             251660416 bytes
Database Buffers          163577856 bytes
Redo Buffers                6131712 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode

错误提示说不能把数据库mount为独享模式,怀疑因为dbstart已经霸占了数据库,遂运行dbshut,关闭数据库

再SQL> startup
ORACLE instance started.

Total System Global Area  422670336 bytes
Fixed Size                  1300352 bytes
Variable Size             251660416 bytes
Database Buffers          163577856 bytes
Redo Buffers                6131712 bytes
Database mounted.
Database opened.
SQL> select * from v$log;

GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS
———- ———- ———- ———- ———- — —————-
FIRST_CHANGE# FIRST_TIM
————- ———
1          1         31   52428800          1 NO  INACTIVE
2383888 22-OCT-08

2          1         32   52428800          1 NO  INACTIVE
2395494 22-OCT-08

3          1         33   52428800          1 NO  CURRENT
2395629 22-OCT-08

哈哈,成功了


尚无评论

发表评论

2024年四月
« 5月    
1234567
891011121314
15161718192021
22232425262728
2930