一、 实验环境
VMware+CentOS 5.8(32位)
二、操作步骤
1. 配置IP地址、修改主机名
[iyunv@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地址、子网掩码、网关
[iyunv@localhost ~]# vim /etc/sysconfig/network -->修改主机名
HOSTNAME=localhost.localdomain -->随意改
[iyunv@localhost ~]# vim /etc/hosts -->添加本地hosts
192.168.1.10 Oracle Oracle.y2t08.cn
[iyunv@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
[iyunv@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版本时,作以下更改
[iyunv@dbserver ~]# rpm -e ksh
[iyunv@dbserver ~]# rpm -ivh .../pdksh-5.2.14-36.el5.i386.rpm
3. 搭建本地yum [iyunv@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 [iyunv@oracle ~]# yum -y clean all -->清空yum缓存 清缓存时, 终端出现滚动画面, 执行以下命令 [iyunv@oracle ~]#kill -9 $(cat /var/yum/yum.pdi) -->杀死yum进程 [iyunv@oracle ~]# rpm -qa | grep java -->安装java环境 //仅当RHEL 6.X版本时,作以下更改 [iyunv@dbserver ~]# cd /usr/lib/jvm/jre-1.6.0/lib [iyunv@dbserver lib]# mv fontconfig.bfc fontconfig.bfc.origin -->备份默认字体配置 [iyunv@dbserver lib]# cp fontconfig.RedHat.6.0.bfc fontconfig.bfc -->建立RHEL 6的字体配置
4. 创建用户环境要求 [iyunv@oracle ~]# groupadd oinstall -->创建安装组 [iyunv@oracle ~]# groupadd dba -->创建管理组 [iyunv@oracle ~]# useradd -g oinstall -G dba oracle -->创建oraccle用户, 将它加入到oinstall附加到oracle [iyunv@oracle ~]# passwd oracle -->为oracle用户设置密码 [iyunv@oracle ~]# mkdir /opt/oracle -->在opt目录下创建oracle [iyunv@oracle ~]# chown -R oracle:oinstall /opt/oracle/ -->将oracle下所有文件属主改为oracle,属组改为oinstall [iyunv@oracle ~]# chmod -R 775 /opt/oracle/ -->将oracle下所有文件权限修改为755 [iyunv@oracle ~]# mkdir /opt/oraInventory [iyunv@oracle ~]# chown -R oracle:oinstall /opt/oraInventory/ [iyunv@oracle ~]# chown -R 775 /opt/oraInventory/
5. 配置以orcale身份运行的环境 [iyunv@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. 修改内核及会和要求 [iyunv@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 [iyunv@oracle ~]# sysctl -p -->重新加载配置文件 [iyunv@oracle ~]# vim /etc/pam.d/login -->修改认证模块 …………/以上省略 session required pam_limits.so -->手动添加 [iyunv@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安装 [iyunv@oracle ~]#umount /dev/cdrom -->卸载CentOS系统光盘 [iyunv@oracle ~]#mount /dev/cdrom /media -->将Oracle 11g(x86)光盘挂载上 [iyunv@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 [iyunv@oracle ~]# reboot -->重启Linux 开机用oracle用户登陆. [oracle@oracle ~]$ cd dbin/database/ [oracle@oracle database ]$ ./runInstaller -jreLoc /usr/lib/jvm/jre-1.6.0 --> 启动yunInstaller脚本文件 -->注:上面脚本窗口别关闭, 新开一个终端, 切换到root用户, 执行以上脚本.
8. 验证安装结果 [oracle@oracle ~]$ reboot -->重启Linux, 使用root登陆 [iyunv@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 -->手动添加 [iyunv@oracle ~]# vim /etc/oratab -->使orcl实例随数据库软件启动 orcl:/opt/oracle/product/11.2.0/dbhome_1:Y -->将N改为Y
9. 添加Oracle服务
[iyunv@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数据库脚本添加进去 [iyunv@oracle ~]# chmod +x /etc/init.d/oracle -->将oracle添加可执行全新 [iyunv@oracle ~]# chkconfig --add oracle -->将oracle加入到系统服务 [iyunv@oracle ~]# service oracle start -->启动oracle服务
10. 数据库的逻辑备份 [iyunv@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写入备份文件. 备份数据: [iyunv@oracle ~]# expdp sysman DIRECTORY=dmpdir DUMPFILE=orac20140717.dmp Password: -->输入的密码为:Pa9865321 -->以上操作将把用户sysman所拥有的数据导出为orac20140717.dmp文件,保存到/opt/mydbbackup目录 恢复数据: [iyunv@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 -->表示覆盖已存在的表
|