CentOS 6.3(x86_64)下安装Oracle 10g R2html
目 录java
1、硬件要求 2、软件 3、系统安装注意 4、安装Oracle前的系统准备工做 5、安装Oracle,并进行相关设置 6、升级Oracle到patchset 10.2.0.4 7、使用rlwrap调用sqlplus中历史命令linux
1、硬件要求c++
一、内存 & swapsql
Minimum: 1 GB of RAM Recommended: 2 GB of RAM or more数据库
检查内存状况vim
# grep MemTotal /proc/meminfocentos
# grep SwapTotal /proc/meminfobash
二、硬盘session
因为CentOS安装后差很少有4~5G,再加上Oracle等等的安装,因此请准备至少10G的硬盘空间。
检查磁盘状况
# df -h
2、软件
系统平台:CentOS 6.3(x86_64)
CentOS-6.3-x86_64-bin-DVD1.iso
Oracle版本:Oracle 10g R2
10201_database_linux_x86_64.cpio
补丁:p6810189_10204
p6810189_10204_Linux-x86-64.zip
3、系统安装注意
系统安装时必定要安装桌面模式,不然没法安装oracle,另外请勿开启SELinux,oracle官方不建议使用SELinux,CentOS的防火墙也请暂时关闭,减小安装时的困扰。为防止Oracle安装过程当中出现乱码,建议使用英文做为系统语言,进行Oracle的安装工做。
本文中所描述的系统命令,未经特殊标示,均为“#”表明root权限,“$”表明oracle权限。
4、安装Oracle前的系统准备工做
首先,请先以root帐号登入做一些前置设定做业。
一、关闭防火墙、禁用SELinux
# setup
# vi /etc/selinux/config
修改SELINUX=disabled,而后重启。 若是不想重启系统,使用命令setenforce 0
二、安装依赖包
Oracle官方文档要求的安装包:
查看Oracle相关包是否已经安装:
用yum方式安装所需的包:
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat
最后还须要安装libXp这个Library,这个必定要安装,不然安装Oracle时会出现java Exception。
# yum install libXp
三、建立Oracle用户与组
在这里只讨论单主机环境,不考虑RAC环境的配置。
执行如下指令以新增oracle安装时所须要的使用者与群组。
(1) 创建群组oinstall # groupadd oinstall
(2) 创建群组dba # groupadd dba
(3) 新增使用者oracle并将其加入oinstall和dba群组 # useradd -m -g oinstall -G dba oracle
(4) 测试oracle帐号是否创建完成 # id oracle
(5) 创建oracle的新密码 # passwd oracle
四、将oracle使用者加入到sudo群组中
# vi /etc/sudoers
找到 root ALL=(ALL) ALL 这行,而且在底下再加入 oracle ALL=(ALL) ALL 输入wq!(因为这是一份只读文档因此须要再加上!)而且按下Enter
五、配置系统内核参数
# vi /etc/sysctl.conf
修改和添加如下内容:
kernel.shmall = 4294967296 //表示系统一次可使用的共享内存总量(以页为单位)。缺省值就是2097152,一般不须要修改 kernel.shmmax = 68719476736 //定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来讲,该缺省值过低了,一般将其设置为2G kernel.shmmni = 4096 //用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。一般不须要更改 kernel.sem = 250 32000 100 128 //表示设置的信号量 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=4194304 //默认的接收窗口大小 net.core.rmem_max=4194304 //接收窗口的最大大小 net.core.wmem_default=262144 //默认的发送窗口大小 net.core.wmem_max=262144 //发送窗口的最大大小
会有一些与目前的参数重复的,就修改为文件上提供的。
编辑完以后,储存,而后执行:
# sysctl -p
启用刚刚所作的变动。
六、编辑/etc/security/limits.conf
# vi /etc/security/limits.conf
添加如下四行 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
七、编辑/etc/pam.d/login
# vi /etc/pam.d/login
添加如下两行 session required /lib64/security/pam_limits.so session required pam_limits.so
八、修改/etc/profile
# vi /etc/profile
将如下代码新增到profile档案中。
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
九、修改Linux发行版本信息
因为Oracle 10g发行的时候,CentOS 6没有发行,因此Oracle 10g并无对CentOS 6确认支持,须要修改文件让Oracle 10g支持CentOS 6。
咱们须要手工修改Linux的发行注记,让Oracle 10g支持CentOS 6。
编辑/etc/redhat-release文件
# vi /etc/redhat-release
将其中的内容CentOS release 6.3 (Final)修改成redhat 4
十、建立Oracle安装文件夹以及数据存放文件夹
#mkdir /opt/oracle #mkdir /opt/oracle/102 #chown -R oracle:dba /opt/oracle
十一、配置Linux主机
检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1便可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,致使没法启动监听,在此手工添加此记录便可。
第一阶段到此完毕,接下来,完成这些设定以后,请先注销root帐号,而且以oracle帐号再次登入系统。
十二、配置oracle用户环境变量
$ cd /home/oracle $ vi .bash_profile 修改并加入如下內容
ORACLE_BASE=/opt/oracle //上面建立的Oracle安装文件夹 ORACLE_HOME=$ORACLE_BASE/102 ORACLE_SID=orcl LD_LIBRARY_PATH=$ORACLE_HOME/lib PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
保存后使用以下命令,使设置生效:
$ source /home/oracle/.bash_profile
5、安装Oracle,并进行相关设置
一、解压缩安装文件
将下载的10201_database_linux_x86_64.cpio放至即将安装oracle的文件夹/opt/oracle 回到终端模式而且进入到oracle文件夹:
$ cd /opt/oracle
解压缩10201_database_linux_x86_64.cpio
$ cpio -idmv < 10201_database_linux_x86_64.cpio
接着会看到一连串的解压缩动做。
解压缩完成会在同一个文件夹中看到database的文件夹,请进入到database文件夹中:
$ cd database
准备执行数据库安装,若是你的centos是中文环境,安装时会出现中文乱码,请下如下指令
$ export LANG=en_US
接着执行
$ ./runInstaller
若是没法看到安装界面,请使用root账户执行以下命令后再运行安装程序:
# export DISPLAY=:0.0 # xhost + $ ./runInstaller
遇到错误:Exception in ...... /lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
解决:
# yum -y install libXp.i686
分析:看报错信息"/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory",libXp须要安装i386的包,而不能安装X64的包。上面认为64位的linux须要安装64位的libXp包,因此致使这个问题。
再次执行
$ ./runInstaller
遇到错误:Exception in ...... /lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
解决:
# yum -y install libXt.i686
再次执行
$ ./runInstaller
遇到错误:Exception in ...... /lib/i386/libawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
解决:
# yum -y install libXtst.i686
再次执行
$ ./runInstaller
开始执行安装程序。
因为相关的前置做业已经在以前作好了,在这个步骤只须要将UNIX DBA Group选择为dba以及输入SYS, SYSTEM等帐号共享的database Password便可。而后选择Next便可。
一样的,将群组选择为dba群组,按Next
在这个步骤中,请点选Checking Network Configuration requirements为User Verified,接着按下Next
最后出现Install Summary画面,此时只要按下Install按钮,系统即开始安装。
安装过程...
安装进度大约到65%时会有错误提示: Error in invoking target 'collector' of makefile '/opt/oracle/102/sysman/lib/ins_emdb.mk'.
同时oraInventory/logs/目录下的安装日志文件里面会有以下相似错误提示:
这是oracle安装程序的一个bug,能够忽略此错误继续安装,对系统没什么影响。
在Configuration Assistants 时会出现错误提示:
OUI-25031:Some of the configuration assistants failed.
分析:主机名映射错误
解决:修改/etc/hosts文件,增长IP地址与主机名的映射以下:
接着会遇到错误提示:
ORA-27125:unable to create shared memory segment
解决:
1. 肯定安装oracle所使用的用户组
# id oracle
能够看到oracle组dba id 为501。
2. 修改内核参数
echo "501" >/proc/sys/vm/hugetlb_shm_group
就能够了。
安装到数据库设置助理,能够在这边选取password management做密码的修改,如不须要修改,只须要按下ok按钮便可。
安装完成前,出现如下的设置脚本:
开启一个新的终端,su到root。
将要求执行的两段script依序执行。
/opt/oracle/oraInventory/orainstRoot.sh /opt/oracle/102/root.sh
执行画面如上图。 执行完后,回到安装窗口按下OK完成全部的oracle安装。安装完成会出现如下画面。
此时,您能够以上述网址,做为测试,登入帐号能够为sys或system
http://CentOS-Oracle:5560/isqlplus http://CentOS-Oracle:5560/isqlplus/dba http://CentOS-Oracle:1158/em
以上画面都成功表明oracle已经正常安装了。
6、升级Oracle到patchset 10.2.0.4
一、升级软件
a. 关闭须要升级的实例
中止实例
SQL> SHUTDOWN IMMEDIATE
中止与该实例相关的全部后台进程
$ emctl stop dbconsole
$ isqlplusctl stop
$ lsnrctl stop
b. 备份Oracle数据库
c. 运行升级包升级软件
将补丁包p6810189_10204_Linux-x86-64.zip解压;进入解压后的目录,执行安装命令。
点击“Next”
指定Oracle Home 目录详细,点击“Next”
点击“Next”
点击“Next”
点击“Install”,进行安装。
升级过程...
须要执行脚本/opt/oracle/102/root.sh
开一个新窗口,在root帐户下执行脚本。
执行完后,回到安装窗口按下“OK”完成全部的oracle安装。安装完成会出现如下画面。
点击“Exit”,退出Oracle的升级。
若是此前并无建立数据库,那么升级到10.2.0.4到此就结束了。而后能够去建立新的数据库。
若是此前已经建立了数据库,那么按如下步骤升级数据库到10.2.0.4版本。
二、升级数据库
a. 更新数据字典
$ sqlplus / as sysdba;
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql
升级过程比较长,请耐心等待。
升级完毕,总耗时38分钟26秒。
SQL> SPOOL OFF
b. 关闭并重启数据库
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
c. 编译无效PL/SQL包
SQL> @?/rdbms/admin/utlrp.sql
编译成功。
d. 检查升级是否成功,若是全部组件的status都是valid表示升级成功。
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
e. 检查是否有升级错误
SQL> select * from utl_recomp_errors;
f. 修改系统兼容性参数
SQL> alter system set compatible='10.2.0.4.0' scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP
升级完成。
7、使用rlwrap调用sqlplus中历史命令
在Linux中运行SQL*Plus,不能调用历史命令;输错字符后也不能按Backspace键或Del键删除,虽然能够经过Ctrl+Backspace组合键实现删除功能,可是严重影响使用效率。使用第三方软件rlwrap能够实现以上功能。
rlwrap提供了readline的封装(bash下命令的输入都是经过readline这个库来处理的。也就是说,上下箭头查看历史命令,Ctrl+r反向查找匹配历史输入,以及Ctrl+w, Ctrl+a等等操做都是由readline提供的),也就是说rlwrap提供一个输入环境,在这个输入环境下可使用readline的各类功能。若是一个程序在命令行下接受输入,那么用rlwrap直接就能够获得像在bash下输入那样的效果。
7.1 安装rlwrap
rlwrap封装了readline,因此安装rlwrap以前须要安装readline库。能够经过yum方式安装,也能够下载源码包进行安装。官方网站:http://utopia.knoware.nl/~hlub/uck/rlwrap/
I. yum方式安装
CentOS系统默认的yum软件仓库中没有rlwrap这个包,须要经过第三方yum源安装。
a. 安装第三方yum源
# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 //导入key
默认会在/etc/yum.repos.d/下建立epel.repo和epel-testing.repo两个配置文件。
b. 安装rlwrap和readline
# yum install rlwrap readline readline-devel
II. 源码包安装
其余Linux发行版若是源里没有rlwrap和readline的(如SUSE企业版默认没有这两个包),要分别下载这两个源码包编译安装一下。
a. 安装readline
# wget ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz # tar zxvf readline-6.2.tar.gz # cd readline-6.2/ # ./configure # make # make install
b. 安装rlwrap
# wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz # tar zxvf rlwrap-0.37.tar.gz # cd rlwrap-0.37/ # ./configure # make # make install
7.2 设置sqlplus的系统别名
# vim /home/oracle/.bash_profile
在尾部添加:
alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman'
退出oracle用户再从新登陆就OK了。如今Linux下的sqlplus用起来就像cmd中同样了。
CentOS 6.3(x86_32)下安装Oracle 10g R2
http://www.cnblogs.com/mchina/archive/2012/11/06/2737472.html
Linux Oracle服务启动&中止脚本与开机自启动
http://www.cnblogs.com/mchina/archive/2012/11/27/2782993.html
目 录
1、硬件要求 2、软件 3、系统安装注意 4、安装Oracle前的系统准备工做 5、安装Oracle,并进行相关设置 6、升级Oracle到patchset 10.2.0.4 7、使用rlwrap调用sqlplus中历史命令
1、硬件要求
一、内存 & swap
Minimum: 1 GB of RAM Recommended: 2 GB of RAM or more
检查内存状况
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
二、硬盘
因为CentOS安装后差很少有4~5G,再加上Oracle等等的安装,因此请准备至少10G的硬盘空间。
检查磁盘状况
# df -h
2、软件
系统平台:CentOS 6.3(x86_64)
CentOS-6.3-x86_64-bin-DVD1.iso
Oracle版本:Oracle 10g R2
10201_database_linux_x86_64.cpio
补丁:p6810189_10204
p6810189_10204_Linux-x86-64.zip
3、系统安装注意
系统安装时必定要安装桌面模式,不然没法安装oracle,另外请勿开启SELinux,oracle官方不建议使用SELinux,CentOS的防火墙也请暂时关闭,减小安装时的困扰。为防止Oracle安装过程当中出现乱码,建议使用英文做为系统语言,进行Oracle的安装工做。
本文中所描述的系统命令,未经特殊标示,均为“#”表明root权限,“$”表明oracle权限。
4、安装Oracle前的系统准备工做
首先,请先以root帐号登入做一些前置设定做业。
一、关闭防火墙、禁用SELinux
# setup
# vi /etc/selinux/config
修改SELINUX=disabled,而后重启。 若是不想重启系统,使用命令setenforce 0
二、安装依赖包
Oracle官方文档要求的安装包:
查看Oracle相关包是否已经安装:
用yum方式安装所需的包:
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat
最后还须要安装libXp这个Library,这个必定要安装,不然安装Oracle时会出现java Exception。
# yum install libXp
三、建立Oracle用户与组
在这里只讨论单主机环境,不考虑RAC环境的配置。
执行如下指令以新增oracle安装时所须要的使用者与群组。
(1) 创建群组oinstall # groupadd oinstall
(2) 创建群组dba # groupadd dba
(3) 新增使用者oracle并将其加入oinstall和dba群组 # useradd -m -g oinstall -G dba oracle
(4) 测试oracle帐号是否创建完成 # id oracle
(5) 创建oracle的新密码 # passwd oracle
四、将oracle使用者加入到sudo群组中
# vi /etc/sudoers
找到 root ALL=(ALL) ALL 这行,而且在底下再加入 oracle ALL=(ALL) ALL 输入wq!(因为这是一份只读文档因此须要再加上!)而且按下Enter
五、配置系统内核参数
# vi /etc/sysctl.conf
修改和添加如下内容:
kernel.shmall = 4294967296 //表示系统一次可使用的共享内存总量(以页为单位)。缺省值就是2097152,一般不须要修改 kernel.shmmax = 68719476736 //定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来讲,该缺省值过低了,一般将其设置为2G kernel.shmmni = 4096 //用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。一般不须要更改 kernel.sem = 250 32000 100 128 //表示设置的信号量 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=4194304 //默认的接收窗口大小 net.core.rmem_max=4194304 //接收窗口的最大大小 net.core.wmem_default=262144 //默认的发送窗口大小 net.core.wmem_max=262144 //发送窗口的最大大小
会有一些与目前的参数重复的,就修改为文件上提供的。
编辑完以后,储存,而后执行:
# sysctl -p
启用刚刚所作的变动。
六、编辑/etc/security/limits.conf
# vi /etc/security/limits.conf
添加如下四行 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
七、编辑/etc/pam.d/login
# vi /etc/pam.d/login
添加如下两行 session required /lib64/security/pam_limits.so session required pam_limits.so
八、修改/etc/profile
# vi /etc/profile
将如下代码新增到profile档案中。
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
九、修改Linux发行版本信息
因为Oracle 10g发行的时候,CentOS 6没有发行,因此Oracle 10g并无对CentOS 6确认支持,须要修改文件让Oracle 10g支持CentOS 6。
咱们须要手工修改Linux的发行注记,让Oracle 10g支持CentOS 6。
编辑/etc/redhat-release文件
# vi /etc/redhat-release
将其中的内容CentOS release 6.3 (Final)修改成redhat 4
十、建立Oracle安装文件夹以及数据存放文件夹
#mkdir /opt/oracle #mkdir /opt/oracle/102 #chown -R oracle:dba /opt/oracle
十一、配置Linux主机
检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1便可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,致使没法启动监听,在此手工添加此记录便可。
第一阶段到此完毕,接下来,完成这些设定以后,请先注销root帐号,而且以oracle帐号再次登入系统。
十二、配置oracle用户环境变量
$ cd /home/oracle $ vi .bash_profile 修改并加入如下內容
ORACLE_BASE=/opt/oracle //上面建立的Oracle安装文件夹 ORACLE_HOME=$ORACLE_BASE/102 ORACLE_SID=orcl LD_LIBRARY_PATH=$ORACLE_HOME/lib PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
保存后使用以下命令,使设置生效:
$ source /home/oracle/.bash_profile
5、安装Oracle,并进行相关设置
一、解压缩安装文件
将下载的10201_database_linux_x86_64.cpio放至即将安装oracle的文件夹/opt/oracle 回到终端模式而且进入到oracle文件夹:
$ cd /opt/oracle
解压缩10201_database_linux_x86_64.cpio
$ cpio -idmv < 10201_database_linux_x86_64.cpio
接着会看到一连串的解压缩动做。
解压缩完成会在同一个文件夹中看到database的文件夹,请进入到database文件夹中:
$ cd database
准备执行数据库安装,若是你的centos是中文环境,安装时会出现中文乱码,请下如下指令
$ export LANG=en_US
接着执行
$ ./runInstaller
若是没法看到安装界面,请使用root账户执行以下命令后再运行安装程序:
# export DISPLAY=:0.0 # xhost + $ ./runInstaller
遇到错误:Exception in ...... /lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
解决:
# yum -y install libXp.i686
分析:看报错信息"/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory",libXp须要安装i386的包,而不能安装X64的包。上面认为64位的linux须要安装64位的libXp包,因此致使这个问题。
再次执行
$ ./runInstaller
遇到错误:Exception in ...... /lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
解决:
# yum -y install libXt.i686
再次执行
$ ./runInstaller
遇到错误:Exception in ...... /lib/i386/libawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
解决:
# yum -y install libXtst.i686
再次执行
$ ./runInstaller
开始执行安装程序。
因为相关的前置做业已经在以前作好了,在这个步骤只须要将UNIX DBA Group选择为dba以及输入SYS, SYSTEM等帐号共享的database Password便可。而后选择Next便可。
一样的,将群组选择为dba群组,按Next
在这个步骤中,请点选Checking Network Configuration requirements为User Verified,接着按下Next
最后出现Install Summary画面,此时只要按下Install按钮,系统即开始安装。
安装过程...
安装进度大约到65%时会有错误提示: Error in invoking target 'collector' of makefile '/opt/oracle/102/sysman/lib/ins_emdb.mk'.
同时oraInventory/logs/目录下的安装日志文件里面会有以下相似错误提示:
这是oracle安装程序的一个bug,能够忽略此错误继续安装,对系统没什么影响。
在Configuration Assistants 时会出现错误提示:
OUI-25031:Some of the configuration assistants failed.
分析:主机名映射错误
解决:修改/etc/hosts文件,增长IP地址与主机名的映射以下:
接着会遇到错误提示:
ORA-27125:unable to create shared memory segment
解决:
1. 肯定安装oracle所使用的用户组
# id oracle
能够看到oracle组dba id 为501。
2. 修改内核参数
echo "501" >/proc/sys/vm/hugetlb_shm_group
就能够了。
安装到数据库设置助理,能够在这边选取password management做密码的修改,如不须要修改,只须要按下ok按钮便可。
安装完成前,出现如下的设置脚本:
开启一个新的终端,su到root。
将要求执行的两段script依序执行。
/opt/oracle/oraInventory/orainstRoot.sh /opt/oracle/102/root.sh
执行画面如上图。 执行完后,回到安装窗口按下OK完成全部的oracle安装。安装完成会出现如下画面。
此时,您能够以上述网址,做为测试,登入帐号能够为sys或system
http://CentOS-Oracle:5560/isqlplus http://CentOS-Oracle:5560/isqlplus/dba http://CentOS-Oracle:1158/em
以上画面都成功表明oracle已经正常安装了。
6、升级Oracle到patchset 10.2.0.4
一、升级软件
a. 关闭须要升级的实例
中止实例
SQL> SHUTDOWN IMMEDIATE
中止与该实例相关的全部后台进程
$ emctl stop dbconsole
$ isqlplusctl stop
$ lsnrctl stop
b. 备份Oracle数据库
c. 运行升级包升级软件
将补丁包p6810189_10204_Linux-x86-64.zip解压;进入解压后的目录,执行安装命令。
点击“Next”
指定Oracle Home 目录详细,点击“Next”
点击“Next”
点击“Next”
点击“Install”,进行安装。
升级过程...
须要执行脚本/opt/oracle/102/root.sh
开一个新窗口,在root帐户下执行脚本。
执行完后,回到安装窗口按下“OK”完成全部的oracle安装。安装完成会出现如下画面。
点击“Exit”,退出Oracle的升级。
若是此前并无建立数据库,那么升级到10.2.0.4到此就结束了。而后能够去建立新的数据库。
若是此前已经建立了数据库,那么按如下步骤升级数据库到10.2.0.4版本。
二、升级数据库
a. 更新数据字典
$ sqlplus / as sysdba;
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql
升级过程比较长,请耐心等待。
升级完毕,总耗时38分钟26秒。
SQL> SPOOL OFF
b. 关闭并重启数据库
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
c. 编译无效PL/SQL包
SQL> @?/rdbms/admin/utlrp.sql
编译成功。
d. 检查升级是否成功,若是全部组件的status都是valid表示升级成功。
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
e. 检查是否有升级错误
SQL> select * from utl_recomp_errors;
f. 修改系统兼容性参数
SQL> alter system set compatible='10.2.0.4.0' scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP
升级完成。
7、使用rlwrap调用sqlplus中历史命令
在Linux中运行SQL*Plus,不能调用历史命令;输错字符后也不能按Backspace键或Del键删除,虽然能够经过Ctrl+Backspace组合键实现删除功能,可是严重影响使用效率。使用第三方软件rlwrap能够实现以上功能。
rlwrap提供了readline的封装(bash下命令的输入都是经过readline这个库来处理的。也就是说,上下箭头查看历史命令,Ctrl+r反向查找匹配历史输入,以及Ctrl+w, Ctrl+a等等操做都是由readline提供的),也就是说rlwrap提供一个输入环境,在这个输入环境下可使用readline的各类功能。若是一个程序在命令行下接受输入,那么用rlwrap直接就能够获得像在bash下输入那样的效果。
7.1 安装rlwrap
rlwrap封装了readline,因此安装rlwrap以前须要安装readline库。能够经过yum方式安装,也能够下载源码包进行安装。官方网站:http://utopia.knoware.nl/~hlub/uck/rlwrap/
I. yum方式安装
CentOS系统默认的yum软件仓库中没有rlwrap这个包,须要经过第三方yum源安装。
a. 安装第三方yum源
# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 //导入key
默认会在/etc/yum.repos.d/下建立epel.repo和epel-testing.repo两个配置文件。
b. 安装rlwrap和readline
# yum install rlwrap readline readline-devel
II. 源码包安装
其余Linux发行版若是源里没有rlwrap和readline的(如SUSE企业版默认没有这两个包),要分别下载这两个源码包编译安装一下。
a. 安装readline
# wget ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz # tar zxvf readline-6.2.tar.gz # cd readline-6.2/ # ./configure # make # make install
b. 安装rlwrap
# wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz # tar zxvf rlwrap-0.37.tar.gz # cd rlwrap-0.37/ # ./configure # make # make install
7.2 设置sqlplus的系统别名
# vim /home/oracle/.bash_profile
在尾部添加:
alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman'
退出oracle用户再从新登陆就OK了。如今Linux下的sqlplus用起来就像cmd中同样了。
CentOS 6.3(x86_32)下安装Oracle 10g R2
http://www.cnblogs.com/mchina/archive/2012/11/06/2737472.html
Linux Oracle服务启动&中止脚本与开机自启动
http://www.cnblogs.com/mchina/archive/2012/11/27/2782993.html