一般来说我们Windows下进行安装Oracle都很简单,但Linux下却要输入很多命令,以下的安装步骤是本人经过多次安装Linux下的Oracle经验,希望能帮到大家

一、在Linux服务器上创建oracle数据库安装目录

1、创建Oracle数据库安装目录:mkdir -p /data/oracle

2、创建Oracle数据库配置文件目录:mkdir -p /data/oraInventory

3、创建Oracle数据包解压目录:mkdir -p /data/database

二、创建运行oracle数据库的系统用户和用户组

1、创建用户组oinstall:groupadd oinstall

2、创建用户组dba:groupadd dba

3、创建用户Oracle,并将Oracle用户加入到oinstall和dba用户组中:useradd -g oinstall -g dba -m oracle

4、设置Oracle用户的密码,根据提示输入2次密码:passwd oracle

5、设置目录所有者为oinstall用户组的Oracle用户:

chown -R oracle:oinstall /data/oracle

chown -R oracle:oinstall /data/oraInventory

chown -R oracle:oinstall /data/database

三、修改操作系统标识(oracle默认不支持CentOS系统安装,安装好Oracle后记得要改回来)

1、修改etc下的redhat-release文件:

vi /etc/redhat-release

把:CentOS release 5.8 (Final) ,修改为:redhat-4后,wq保存并退出

四、设置系统内核参数

1、编辑etc下的sysctl.conf文件:

vi /etc/sysctl.conf #编辑,在最后添加以下代码

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

fs.file-max = 6815744 #设置最大打开文件数

fs.aio-max-nr = 1048576

kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024

kernel.shmmax = 2147483648 #最大共享内存的段大小

kernel.shmmni = 4096 #整个系统共享内存端的最大数

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围

net.core.rmem_default = 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048576

:wq! #保存退出

2、进入到etc目录下,输入以下命令使配置立即生效:sysctl -p

五、设置oracle用户限制,提高软件运行性能

1、编辑limits.conf 文件:

