Centos5.7上安装oracle10g

1.添加oracle的用户

(1) 新增组和用户
groupadd tingtingego
useradd -g tingtingego oracle
passwd tingtingego

2.创建oracle10g安装的目录
这个目录一般比较大,因此有可能考虑到挂载分区的问题,参看我的其他文献。
创建Oracle的安装目录,并把权限付给tingtingego用户。
有可能需要将该文件和其他分区进行挂载,比如该分区至少在7g以上。
mkdir -p /dba
chown -R tingtingego.tingtingego /dba
chmod -R 775 /dba

分配给tingtngego对该文件的彻底访问权。
3.修改内核的配置文件
/etc/sysctl.conf  行末添加以下内容,已有的修改
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphors: 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.修改该数据库管理员的设置
/etc/security/limits.conf  行末添加以下内容
#use for oracle
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
*在这里是tingitngego

5./etc/pam.d/login  行末添加以下内容
session required pam_limits.so
6./etc/profile增加如下内容
if [ $USER = "tingtingego" ];then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

7. bash_profile 在创建用户后在用户的目录下有一个.bash_profile(使用Oracle用户)
并在文件中增加如下内容(ORACLE_BASE是最重要的,它代表Oracle的安装路径)
(在安装时就可以创建数据库,如果安装完毕重启,则再启动监听时无法启动,则要注意ORACLE_HOME在数据库安装后要根据实际路径进行修改)

export ORACLE_BASE=/dba
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=CUI
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
8.解压(使用tingtingego用户)
unzip 10201_database_linux32.zip -d /tmp/oracle
使用./runInstaller
在安装过程中,有可能遇到关于版本问题,可以不用管,直接下一步就行。
9 修改bin文件下的dbstart
找到ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle这行, 修改成:
ORACLE_HOME_LISTNER=/dba/oracle/product/10.2.0/db_1
测试运行
oracle$dbshut
oracle$dbstart
10 自启动
首先使用root用户修改:
编辑/etc/oratab, (将N该为Y)
orcl:/oracle/app/product/10.2.0/db_1:N (将N该为Y)

将N修改为Y,表示可以在操作系统启动阶段运行oracle数据库。

如果设置为Y,启动时就会同时启动oracle,有可能速度比较慢,所以可以不用管这一块,等CentOS启动后,再打开oracle10g。

在root下/etc/init.d/路径中建立oracle
#!/bin/bash
# chkconfig:345 99 10
# description: Startup Script for oracle Databases
oracle="tingtingego "

#此处写入oracle_home的路径
export ORACLE_HOME=/dba/oracle/product/10.2.0/db_1

export ORACLE_SID=orcl


case "$1" in
  start)
    #
    #oracle10g start
    #
    echo -n "Starting Oracle"
    su - $oracle -c "$ORACLE_HOME/bin/dbstart"
    su - $oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
    su - $oracle -c "$ORACLE_HOME/bin/lsnrctl start"
    su - $oracle -c "$ORACLE_HOME/bin/isqlplusctl start"
    ;;

#上面这一块的变量,每次都要输入密码,挺麻烦的,可以将关于oracle的文件夹赋予一个用户,就可以不用再输入密码,

#可以直接执行命令。
  stop)
    #
    #oracle stop
    #
    echo -n "Shutdown Oracle."
    su - $oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
    su - $oracle -c "$ORACLE_HOME/bin/isqlplusctl stop"
    su - $oracle -c "$ORACLE_HOME/bin/dbshut"
    su - $oracle -c "$ORACLE_HOME/bin/lsnrctl stop"
    ;;

  restart)
    #
    #oracle restart
    # 
    $0 stop
    $0 start
    ;;

    *)
    echo "Oracle10g start|stop|restart"
    exit 1
esac
exit 0

以上设置可以在执行oracle命令时,按照一定的规范性,比如:service oracle start等。
11 加入服务
#service oracle start    测试oracle能不能启动

#下面这句是将oracle加入到自动启动的行列中
#chkconfig --add oracle
#chkconfig --level 345 oracle on
#chkconfig --list oracle 看运行情况
12 将其oracle对应的端口打开
#For Oracle
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1158 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5560 -j ACCEPT

在我们使用CentOS系统的时候,CentOS防火墙有时是需要改变设置的。CentOS防火墙默认是打开的,设置CentOS防火墙开放端口方法如下:

打开iptables的配置文件:
vi /etc/sysconfig/iptables

修改CentOS防火墙需要注意的是,你必须根据自己服务器的情况来修改这个文件。

举例来说,如果你不希望开放80端口提供web服务,那么应该相应的删除这一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

全部修改完之后重启iptables:
service iptables restart

你可以验证一下是否规则都已经生效:iptables -L

这样,我们就完成了CentOS防火墙的设置修改。

猜你喜欢

转载自zhangpuego.iteye.com/blog/1238339
今日推荐