Linux部署Oracle

Linux部署Oracle

一、 实验环境

     VMware+CentOS 5.8(32)

二、操作步骤

   1. 配置IP地址、修改主机名

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0    -->修改IP地址

DEVICE=eth0

BOOTPROTO=dhcp         -->改为static

IPADDR=192.168.1.10

NETMASK=255.255.255.0

GATEWAY=192.168.1.1      --> 配置IP地址、子网掩码、网关

[root@localhost ~]# vim /etc/sysconfig/network    -->修改主机名

HOSTNAME=localhost.localdomain             -->随意改

[root@localhost ~]# vim /etc/hosts               -->添加本地hosts

192.168.1.10    Oracle  Oracle.y2t08.cn

[root@localhost ~]# service network reload        -->重启网络服务

 

   2. 挂载系统盘安装如下rpm

       ①.  binutils-2.17.50.0.6-20.el5.i386.rpm

             compat-libstdc++-33-3.2.3-61.i386.rpm

       ②.  elfutils-libelf-0.137-3.el5.i386.rpm

             elfutils-libelf-devel-0.137-3.el5.i386.rpm

       ③.  glibc-2.5-81.i686.rpm

             glibc-common-2.5-81.i386.rpm

             glibc-devel-2.5-81.i386.rpm

             glibc-headers-2.5-81.i386.rpm

      ④.   gcc-4.1.2-52.el5.i386.rpm

             gcc-c++-4.1.2-52.el5.i386.rpm

      ⑤.   libaio-0.3.106-5.i386.rpm

             libaio-devel-0.3.106-5.i386.rpm

             libgcc-4.1.2-52.el5.i386.rpm

             libstdc++-4.1.2-52.el5.i386.rpm

             libstdc++44-devel-4.4.6-3.el5.1.i386.rpm

             libstdc++-devel-4.1.2-52.el5.i386.rpm

      ⑥.   make-3.81-3.el5.i386.rpm

             sysstat-7.0.2-11.el5.i386.rpm

      ⑦.    unixODBC-libs-2.2.11-10.el5.i386.rpm

            unixODBC-2.2.11-10.el5.i386.rpm

            unixODBC-devel-2.2.11-10.el5.i386.rpm  

[root@oracle ~]# mount /dev/cdrom /media/                          -->挂在系统盘

mount: block device /dev/cdrom is write-protected, mounting read-only    -->挂盘成功

      ⑧.  ksh-5.2.14-37.el5.i386.rpm    

//仅当RHEL 6.X版本时,作以下更改

[root@dbserver ~]# rpm -e ksh

[root@dbserver ~]# rpm -ivh .../pdksh-5.2.14-36.el5.i386.rpm

 

   3. 搭建本地yum

[root@oracle ~]# vim /etc/yum.repos.d/CentOS-Base.repo 

[base]

name=CentOS-$releasever - Base

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os  

     -->添加注释

baseurl=file:///media/              -->修改为本地路径.(已修改).  去掉前面的注释.

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

[root@oracle ~]# yum -y clean all                -->清空yum缓存

清缓存时终端出现滚动画面执行以下命令

[root@oracle ~]#kill -9 $(cat /var/yum/yum.pdi)     -->杀死yum进程

[root@oracle ~]# rpm -qa | grep java              -->安装java环境

//仅当RHEL 6.X版本时,作以下更改

[root@dbserver ~]# cd /usr/lib/jvm/jre-1.6.0/lib

[root@dbserver lib]# mv fontconfig.bfc fontconfig.bfc.origin    -->备份默认字体配置

[root@dbserver lib]# cp fontconfig.RedHat.6.0.bfc fontconfig.bfc  -->建立RHEL 6的字体配置

 

   4. 创建用户环境要求

[root@oracle ~]# groupadd oinstall      -->创建安装组

[root@oracle ~]# groupadd dba         -->创建管理组

[root@oracle ~]# useradd -g oinstall -G dba oracle  

               -->创建oraccle用户将它加入到oinstall附加到oracle

[root@oracle ~]# passwd oracle       -->oracle用户设置密码

[root@oracle ~]# mkdir /opt/oracle     -->opt目录下创建oracle

[root@oracle ~]# chown -R oracle:oinstall /opt/oracle/   -->oracle下所有文件属主改为oracle,属组改为oinstall

[root@oracle ~]# chmod -R 775 /opt/oracle/    -->oracle下所有文件权限修改为755

[root@oracle ~]# mkdir /opt/oraInventory

[root@oracle ~]# chown -R oracle:oinstall /opt/oraInventory/

[root@oracle ~]# chown -R 775 /opt/oraInventory/

 

  5. 配置以orcale身份运行的环境

[root@oracle ~]# vim ~oracle/.bash_profile    -->修改用户的bash

umask 022                               -->文件权限掩码

export ORACLE_BASE=/opt/oracle          -->定义基本目录

export ORACLE_SID=orcl                 -->定义数据库实力名称

export DISPLAY=:0.0                     -->告知默认的显示终端号

export LANG=zh_CN.UTF-8               -->确定使用何种语言环境

 

   6. 修改内核及会和要求

[root@oracle ~]# vim /etc/sysctl.conf 

fs.aio-max-nr = 1048576

fs.file-max = 6815744

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 = 1048586

[root@oracle ~]# sysctl -p                 -->重新加载配置文件

[root@oracle ~]# vim /etc/pam.d/login       -->修改认证模块

…………/以上省略

session    required     pam_limits.so        -->手动添加

[root@oracle ~]# vim /etc/security/limits.conf    -->将用户oracle能够打开的进程数

oracle          soft    nproc    8192

oracle          hard    nproc   16384

oracle          soft    nofile    32768

oracle          hard    nofile   65536

 

   7. Oracle 11g安装