vi /etc/security/limits.conf (#在末尾添加以下代码)

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

:wq! #保存退出

六、配置用户环境

1、编辑.bash_profile文件:

vi /home/oracle/.bash_profile #在最后添加以下代码:

export ORACLE_BASE=/data/oracle #oracle数据库安装目录

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径

export ORACLE_SID=orcl #oracle启动数据库实例名

export ORACLE_TERM=xterm #xterm窗口模式安装

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量

export LANG=C #防止安装过程出现乱码

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题

:wq! #保存退出

2、进入到home目录下的Oracle目录运行以下命令使设置立刻生效:

source .bash_profile

3、关闭SELINX:

编辑config配置文件:vi /etc/selinux/config

SELINUX=enforcing #注释掉

SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

七、视情况决定是暂时关闭还是永久关闭防火墙

systemctl status firewalld.service     //查看防火墙状态

systemctl stop firewalld.service        //关闭防火墙

systemctl disable firewalld.service  //禁止使用防火墙(重启也是禁止的)

八、安装Oracle软件包

1、解压oracle压缩文件到解压目录(压缩包一定要放在解压的目录下)

unzip p13390677_112040_Linux-x86-64_1of7.zip -d /data/database

unzip p13390677_112040_Linux-x86-64_2of7.zip -d /data/database

chown -R oracle:oinstall /data/database/database  #授权

2、安装oracle数据库所需要的软件包(安装过程全都选择yes)

yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-*

单独安装pdksh-5.2.14-37.el5.x86_64.rpm包:

yum install pdksh-5.2.14-37.el5.x86_64.rpm

3、切换到oracle用户,进行Oracle图形化界面安装

su - oracle

cd /data/database/database #进入安装包目录

./runInstaller #安装,出现下面界面

取消:“我希望通过My Oracle Support接收安全更新”前面的勾,不接收更新,点Next

提示是否不接收安全更新通知,选择Yes

勾选“Skip software updates”不更新 ------下一步

选择第二项,仅安装数据库软件

选择第一项,单实例数据库安装

语言选项,默认英语即可

选择第一项:企业版

Oracle安装路径自动识别配置的变量,下一步

安装文件的路径文件目录,自动识别。下一步

Oracle数据库运行组,默认即可

进行安装前系统环境监测

注意:如果有某一项未监测通过,请根据提示做相应修改,直到监测全部通过为止,否则不能进行下一步安装,全部监测通过之后,点install

列出oracle安装清单,选择install

安装过程中

安装过程中弹出的下图中的弹窗,将里面的内容复制出来,并且使用root用户进行执行

执行复制出来的语句(必须进行执行,否则会弹出警告弹窗)

安装完毕,点击close

4、配置监听程序(创建数据库之前必须要先配置)

su - oracle #切换到oracle用户

输入:netca #配置监听程序命令,出现下面界面

选择第一项:监听程序配置,Next

选择第一项:添加,Next

监听程序名,默认即可,Next

协议配置,默认TCP即可

选择第一项:使用标准端口号1521(客户要求特定端口,选择下面的另外一个端口)

询问:是否配置另一个监听程序,选择No

监听程序配置完成,Next

Finish完成

5、创建Oracle数据库实例orcl

su - oracle #切换到oracle用户

dbca #启动oracle实例安装界面,如下图所示

选择Next

选择第一项:创建数据库

默认选择第一项:一般用途或事务处理

全局数据库名:orcl

SID:orcl

默认即可,Next

口令配置,可以为每个账户设置不同的口令,也可以为所有账户设置一个相同的口令,选择第二项:所有账户使用同一管理口令

如果口令设置的太简单,不满足Oracle口令的复杂性要求,会弹出下面的界面,可以选择是或者选择否,然后返回口令设置,重新设置一个复杂的口令

存储类型:文件系统。存储位置:使用模版中的数据库文件位置,默认选择next

默认选择:指定快速恢复区

默认,Next

默认,Next

切换到调整大小:进程300(可以根据服务器配置设置)

切换到字符集设置

选择第三项:从字符集列表中选择

选择:ZHS16GBK- GBK 16-bit Simplified Chinese

国家字符集:AL16UTF16-Unicode UTF-16 Universal character set

默认语言:Simplified Chinese

默认地区:China

切换到连接模式,选择:专用服务器模式

全部设置完成之后,点Next

勾选:创建数据库

勾选:生成数据库创建脚本

点Finish

点Ok

正在创建数据库

数据库创建完成,点Exit退出

6、启动和关闭oracle数据库

开启数据库:

su - oracle #切换到oracle用户

sqlplus /nolog #进入sqlplus

conn / as sysdba #以超级管理员权限登录

startup #启动数据库实例

quit #退出

lsnrctl start #启动监听

关闭数据库:

su - oracle #切换到oracle用户

lsnrctl stop #关闭监听器

sqlplus /nolog #进入sqlplus

conn / as sysdba #以超级管理员权限登录

shutdown immediate #关闭数据库实例

quit #退出

7、设置Oracle开机自启

1、su - root #切换到root用户操作,执行脚本,生成/etc/oratab文件(如果我们在安装过程中进行执行过的话就不用多次进行执行)

/data/oracle/product/11.2.0/db_1/root.sh

/data/oraInventory/orainstRoot.sh

2、编辑oratab文件:vi /etc/oratab

找到:$ORACLE_SID:$ORACLE_HOME:<N|Y>:

取消前面的#注释,修改为:

orcl:/data/oracle/product/11.2.0/db_1:Y  #orcl为oracle数据库实例名称

:wq #保存退出

3、编辑dbstart文件:

vi /data/oracle/product/11.2.0/db_1/bin/dbstart

找到:ORACLE_HOME_LISTNER=$1

修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

:wq #保存退出

4、创建oracle启动脚本

vi /etc/init.d/oracle#编辑,添加以下代码

!/bin/sh

# chkconfig: 0356 99 10

# description: Startup Script for Oracle Databases

# Script path:/etc/init.d/oracle

# Author:www.osyunwei.com by qihang01

ORACLE_BASE=/data/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

ORACLE_SID=orcl

PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

ORA_OWNR="oracle"

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

echo "Oracle startup: cannot start"

exit 1

fi

case "$1" in

start)

su - $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart

echo "Oracle Start Succesful!"

;;

stop)

su - $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut

echo "Oracle Stop Succesful!"

;;

restart)

$0 stop

$0 start

;;

*)

echo $"Usage: `basename $0` {start|stop|restart}"

exit 1

esac

exit 0

:wq #保存退出

chown oracle.oinstall /etc/init.d/oracle #更改文件所有者

chmod 755 /etc/init.d/oracle #添加执行权限

ln -s /etc/init.d/oracle /etc/rc3.d/S99oracle #添加系统启动级别3软连接

ln -s /etc/init.d/oracle /etc/rc5.d/S99oracle #添加系统启动级别5软连接

ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle #添加系统关机软连接

ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle #添加系统重启软连接

chkconfig --add oracle #添加系统服务

chkconfig oracle on #设置开机启动

8、测试是否设置成功

shutdown -r now #重启系统

service oracle start #启动oracle服务

service oracle stop #关闭oracle服务

/etc/init.d/oracle restart #重启oracle服务

su - oracle #切换到oracle用户

dbstart #启动oracle

dbshut #关闭oracle

ps -efw | grep ora #查看oracle进程

ps -efw | grep LISTEN | grep -v gre #查看oracle端口监听

lsnrctl status #查看oracle运行状态

使用工具进行连接Oracle

至此Linux安装Oracle已完毕

