应用Oracle(Linux中的安装)
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中的安装)的更多相关文章
- linux中编译安装Apache、PHP、MySQL(上)
1.简介 在阿里云买了个云服务器,一直没时间折腾.过了近十天了吧,才有时间好好玩玩这个云服务器.自己是做Web开发的,所以我需要的开发环境是LAMP.之前打算是采用yum安装,不过yum安装apach ...
- Linux中redis安装配置及使用详解
Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...
- Linux中Nginx安装与配置详解
转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...
- Linux中如何安装Apache服务器
Linux中如何安装Apache服务器 由于学习的需要,所有手动安装了一下Apache源码包,安装过程中的问题千奇百怪,但是如果弄清楚了问题出在哪里,那么也不是太难.如果有学习者出现安装中的问题,可仔 ...
- Linux课程---11、Linux中软件安装和调试
Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...
- linux中Nginx安装
linux中Nginx安装 编译安装 Nginx的优点太多,这里不再赘述,详情请看这篇博客深入理解nginx. Nginx的安装有rpm包安装.编译安装和docker安装.本文将介绍编译安装方 ...
- linux中RabbitMQ安装教程
linux中RabbitMQ安装教程 在做一个微服务项目时候用到消息队列,于是深入了解了消息队列知识,并在linux上安装了Rabbitmq,本博客介绍Rabbitmq的安装教程,想要深入了解消息队列 ...
- linux中rpm安装
目录 一:linux中rpm安装 1.rpm简介 2.区别 3.RPM命令五种基本模式 二:RPM安装全面解析 1,下载软件包 2, 安装软件包 3, 尝试卸载 4, 更新(升级) 5,软件包名称: ...
- Oracle Linux(64位)安装64位Oracle10g遇到ins_ctx.mk问题
在Oracle Linux Server Release 5.7上安装64位Oracle 10g 时,遇到如下问题: Error in invoking target 'install' of mak ...
随机推荐
- Java Web中资源的访问路径
在web应用中,以“/”开头的是绝对路径,不以“/”开头的是相对路径. 在服务器端,通常都使用绝对路径.例如web.xml.struts.xml.servlet等的访问路径都是以“/”开始. 服务 ...
- C:\WINDOWS\system32\drivers\etc\hosts host文件夹里面的内容是什么?
这个文件是根据TCP/IP for Windows 的标准来工作的,它的作用是包含IP地址和Host name(主机名)的映射关系,是一个映射IP地址和Host name(主机名)的规定,规定要求每段 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(28)-系统小结
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(28)-系统小结 我们从第一节搭建框架开始直到二十七节,权限管理已经告一段落,相信很多有跟上来的园友,已经 ...
- python装饰实现线程同步
import threading def tryfinally(finallyf): u"returns a decorator that adds try/finally behavi ...
- jQuery日期联动插件
此版本为网上的日期联动插件修改版,加入了修改后事件 /* * jQuery Date Selector Plugin * 日期联动选择插件 * * Demo: $("#calendar&qu ...
- Java基础知识强化之集合框架笔记47:Set集合之TreeSet保证元素唯一性和比较器排序的原理及代码实现(比较器排序:Comparator)
1. 比较器排序(定制排序) 前面我们说到的TreeSet的自然排序是根据集合元素的大小,TreeSet将它们以升序排列. 但是如果需要实现定制排序,比如实现降序排序,则要通过比较器排序(定制排序)实 ...
- Python获取Origin官网视频
程序说明:最近学习origin,看到官网有入门视频(http://www.originlab.com/index.aspx?go=SUPPORT/VideoTutorials),看着挺多的,就用pyt ...
- 兼容IE浏览器的placeholder【超不错】
jQuery EnPlaceholder plug (兼容IE浏览器的placeholder)使用 >>>>>>>>>>>>&g ...
- matlab切比雪夫拟合
matlab中没有切比雪夫拟合的现成算法,这里把我程序中的这部分抽出来,说一下. 1.首先是切比雪夫计算式 function [ res ] = ChebyShev(num,i) res=; else ...
- python-集合(第二篇(七):集合)
第二篇(七):集合 python 集合 集合标准操作 摘要: 说明: ·类似于数学中学的集合,Python中的集合可以实现去重的功能,通过set()函数来实现: ·sets支持x in set, ...