[root@oracle ~]#umount /dev/cdrom           -->卸载CentOS系统光盘

[root@oracle ~]#mount /dev/cdrom /media      -->Oracle 11g(x86)光盘挂载上

[root@oracle ~]# su - oracle                 -->oracle执行以下操作

[oracle@oracle ~]$ mkdir dbin               -->创建dbin目录

[oracle@oracle ~]$ cp -rf /media/* dbin/       -->将系统盘里所有文件拷贝到dbin

[oracle@oracle ~]$ chmod -R 775 dbin/        -->修改dbin权限

[oracle@oracle ~]$ exit                     -->退出

exit

[root@oracle ~]# reboot                   -->重启Linux   开机用oracle用户登陆.

[oracle@oracle ~]$ cd dbin/database/ 

[oracle@oracle database ]$ ./runInstaller -jreLoc /usr/lib/jvm/jre-1.6.0  

                                                    --> 启动yunInstaller脚本文件

wKioL1QgF3fiwqXKAAHig5MOaN8717.jpg wKioL1QgF4LScZHUAADdxYyhQ-Y772.jpg 

wKiom1QgF26DLtWwAAFxuxl8iak347.jpg wKioL1QgF5fSe_87AAEXpYzVQWo227.jpgwKioL1QgF6GwWVQ3AAF7cnw2umI300.jpg

wKiom1QgF6PihFaoAAFkdb4OL94723.jpg

wKioL1QgF9HQ6SedAAHxrENot5s746.jpgwKiom1QgF8KBU0RyAAH4bJaNcnA943.jpgwKioL1QgF_LQq0TYAALCx4dsZ38007.jpg

 wKiom1QgF-TA1y13AAF7a1EaAGg716.jpg

-->注:上面脚本窗口别关闭新开一个终端切换到root用户执行以上脚本.

 wKioL1QgGC2gP-T9AAHZ3o3KAII520.jpg

 

   8. 验证安装结果

 wKiom1QgGBzicmtvAANZE4W_gJ8168.jpgwKiom1QgGCWzx-6IAAGievjxMCc510.jpg 

wKioL1QgGFawk3ZNAANcjZOaw3A311.jpg

[oracle@oracle ~]$ reboot           -->重启Linux,  使用root登陆

[root@oracle ~]# vim /etc/profile      -->修改全局配置,添加基目录、执行路径

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export ORACLE_OWNER=oracle

export ORACLE_SID=orcl

export ORACLE_TERM=xterm

export PATH=$PATH:$ORACLE_HOME/bin    -->手动添加

[root@oracle ~]# vim /etc/oratab              -->使orcl实例随数据库软件启动

orcl:/opt/oracle/product/11.2.0/dbhome_1:Y     -->N改为Y

 

   9. 添加Oracle服务

[root@oracle ~]# vim /etc/init.d/oracle

#!/bin/bash

#### 2011.10.10 by TsengYia. ####

# chkconfig: 35 90 10

# description: Oracle Database Service Daemon.

ORCL_BASE="/opt/oracle"

ORACLE_HOME=$ORCL_BASE/product/11.2.0/dbhome_1

ORACLE_OWNER=oracle

case "$1" in

  start)

    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"

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

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

    touch /var/lock/subsys/oracle11g

    ;;

  stop)

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

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

    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"

    rm -rf /var/lock/subsys/oracle11g

    ;;

  status)

    if ( pgrep "tnslsnr" && netstat -anpt | grep ":1521" ) &> /dev/null

    then

      echo "Oracle 11g Net Listener is running."

    else

      echo "Oracle 11g Net Listener is not running."

    fi

    if ( netstat -anpt | grep ":1158" && netstat -anpt | grep ":5520" ) &> /dev/null

    then

      echo "Oracle 11g Enterprise Manager is running."

    else

      echo "Oracle 11g Enterprise Manager is not running."

    fi

    ;;

  restart)

    $0 stop

    $0 start

    ;;

  *)

     echo "Usage: $0 { start|stop|restart|status }"

     exit 1

     ;;

esac

exit 0                -->Oracle数据库脚本添加进去

[root@oracle ~]# chmod +x /etc/init.d/oracle    -->oracle添加可执行全新

[root@oracle ~]# chkconfig --add oracle        -->oracle加入到系统服务

[root@oracle ~]# service oracle start           -->启动oracle服务

 

   10. 数据库的逻辑备份

[root@oracle ~]# sqlplus sys AS SYSDBA

Enter password:      -->输入的密码为:Pa9865321

SQL> CREATE DIRECTORY dmpdir AS '/opt/mydbbackup';     -->指定备份目录

SQL> GRANT read,write ON DIRECTORY dmpdir TO sysman;   -->授权备份用户

-->以上操作将/opt/mydbback作为expdp的备份目录允许数据库用户sysman写入备份文件.

备份数据:

[root@oracle ~]# expdp sysman DIRECTORY=dmpdir DUMPFILE=orac20140717.dmp

Password:          -->输入的密码为:Pa9865321

-->以上操作将把用户sysman所拥有的数据导出为orac20140717.dmp文件,保存到/opt/mydbbackup目录

恢复数据:

[root@oracle ~]# impdp sysman DIRECTORY=dmpdir DUMPFILE=orac20140717.dmp REUSE_DATAFILES=Y TABLE_EXISTS_ACTION=REPLACE

Password:          -->输入的密码为:Pa9865321

-->以上操作将从备份文件orac20140717.dmp 中读取数据导入到用户sysman所拥有的数据库中.

REUSE_DATAFILES=Y   -->表示重用原来的数据文件

TABLE_EXISTS_ACTION=REPLACE    -->表示覆盖已存在的表

 

 

 

 


你可能感兴趣的:(oracle,linux)