在linux 6.5 X86上安装oracle 11g

在linux 6.5 X86上安装oracle 11g

相关参考文档见oracle 官方文档:http://www.oracle.com/pls/db112/homepage

Linux 环境配置

系统: Linux 6.5 X86

数据库:Oracle 11g

1. 检查oracle安装条件是否具备。

检查内存 # grep MemTotal /proc/meminfo 至少需要1G内存

检查交换分区 # grep SwapTotal /proc/meminfo 内存大小*1.5

检查/tmp目录空闲空间 #df –h /tmp 至少需要400M

检查每个磁盘空闲空间 #df -h 至少需要4G以上

不同版本的系统对硬件的需求不同,可上网查看相关的知识。

2. 检查系统软件的要求:

查看然间是否安装: #rpm –q pakage_name

最简单的方法就是使用光驱,挂载系统光盘,进入到光盘的安装包中,

然后使用: #rpm –ivh pakage_name 逐个安装。

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

elfutils-libelf-devel-static-0.125

gcc-4.1.2gcc-c++-4.1.2

glibc-2.5-24

glibc-common-2.5

glibc-devel-2.5

glibc-headers-2.5

kernel-headers-2.6.18

ksh-20060214

libaio-0.3.106

libaio-devel-0.3.106

libgcc-4.1.2

libgomp-4.1.2

libstdc++-4.1.2

libstdc++-devel-4.1.2

make-3.81

sysstat-7.0.2

unixODBC-2.2.11

unixODBC-devel-2.2.11

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

elfutils-libelf-devel-

static-0.125

gcc-4.1.2

gcc-c++-4.1.2

glibc-2.5-24

glibc-common-2.5

glibc-devel-2.5 glibc-headers-2.5

kernel-headers-2.6.18

ksh-20060214

libaio-0.3.106

libaio-devel-0.3.106

libgcc-4.1.2

libgomp-4.1.2

libstdc++-4.1.2

libstdc++-devel-4.1.2

make-3.81

sysstat-7.0.2

unixODBC-2.2.11

unixODBC-devel-2.2.11

3. 创建安装oracle需要的系统组和用户

创建oracle inventory 组 : #groupadd oinstall

创建OSDBA组: #groupadd dba

创建oracle软件创建者: #useadd –g oinstall –G dba oracle

设置oracle用户密码: #passwd oracle

4.配置系统内核参数值

编辑/etc/sysctl.conf文件

vim/etc/sysctl.conf

在打开的文件底部添加下面内容

fs.aio-max-nr =1048576

fs.file-max =6815744

kernel.shmall =2097152

kernel.shmmax =536870912

kernel.shmmni =4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range= 9000 65500

net.core.rmem_default= 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048576

改变当前系统内核参数值(让/etc/sysctl.conf立即生效)

# sysctl –p

5.检查oracle安装用户(oracle)资源限制

修改/etc/security/limits.conf文件

vim/etc/security/limits.conf

在打开的文件底部添加下面内容

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

6.创建安装oracle软件所需要的目录

#mkdir -p /home/oracle_11/app/

# chown -Roracle:oinstall /home/oracle_11/app/

# chmod -R 775/home/oracle_11/app/

7.配置安装oracle安装用户的环境

编辑 /home/oracle/.bash_profile

vim/home/oracle/.bash_profile

在打开的文件中添加下面内容

umask 022

exportORACLE_BASE=/home/oracle_11/app

exportORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1

exportORACLE_SID=orcl --Oracle实例名,可修改

exportPATH=$PATH:HOME/bin:$ORACLE_HOME/bin

编辑 /etc/pam.d/login

vim/etc/pam.d/login

在打开的文件中添加下面内容

session required/lib/security/pam_limits.so

session requiredpam_limits.so

编辑 /etc/profile

vim /etc/profile

在打开的文件中添加下面内容

