Linux下安装Oracle的问题(非常问题)

Linux下安装Oracle的问题(非常问题)

在Linux下安装Oracle,是不是必须要建一个另外的非root用户,用root不行吗?Oracle安装不是有分用户认证和系统认证两种安装吗?我这里并不想请教怎样在Linux下安装Oralce,我只想知道能不能用root装,如果不能,是什么原因?这种情况下是root检测到安装oracle而拒否,还是oracle检测到是root用户而拒否?换句话说,root可以安装其他软件,但是安装oracle的时候检测到在安装oracle,所以就拒否了;或者是oracle可以被其他非root用户安装,但是用root安装时,oracle检测到是被root用户安装,所以就拒否了?希望对Oracle有深入了解的高手能详细说明一下这个问题,谢谢!      
Oracle不建议用root安装, 如果用root安装, 会有警告或者错误提示, 安装oracle的用户需要在dba组.
我不是高手, 装过两次oracle有些印象.      
需要按照别人总结的步骤一步一步安装,少一步都不行。      
我是想弄清楚用root不能装的原因。
我今天也跟同事讨论了一下这个问题,我觉得如果是Oracle检测到root用户而拒否,那么Oralce本身应该有相应的配置文件来做check,但是Oralce似乎没有做这样处理的必要;如果是root检测到Oracle而拒否,那么Linux内核也应该做相应的check处理,这个似乎也没必要。最终讨论下来的结果,可能跟网络协议相关。Oracle的remote连接协议可能不能通过root用户验证,就好象root用户不能远程登陆telnet和ftp一样(当然可以改相应的配置文件),安全验证会失败。不知道是否是这个原因?      
lz很好学。可以试着修改oracle的安装脚本,去让root安装oracle!      
人家辛辛苦苦就是想让数据库更安全一点,楼主的行动让oracle的辛苦白费了。      
我修改的,你可以参考一下。
------------------------
此安装文件仅可用在实验环境中,不可用于生产环境。

1.安装centos5的过程中,定制软件包,全部安装以下软件包集。

GNOME Desktop Environment
Editors
Graphical Internet
Text-based Internet
Development Libraries
Development Tools
Legacy Software Development
Server Configuration Tools
Administration Tools
Base
Legacy Software Support
System Tools
X Window System


全部操作,建议在图形界面下进行。


2.解压你下载的文件:
打开一个终端,执行下列命令解压缩。
$gunzip 10201_database_linux_x86_64.cpio.gz
$cpio -idmv < 10201_database_linux_x86_64.cpio


3.修改Hosts文件
The /etc/hosts
保证含有如下内容:

127.0.0.1        localhost


4.设置内核参数,以满足oracle需要:

查看/etc/sysctl.conf,

注意下面参数,如果当前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=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144

---------------参数详解-----------------
kernel.shmall = 2097152
该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152.

kernel.shmmax = 2147483648
该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,通常将其设置为2G。

kernel.shmmni = 4096
这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。

kernel.sem = 250 32000 100 128
该参数表示设置semmsl, semmns, semopm, semmni的信号量。

#fs.file-max = 65536
该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。

net.ipv4.ip_local_port_range = 1024 65000
用于向外连接的端口范围。

net.core.rmem_default=262144
默认的TCP接收窗口大小

net.core.rmem_max=262144
默认的TCP接收窗口大小

net.core.wmem_default=262144
默认的TCP发送窗口大小

net.core.wmem_max=262144
最大的TCP发送窗口大小
---------------------------------------

5.使用下列命令查看内核参数,并使当前修改的结果生效:
#/sbin/sysctl -p
Add the following lines to the /etc/security/limits.conf file:

*               soft    nproc   2047
*               hard    nproc   16384
*               soft    nofile  1024
*               hard    nofile  65536


6.编辑/etc/pam.d/login 在文件的结尾处添加如下内容:

session    required     /lib/security/pam_limits.so

7.关闭 secure linux:
编辑/etc/selinux/config file, 修改如下选项,确保状态为disabled:

SELINUX=disabled


8.确保服务器状态为联网,使用yum命令后,系统自动下载并安装libaio文件库:

#yum install libaio

如果系统不能上网,从光盘上复制libaio-0.3.102-1.i386.rpm和libaio-devel0.3.102-1.i386.rpm到系统并安装。

9.新建用户和组:

输入以下命令:
groupadd oinstall
groupadd dba
groupadd oper

useradd -g oinstall -G dba oracle
passwd oracle

10.新建以下目录作为oracle的安装目录:

mkdir -p /u01/app/oracle/product/10.2.0/db_1
chown -R oracle.oinstall /u01



11.使用su命令,切换到oracle用户身份

编辑.bash_profile(权限644)文件:

# 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=TSH1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbinPATH; export PATH
PATH=$ORACLE_HOME/binPATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JREORACLE_HOME/jlibORACLE_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


安装:

12、开启X.ORG图形服务器对本地网络用户的支持:

Ifconfig获取本地网卡eth0的ip地址,例:10.2.8.222
使用oracle用户,打开终端:
输入命令:export DISPLAY=10.2.8.222:0.0回车
注销终端,重登录

13、解决oracle安装乱码问题:
中文linux默认环境下,安装界面为乱码(中文字体显示为“口”)
输入以下命令:
使用oracle用户,打开终端:
LANG=en_US回车

14.用oracle用户身份,进入解压缩好的oracle目录,执行:
./runInstaller
如果操作系统为CENTOS5,执行安装时,提示版本不对
解决方法:那是因为oracle并没有出针对CENTOS5安装程序,使用命令
./runInstaller -ignoreSysPreReqs(安装时忽略版本检查:)


这时,图形安装界面将启动


安装过程中,要选择定制安装,安装中文字符集!


安装完毕后,运行/u01/app/oracle/product/10.2.0/db_1/root.sh


15.启动和停止数据库:

在/etc/init.d目录下写个脚本
#cd /etc/init.d

#vi oracle10g

#!/bin/bash
# chkconfig: 345 99 10
# description: Startup Script for Oracle Databases
# /etc/init.d/dbora
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
su oracle -c $ORACLE_HOME/bin/dbstart
touch /var/lock/oracle
echo "OK"
;;
stop)
echo -n "Shutdown Oracle: "
su oracle -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/oracle
echo "OK"
;;
*)
echo "Usage: 'basename $0' start|stop"
exit 1
esac
exit 0

16.之后编译/etc/oratab文件
将最后一行的"N"改成"Y"
这个是让数据库自动启动和停止
ORCL:/opt/oracle/OracleHome:Y


17.修改数据库启动脚本的路径,需要编辑一下文件
用oracle用户登录
$vi $ORACLE_HOME/bin/dbstart
在该文件中找到ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
将其修改为 ORACLE_HOME_LISTNER=/u01/app/oracle/product/10.2.0/db_1

18.最后用root执行下列命令,把oracle10g加到3、4、5启动模式中。
chkconfig --level 345 oracle10g on

整个安装过程完毕。


重启系统后,可以看到oracle已经启动了。