Linux中安装Oracle,不同于windows。
  Linux在安装时,要作些必要的分区配置,以便进行Oracle的安装;
  同时需要创建专门的数据库用户和组,并配置环境变量。

root登录

使用 root 来配置 Oracle 环境
其中**检查环境**部分,需要在安装 Oracle

检查和配置环境

检查环境

1、swap空间

# swap 空间大小,应满足以下条件
# 内存 1~2 G,swap 空间大小应为2倍内存
# 内存 2~16 G, swap 空间大小等同于内存
# 内存 > 16 G,swap 空间大小为 16 G
grep MemTotal /proc/meminfo

2、空闲硬盘

# Oracle 企业版或标准版,需要至少约 4G 安装空间,约 2G 数据文件空间
# /tmp 空间信息
df -h /tmp
# 各个磁盘空间信息
df -h

配置环境

1、需安装软件包(以 RHEL 6 为例)

以下软件包可能已安装,另 x86_64 为 64 位,i686 为 32 位
注意,早期的 32 位包后缀是 i386
若在其后图形化安装的检查中,提示某些包未安装,可能是 Oracle 安装检查不能识别部分 i686 的文件(已安装

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (i686)
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (i686)
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (i686)
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6 (i686)
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6 (i686)
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6 (i686)
libXext-1.1 (x86_64)
libXext-1.1 (i686)
libXtst-1.0.99.2 (x86_64)
libXtst-1.0.99.2 (i686)
libX11-1.3 (x86_64)
libX11-1.3 (i686)
libXau-1.0.5 (x86_64)
libXau-1.0.5 (i686)
libxcb-1.5 (x86_64)
libxcb-1.5 (i686)
libXi-1.3 (x86_64)
libXi-1.3 (i686)
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)

安装Oracle软件

命令行操作

1、配置 Oracle 用户和组

# 创建组
groupadd oinstall
# 创建 OSDBA 组
groupadd dba
# 创建 Oracle 用户
useradd –g oinstall –G dba oracle
# 修改Oracle 密码
passwd oracle

2、配置系统内核参数

vim /etc/sysctl.conf

添加以下内容:

fs.aio-max-nr = 1048576
# 该参数表示文件句柄的最大数量
# 文件句柄设置表示在linux系统中可以打开的文件数# 量
fs.file-max = 6815744
# 该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152
# 通常不需要修改
kernel.shmall = 524288
# 系统共享内存大小优化
kernel.shmmax = 524288
# 这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是4096 # 通常不需要更改
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000
net.ipv4.ip_local_port_range = 9000 65500
# 默认的TCP/IP接收缓冲大小
net.core.rmem_default = 262144
# 最大socket读buffer,可参考的优化值:873200
net.core.rmem_max = 4194304
# 默认的TCP/IP发送窗口大小
net.core.wmem_default = 262144
# 最大socket写buffer,可参考的优化值:873200
net.core.wmem_max = 1048586

使修改后系统内核参数立即生效:

sysctl -p

3、配置 Oracle 用户资源限制

vi /etc/security/limits.conf

在其后增加以下内容:

oracle              soft    nproc   2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

4、配置 Oracle 相关目录

mkdir -p /home/oracle_11/app/
chown -R oracle:oinstall /home/oracle_11/app/
chown -R oracle:oinstall /home/oracle_11
chmod -R 775 /home/oracle_11/app/

5、配置 Oracle 用户环境

vim /home/oracle/.bash_profile

在该文件后增加以下内容:

umask 022
export ORACLE_BASE=/home/oracle_11/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl
# Oracle实例名,可修改
export PATH=$PATH:HOME/bin:$ORACLE_HOME/bin

login:登陆配置文件
附:etc指的系统配置文件目录,pam.d指的是验证登陆配置

vim /etc/pam.d/login

在该文件中,增加以下内容:

session required /lib/security/pam_limits.so
session required pam_limits.so

profile:配置环境变量,对所有用户有效

vim /etc/profile

在该文件后,增加以下内容:

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

6、配置 Oraclle 用户图形化界面展示

查看 oracle 用户是否已设置 DISPLAY 变量

echo $DISPLAY

若为空,则在 oracle 用户目录下的 .bash_profile 中增加如下内容:

DISPLAY:=0.0

注:0.0表示使用本地机器界面

图形化界面安装

1、准备

附:lrzsz 安装过程

yum install lrzsz
ln -s /usr/local/lrzsz/bin/lrz rz
ln -s /usr/local/lrzsz/bin/lsz sz

使用 secureCRT,root登录(一般安装软件都是用管理员权限)

rz –be