if [ $USER ="oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

8.查看系统是否支持图形界面

查看root用户下是否已设置DISPLAY变量

# echo $DISPLAY

如果有值出现,则说明已设置DISPLAY变量;否则,就需要手动设置DISPLAY

9.开始安装oracle软件

# cd /tmp

# unzip linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip

# xhost +

# su - oracle

$ export DISPLAY=:0

$ cd /database

$ ./runInstaller

接下来系统会启动Oracle图形安装界面,安装过程和Windows下一样

10.Oracle安装的顺序

以oracle用户登陆系统,进入/102g_db/database下,启动安装:

# ./runInstaller

若出现 –bash:./runInstaller:Permissiondenied错误,用root登陆,修改runInstaller所在文件夹权限为最高:

Chmod –R 777/oracle/database

用oracle用户重新执行#./runInstaller

1.选择高级安装:

2.确定安装路径为环境变量中配置的位置:

3.选择创建数据库:

4.用途选择一般用途:

5.在数据库配置选项中,一定要选择简体中文的字符集(本次选择了ZHS32GB18030,第一次选择ZHS16GBK ,但安装时报字符集错误),SID配置为sdb:

6.随后页面中的设置均采用默认即可,在下面的界面中,要给所有Oracle自带用户选择一个统一的密码,这里设置为oracle:

7.最后点击下一步,浏览即将安装的组件列表后,点击安装按钮,开始Oracle的图形化安装。

若在安装的过程中出现安装到60%就无法继续安装的情况,请查看/etc/sysconfig/network 中的 hostname=主机名 是否与/etc/hosts 中127.0.0.1 与::1对应的主机名一致。

8.在完成安装之前,会弹出提示,让用户以root身份执行下图中的两个sh脚本,分别执行即可:

9.执行结束后,点击上图中的确定,结束Oracle 安装过程。

11.Linux下的Oracle在安装结束后是处于运行状态的。重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Orcle服务

以oracle用户下,执行下面的命令

进入sqlplus

$ sqlplus /nolog

以sysdba的身份连接到数据库,并启动Oracle数据库引擎

SQL> conn /assysdba

SQL> startup

退出sqlplus,运行Listener

SQL> exit

$ lsnrctl start

这样就可以连接到Oracle数据库了。如果想用Oracle提供的EM来管理Oracle的话还需要启动EM控制台,运行如下命令:

$ emctl startdbconsole

确认无误后就可以访问:http://loacalhost:1158/em 进行控制em控制台

使用dbstart和dbstop来启动Oracle服务

可能使用dbstart命令来启动数据库更方便一些,但初次安装完oracle之后使用dbstart命令会报这样的错误

ORACLE_HOME_LISTNERis not SET, unable to auto-start Oracle Net Listener

Usage:/u01/app/oracle/product/11.2/db/bin/dbstart ORACLE_HOME

出现这样错误的原因是由于没有设置ORACLE_HOME_LISTNER的原因,我们查看一下dbstart这个文件

more /home/oracle_11/app/oracle/product/11.2/db/bin/dbstart

部分内容如下

# First argumentis used to bring up Oracle Net Listener

ORACLE_HOME_LISTNER=$1

if [ !$ORACLE_HOME_LISTNER ] ; then

echo "ORACLE_HOME_LISTNER is not SET,unable to auto-start Oracle Net Listener"

echo "Usage: $0 ORACLE_HOME"

else

LOG=$ORACLE_HOME_LISTNER/listener.log

# Set the ORACLE_HOME for the Oracle NetListener, it gets reset to

# a different ORACLE_HOME for each entry inthe oratab.

export ORACLE_HOME=$ORACLE_HOME_LISTNER

解决方案就算将$ORACLE_HOME赋值给$ORACLE_HOME_LINTNER,保存,退出

再一次执行dbstart,但是没有反映,没有报错,如果我们需要使用dbstart,则需要在/etc/oratab这个文件中的实例最后的N改成Y,如下

orcl:/home/oracle_11/app/oracle/product/11.2/db:Y

OK,保存,再试一下dbstart命令,返回结果如下

Processing Databaseinstance "orcl": log file /home/oracle_11/app/oracle/product/11.2.0/db_1/startup.log

dbshut进行同样的设置.这样,以后就可以在启动监听之后直接使用dbstart和dbshut命令来启动和关闭数据了

将Oracle服务添加到Linux开机启动项,以root用户建立/etc/rc.d/init.d/oradb脚本文件,文件内容如下:

#!/bin/bash

# chkconfig:2345 90 10

exportORACLE_BASE=/home/oracle_11/app/

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1

exportORACLE_SID=orcl

exportPATH=$PATH:$ORACLE_HOME/bin

ORCL_OWN="oracle"

# if theexecutables do not exist -- display error

if [ ! -f$ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

echo "Oracle startup: cannotstart"

exit 1

fi

# depending onparameter -- start, stop, restart

# of theinstance and listener or usage display

case"$1" in

start)

# Oraclelistener and instance startup

echo -n"Starting Oracle: "

su - $ORCL_OWN-c "$ORACLE_HOME/bin/dbstart"

touch/var/lock/subsys/oradb

su - $ORCL_OWN-c "$ORACLE_HOME/bin/emctl start dbconsole"

echo"OK"

;;

stop)

# Oraclelistener and instance shutdown

echo -n"Shutdown Oracle: "

su - $ORCL_OWN-c "$ORACLE_HOME/bin/emctl stop dbconsole"

su - $ORCL_OWN-c "$ORACLE_HOME/bin/dbshut"

rm -f/var/lock/subsys/oradb

echo"OK"

;;

reload|restart)

$0 stop

$1 start

;;

*)

echo"Usage: 'basename $0' start|stop|restart|reload"

exit 1

esac

exit 0

将该文件添加到开机启动

# chmod 755/etc/rc.d/init.d/oradb

# chkconfig --add oradb

重启服务

# service oradbstop

# service oradbstart

下次启动机器的时候,Oracle服务会随机器一起启动。

Oracle数据库安装、配置完成。

Tip:Oracle数据库的默认端口号:1521,Oracle提供的EM管理器默认端口号是1158。

如在安装过程中出现如下错误:

[INS-32031]Invalid inventory location

[INS-32033]Central Inventory location is not vritable

解决辦法:修改/home/oracle_11的权限

chown -R oracle:oinstall /home/oracle_11就行

本文出自 “天下大道行天下” 博客,请务必保留此出处http://enochline.blog.51cto.com/9390497/1569044

Database error: [Table 'ac_search_cache' is marked as crashed and should be repaired]

SELECT * FROM ac_search_cache WHERE hash = 'f46d857240f31f2cd357f2fccae72692b15708c0' LIMIT 1;