Linux下进行Oracle数据库安装的更多相关文章

  1. Linux下的Oracle 11gr2安装完成的的自启动操作。

    Linux下的Oracle在安装结束后是处于运行状态的.重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Orcle服务 以orac ...

  2. plsql 连接 虚拟机Linux下的Oracle数据库 失败

    plsql 连接 虚拟机Linux下的Oracle数据库 失败2017年09月09日 09:10:23 守望dfdfdf 阅读数:187 标签: oraclelinux 更多个人分类: 工具 软件编辑 ...

  3. windows下plsql连接linux下的oracle数据库

    windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ...

  4. linux下重启oracle数据库

    如何在linux下重启oracle数据库 | 浏览:3930 | 更新:2013-09-18 19:33 1 2 3 4 5 6 分步阅读 在实际工作项目中,有时候会遇到需要对oracle数据库进行重 ...

  5. linux下的oracle数据库和表空间的导入导出

    由于oracle是安装在linux上面,因此需要oracle的导入导出都是使用命令进行操作.oracle允许整个数据库导入导出和表空间的导入导出. 数据库导入导出 以下操作是在操作系统控制台命令中执行 ...

  6. LINUX下为ORACLE数据库设置大页--hugepage

    在Linux中配置hugepage可以提高oracle的性能,减少oracle sga的页交换,类似于aix中的lagepage. 为什么 使用大页? LINUX内存的默认块大小是4K如果SGA为:1 ...

  7. 转:// LINUX下为ORACLE数据库设置大页--hugepage

    一.在解释什么情况下需要开启大页和为啥需要开启大页前先了解下Linux下页的相关的知识:以下的内容是基于32位的系统,4K的内存页大小做出的计算1)目录表,用来存放页表的位置,共包含1024个目录en ...

  8. Linux下修改Oracle数据库字符集命令

    常见情形:从服务器备份Oracle数据库后再到本地机器上还原Oracle数据库的时候经常会碰见数据库字符编码不一致的情况,可以用以下命令来修改本地的Oracle数据库字符编码,然后顺利还原Oracle ...

  9. Linux下改动Oracle数据库字符集命令

    常见情形:从server备份Oracle数据库后再到本地机器上还原Oracle数据库的时候常常会碰见数据库字符编码不一致的情况,能够用下面命令来改动本地的Oracle数据库字符编码,然后顺利还原Ora ...

随机推荐

  1. 分布式机器学习:模型平均MA与弹性平均EASGD(PySpark)

    计算机科学一大定律:许多看似过时的东西可能过一段时间又会以新的形式再次回归. 1 模型平均方法(MA) 1.1 算法描述与实现 我们在博客<分布式机器学习:同步并行SGD算法的实现与复杂度分析( ...

  2. 基于后端和爬虫创建的代理ip池

    搭建免费的代理ip池 需要解决的问题: 使用什么方式存储ip 文件存储 缺点: 打开文件修改文件操作较麻烦 mysql 缺点: 查询速度较慢 mongodb 缺点: 查询速度较慢. 没有查重功能 re ...

  3. labview从入门到出家2--将“加法程序”制作成“exe应用程序”

    1.上一章主要讲了如何跑我们的第一个加法程序(这里向第一个程序的鼻祖"hello world"致敬),这一章我们直接进入主题,将我们写的程序生成exe文件放桌面运行. 2.要生成e ...

  4. java--运算符和表达式

    运算符:就是对常量或者遍历进行操作的符号: 表达式:用运算符把常量或者变量连接起来符合java语法的式子称为表达式,不同运算符连接的表达式体现的是不同类型的表达式. 一.算术运算符 1.使用%运算符: ...

  5. Go死锁——当Channel遇上Mutex时

    背景 用metux lock for循环,在for循环中又 向带缓冲的Channel 写数据时,千万要小心死锁! 最近,我在测试ws长链接网关,平均一个星期会遇到一次服务假死问题,因为并不是所有rou ...

  6. Chrome实现自动化测试:录制回放网页动作

    Chrome 浏览器是真的恐怖,它会把相关的小工具都卷死.从它诞生至今,创造了一个又一个的传奇,现在可以看到基于它的操作系统 chrome os ,还能买到用它做系统的笔记本电脑. 最近,新版本支持录 ...

  7. 输入一个url全过程详解

    1. 用户在浏览器中输入url,浏览器接收到url. 2.浏览器接收到这个url之后,会根据这个url会先查看缓存,如果有缓存且没有过期的话直接提供给客户端,完成页面渲染. 3.否则浏览器就会通过DN ...

  8. Web || Html_Css_JS

    第三阶段课程介绍: web前端 l 数据库 l SpringBoot Web前端-HTML l HTML作用: 负责搭建页面结构和内容 (盖房子) l 学习HTML主要学习的就是有哪些标签 文本相关标 ...

  9. USB转串口参数配置功能

    当使用USB转串口芯片时,在部分场合下需要修改芯片内部的USB参数以满足其应用需要.常见如: 系统下使用多个USB转串口芯片,区分使用各芯片. 修改厂商ID.产品ID.厂商字符串,使用客户自有ID和信 ...

  10. rust中的ref

    理解Rust的引用与借用(好文链接) #![feature(core_intrinsics)] fn print_type_of<T>(_: T) { println!("{}& ...