二进制上传大型文件,注意勾销“以 ASCII 方式上传文件”

选择 Oracle 官网下载安装包后,确定,开始上传

上传完毕后,执行命令

mv linux* /tmp
cd /tmp
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
# 此步用户连接远程服务器(此处使用本地机器,略)
# xhost +
# 切换到用户 oracle,开始安装
su - oracle
# 防止中文乱码
export LANG=en_US
cd /database
./runInstaller

2、图形化安装过程

创建数据库实例









其后,点击 Finish 开始安装。

若安装过程中,出现错误。需要查看日志或上网检索原因(一般是没有安装必须原则的软件包)

3、图形化安装结束后,需执行2个脚本

su – root
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1
sh root.sh
cd /home/oracle/app/oraInventory
sh orainstRoot.sh

4、创建实例

su - oracle
export LANG=en_US
dbca

显示数据库配置向导界面,

(1)选择“create a database”

(2)选择“custom database”

(3)database 和 sid 均设为 orcl(可按需命名)

(4)不配置“enterprises manager”,实际中很少用此功能

(5)密码使用统一密码,便于记忆(工作中,按要求设置,可能是每个用户密码不同)

(6)数据库存放位置采取默认

(7)不勾选快速回复和归档,工作中,快速恢复和归档按需设置
注:归档便于查看数据库信息

(8)按需选择“Database Components”

(9)数据库参数一般选择默认
另外,中文开发时,字符集选择 ZHS16GBK - GBK 16-bit Simplified Chinese
National Character Set 选择 AL16UTF16 - Unicode UTF-16 Universal character set
其余默认

(10)测试实例是否创建成功
打开一个新的终端
sqlplus /nolog

若显示 Oracle 信息,则实例创建成功

配置监听和本地网络服务

su - oracle
netca

显示数据库网络配置界面

(1)选择 “Listener configuration”

(2)选择 “Add”

(3)配置 Listener 名称和所用协议(一般为 TCP)

(4)不配置其他监听器

(5)选择“Local Net Service Name configuration”

(6)选择“Add”

(7)输入“Service Name”,要与图形化安装过程中输入的 sid 相同

(8)协议使用 TCP

(9)输入 Host name(即 Oracle 安装系统 ip 地址)和端口号(默认是1521)

(10)选择“Yes,perform a test”

(11)输入图形化安装时,确定的用户和密码,查看测试结果

(12)若不成功,开放端口 1521

iptables -I INPUT -p tcp --dport 1521 -j ACCEPT
service iptables save
iptables:将防火墙规则保存到 /etc/sysconfig/iptables: [确定]
service iptables restart
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
iptables:应用防火墙规则: [确定]
service iptables status

再次测试,成功

(13)输入 service name,一般与 sid 相同

(14)结束,关闭界面

额外配置

使用 dbstart 和 dbshut 来启动/关闭数据库

使用dbstart和dbstop来启动Oracle服务

可能使用dbstart命令来启动数据库更方便一些,但初次安装完oracle之后使用dbstart命令会报这样的错误

ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /u01/app/oracle/product/11.2/db/bin/dbstart ORACLE_HOME

出现这样错误的原因是由于没有设置ORACLE_HOME_LISTNER的原因,我们查看一下dbstart这个文件

more  /home/oracle_11/app/oracle/product/11.2.0/db_1/bin/dbstart

部分内容如下

# First argument is used to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=$1
if [ ! $ORACLE_HOME_LISTNER ] ; then
echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"
echo "Usage: $0 ORACLE_HOME"
else
LOG=$ORACLE_HOME_LISTNER/listener.log
# Set the ORACLE_HOME for the Oracle Net Listener, it gets reset to
# a different ORACLE_HOME for each entry in the oratab.
export ORACLE_HOME=$ORACLE_HOME_LISTNER

解决方案:$ORACLE_HOME_LINTNER 的值原来为 $1,修改为 $ORACLE_HOME

再一次执行dbstart,但是没有反映,没有报错,如果我们需要使用dbstart,则需要在/etc/oratab这个文件中的实例最后的N改成Y,如下

orcl:/home/oracle_11/app/oracle/product/11.2/db:Y

OK,保存,再试一下dbstart命令,返回结果如下

Processing Database instance "orcl": log file /home/oracle_11/app/oracle/product/11.2.0/db_1/startup.log

dbshut进行同样的设置.

这样,以后就可以在启动监听之后直接使用dbstart和dbshut命令来启动和关闭数据了

Oracle自动启动

将Oracle服务添加到Linux开机启动项,以root用户建立/etc/rc.d/init.d/oradb脚本文件,文件内容如下:

