linux安装oracle
目 录
一、硬件要求
二、软件
三、系统安装注意
四、安装Oracle前的系统准备工作
五、安装Oracle,并进行相关设置
六、升级Oracle到patchset 10.2.0.4
七、使用rlwrap调用sqlplus中历史命令
一、硬件要求
1、内存 & swap
Minimum: 1 GB of RAM
Recommended: 2 GB of RAM or more
2、硬盘
由于CentOS安装后差不多有4~5G,再加上Oracle等等的安装,所以请准备至少10G的硬盘空间。
二、软件
系统平台: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
三、系统安装注意
系统安装时一定要安装桌面模式,否则无法安装oracle,另外请勿开启SELinux,oracle官方不建议使用SELinux,CentOS的防火墙也请暂时关闭,减少安装时的困扰。为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作。
本文中所描述的系统命令,未经特殊标示,均为“#”代表root权限,“$”代表oracle权限。
四、安装Oracle前的系统准备工作
首先,请先以root账号登入作一些前置设定作业。
1、关闭防火墙、禁用SELinux
# setup
# vi /etc/selinux/config
修改SELINUX=disabled,然后重启。
如果不想重启系统,使用命令setenforce 0
2、安装依赖包
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
3、创建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
4、将oracle使用者加入到sudo群组中
# vi /etc/sudoers
找到
root ALL=(ALL) ALL
这行,并且在底下再加入
oracle ALL=(ALL) ALL
输入wq!(由于这是一份只读文档所以需要再加上!)并且按下Enter
5、配置系统内核参数
# vi /etc/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 = 9000 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
会有一些与目前的参数重复的,就修改成文件上提供的。
该参数保存在/etc/sysctl.conf 下,修改该文件不需要重启OS,只需要使用如下命令:
# /sbin/sysctl -p
就可以让修改的参数生效。
启用刚刚所做的变更。
6、编辑/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
7、编辑/etc/pam.d/login
# vi /etc/pam.d/login
添加以下两行
session required /lib64/security/pam_limits.so
session required pam_limits.so
8、修改/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
9、修改Linux发行版本信息
10、创建Oracle安装文件夹以及数据存放文件夹
#mkdir /opt/oracle
#mkdir /opt/oracle/102
#mkdir /opt/oracle/oradata
#mkdir /opt/oraIventory
#chown -R oracle:dba /opt/oracle
#chown -R oracle:dba /opt/praIventory
#chown -R oracle:dba /opt/oracle/oradata
第一阶段到此完毕,接下来,完成这些设定之后,请先注销root账号,并且以oracle账号再次登入系统。
12、配置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
五、安装Oracle,并进行相关设置
1、解压缩安装文件
将下载的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
# 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已经正常安装了。
六、升级Oracle到patchset 10.2.0.4
1、升级软件
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版本。
2、升级数据库
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
升级完成。
七、使用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
linux安装oracle的更多相关文章
- linux 安装oracle 11g
安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 ...
- Linux安装Oracle 11G过程(测试未写完)
一.简介 Oracle数据库在系统运维中的重要性不言而喻,通过熟悉Oracle的安装来加深对操作系统和数据库知识的了解.Linux安装Oracle前期修改linux内核参数很重要,其实就是linux下 ...
- linux安装oracle笔记
linux安装oracle .增大swap空间,内存大于8G后swap跟内存同等大小即可 mkdir /home/swap cd /home/swap mkswap swapfile swapon s ...
- Linux 安装 Oracle 11g R2
一.安装环境 Linux服务器:Centos 6.4 64位 Oracle服务器:Oracle11gR2 64位 二.系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的 ...
- Oracle linux安装Oracle 11G
Oracle linux安装Oracle 11G 系统环境 Oracle linux 5.8.19.6(64位) Oracle 11.2.0.1(64位) 本文档详细介绍Oracle ...
- linux安装oracle 11g rac
安装oracle 11gR2 RAC 一.网络规划及安装虚拟主机 主机名 主机版本 Ip rac1.localdomain Redhat 6.5 RAC节点1 192.168.100.11 rac2. ...
- Linux安装oracle报错解决
安装报错:[oracle@centos1 database]$ ./runInstaller Starting Oracle Universal Installer... Checking insta ...
- linux安装oracle 报错[INS-20802] Oracle Net Configuration Assistant failed 解决办法
[INS-20802] Oracle Net Configuration Assistant failed 首先从LinuxIDC.com下载这个补丁包,然后用 unzip p8670579_1120 ...
- Linux安装 oracle 11g r2
Linux环境配置 OS:Fedora 15 DB:Oracle 11gR2 将Oracle安装到home/oracle_11目录 配置过程:本文来自Oracle官方文档+网上资料 Oracle官方文 ...
随机推荐
- SQL盲注修订建议
一般有多种减轻威胁的技巧: [1] 策略:库或框架 使用不允许此弱点出现的经过审核的库或框架,或提供更容易避免此弱点的构造. [2] 策略:参数化 如果可用,使用自动实施数据和代码之间的分离的结构化机 ...
- nagios&pnp4nagios--yum 安装
一. 环境: 1. centos 6.4 2. 设置hostname 并且安装好apache 3. 关闭selinux及iptables 二. 安装nagios服务器端: 1. rpm -Uvh ht ...
- 命令行下玩VC
说明:(1)转载请注明出处:http://www.cnblogs.com/opangle/p/4298155.html (2)以下以VS2013为例,并假设VC安装路径为%VC_INSTALL_PAT ...
- 结构体 typedef struct hash_cell_struct hash_cell_t;
typedef struct hash_cell_struct hash_cell_t; struct hash_cell_struct{ void* node; /*!< hash chain ...
- spring data jpa入门学习
本文主要介绍下spring data jpa,主要聊聊为何要使用它进行开发以及它的基本使用.本文主要是入门介绍,并在最后会留下完整的demo供读者进行下载,从而了解并且开始使用spring data ...
- POJ 1637 Sightseeing tour ★混合图欧拉回路
[题目大意]混合图欧拉回路(1 <= N <= 200, 1 <= M <= 1000) [建模方法] 把该图的无向边随便定向,计算每个点的入度和出度.如果有某个点出入度之差为 ...
- SharePoint中修改密码的WEB Part之终极版:即可以修改AD,又可以修改本机用户密码的Web Part!!
转:http://www.cnblogs.com/dosboy/archive/2007/08/01/838859.html 在网上查了那么多SharePoint密码修改的第三方开发,都有问题.总结下 ...
- (Java)《head first java》值得Java或面向对象基础的新手看。
看完这本书后本人收获良多. 内容对Java以及面向对象的入门者非常友好. 抽象的内容惯用图解的方法来剖析,通俗易懂 之前看C#入门经典的面向对象时,依然浓浓的一头雾水. (1)很不解为何实例化要写成A ...
- BlockingQueue汇总
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便 ...
- Java虚拟机笔记 – JVM 自定义的类加载器的实现和使用2
1.用户自定义的类加载器: 要创建用户自己的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的findClass(String name)方法即可,该方法根据参数指定类的名 ...