#!/bin/bash
# chkconfig: 2345 90 10
export ORACLE_BASE=/home/oracle_11/app/
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
ORCL_OWN="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- start, stop, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbstart"
touch /var/lock/subsys/oradb
su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl stop dbconsole"
su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbshut"
rm -f /var/lock/subsys/oradb
echo "OK"
;;
reload|restart)
$0 stop
$1 start
;;
*)
echo "Usage: 'basename $0' start|stop|restart|reload"
exit 1
esac
exit 0

将该文件添加到开机启动

chmod 755 /etc/rc.d/init.d/oradb
chkconfig --add oradb

重启服务

service oradb stop
service oradb start

下次启动机器的时候,Oracle服务会随机器一起启动。

应用Oracle(Linux中的安装)的更多相关文章

  1. linux中编译安装Apache、PHP、MySQL(上)

    1.简介 在阿里云买了个云服务器,一直没时间折腾.过了近十天了吧,才有时间好好玩玩这个云服务器.自己是做Web开发的,所以我需要的开发环境是LAMP.之前打算是采用yum安装,不过yum安装apach ...

  2. Linux中redis安装配置及使用详解

    Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...

  3. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

  4. Linux中如何安装Apache服务器

    Linux中如何安装Apache服务器 由于学习的需要,所有手动安装了一下Apache源码包,安装过程中的问题千奇百怪,但是如果弄清楚了问题出在哪里,那么也不是太难.如果有学习者出现安装中的问题,可仔 ...

  5. Linux课程---11、Linux中软件安装和调试

    Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...

  6. linux中Nginx安装

    linux中Nginx安装 编译安装 ​ Nginx的优点太多,这里不再赘述,详情请看这篇博客深入理解nginx. ​ Nginx的安装有rpm包安装.编译安装和docker安装.本文将介绍编译安装方 ...

  7. linux中RabbitMQ安装教程

    linux中RabbitMQ安装教程 在做一个微服务项目时候用到消息队列,于是深入了解了消息队列知识,并在linux上安装了Rabbitmq,本博客介绍Rabbitmq的安装教程,想要深入了解消息队列 ...

  8. linux中rpm安装

    目录 一:linux中rpm安装 1.rpm简介 2.区别 3.RPM命令五种基本模式 二:RPM安装全面解析 1,下载软件包 2, 安装软件包 3, 尝试卸载 4, 更新(升级) 5,软件包名称: ...

  9. Oracle Linux(64位)安装64位Oracle10g遇到ins_ctx.mk问题

    在Oracle Linux Server Release 5.7上安装64位Oracle 10g 时,遇到如下问题: Error in invoking target 'install' of mak ...

随机推荐

  1. 用code workshop取代code review

    Box Tech Blog » Effective learning through code workshops介绍了Box如何用code workshop而不是code review的形式来改善代 ...

  2. Android Studio打包签名全过程

    Step1:Build-----Generate Step2:签名文件保存位置,习惯性的保存在项目的根目录下E:\Users\StudioProject\SmartHust\smarthust.jks ...

  3. java中经常使用的日期格式化(全)

    import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...

  4. 用.class文件创建对象

    第一步:  给你一个编译好的class文件以及它的包名,创建一个对象出来. 1)class文件源代码 package com.wsc.classloader; public class Tool{ p ...

  5. SICP 习题 (1.8) 解题总结

    SICP 习题1.8需要我们做的是按照牛顿法求平方根的方法做一个求立方根的过程. 所以说书中讲牛顿法求平方根的内容还是要好好理解,不然后面这几道题做起来就比较困难. 反过来,如果理解了牛顿法求平方根的 ...

  6. JWS-webservice 与Axis2-webservice的高速实现

    在详细介绍这两种框架下的webservice之前,先跟大家交流一下SOA认识,也就是面向服务的体系结构.SOA所要解决的主要问题是在现有基础环境的前提下,通过对现有应用程序和基础结构进行又一次的组合以 ...

  7. Instruction (hdu 5083)

    Instruction Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  8. at91sam9x5 linux 4.1.0下使能蜂鸣器驱动

    测试环境:  CPU: AT91SAM9X35      Linux: Atmel提供的linux-at91-linux4sam_5.3 (Linux-4.1.0) 转载请注明: 凌云物网智科嵌入式实 ...

  9. 第六篇:python高级之网络编程

    python高级之网络编程   python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及 ...

  10. oracle decode函数使用方法

    1.decode(V1,1,A,2,B,C) 如果V1=1 那么显示A =2显示B 其他显示C ........ 2. 含义解释:  decode(条件,值1,返回值1,值2,返回值2,...值n,返 ...