Linux下进行Oracle数据库安装
一般来说我们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数据库安装的更多相关文章
- Linux下的Oracle 11gr2安装完成的的自启动操作。
Linux下的Oracle在安装结束后是处于运行状态的.重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Orcle服务 以orac ...
- plsql 连接 虚拟机Linux下的Oracle数据库 失败
plsql 连接 虚拟机Linux下的Oracle数据库 失败2017年09月09日 09:10:23 守望dfdfdf 阅读数:187 标签: oraclelinux 更多个人分类: 工具 软件编辑 ...
- windows下plsql连接linux下的oracle数据库
windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ...
- linux下重启oracle数据库
如何在linux下重启oracle数据库 | 浏览:3930 | 更新:2013-09-18 19:33 1 2 3 4 5 6 分步阅读 在实际工作项目中,有时候会遇到需要对oracle数据库进行重 ...
- linux下的oracle数据库和表空间的导入导出
由于oracle是安装在linux上面,因此需要oracle的导入导出都是使用命令进行操作.oracle允许整个数据库导入导出和表空间的导入导出. 数据库导入导出 以下操作是在操作系统控制台命令中执行 ...
- LINUX下为ORACLE数据库设置大页--hugepage
在Linux中配置hugepage可以提高oracle的性能,减少oracle sga的页交换,类似于aix中的lagepage. 为什么 使用大页? LINUX内存的默认块大小是4K如果SGA为:1 ...
- 转:// LINUX下为ORACLE数据库设置大页--hugepage
一.在解释什么情况下需要开启大页和为啥需要开启大页前先了解下Linux下页的相关的知识:以下的内容是基于32位的系统,4K的内存页大小做出的计算1)目录表,用来存放页表的位置,共包含1024个目录en ...
- Linux下修改Oracle数据库字符集命令
常见情形:从服务器备份Oracle数据库后再到本地机器上还原Oracle数据库的时候经常会碰见数据库字符编码不一致的情况,可以用以下命令来修改本地的Oracle数据库字符编码,然后顺利还原Oracle ...
- Linux下改动Oracle数据库字符集命令
常见情形:从server备份Oracle数据库后再到本地机器上还原Oracle数据库的时候常常会碰见数据库字符编码不一致的情况,能够用下面命令来改动本地的Oracle数据库字符编码,然后顺利还原Ora ...
随机推荐
- Linux编辑shell脚本快速启动jar包
1.上传jar包到服务器 2.创建并编辑start.sh文件 vi start.sh 将下面内容复制到文件中 ps -ef|grep xf-demo |grep -v grep |awk '{prin ...
- [零基础学IoT Pwn] 环境搭建
[零基础学IoT Pwn] 环境搭建 0x00 前言 这里指的零基础其实是我们在实战中遇到一些基础问题,再相应的去补充学习理论知识,这样起码不会枯燥. 本系列主要是利用网上已知的IoT设备(路由器)漏 ...
- NC23053 月月查华华的手机
NC23053 月月查华华的手机 题目 题目描述 月月和华华一起去吃饭了.期间华华有事出去了一会儿,没有带手机.月月出于人类最单纯的好奇心,打开了华华的手机.哇,她看到了一片的QQ推荐好友,似乎华华还 ...
- 机器学习基础:用 Lasso 做特征选择
大家入门机器学习第一个接触的模型应该是简单线性回归,但是在学Lasso时往往一带而过.其实 Lasso 回归也是机器学习模型中的常青树,在工业界应用十分广泛.在很多项目,尤其是特征选择中都会见到他的影 ...
- ReentrantLock 公平锁源码 第1篇
ReentrantLock 1 这篇还是接着ReentrantLock的公平锁,没看过第0篇的可以先去看上一篇https://www.cnblogs.com/sunankang/p/16456342. ...
- 【cartographer_ros】六: 发布和订阅路标landmark信息
上一节介绍了陀螺仪Imu传感数据的订阅和发布. 本节会介绍路标Landmark数据的发布和订阅.Landmark在cartographer中作为定位的修正补充,避免定位丢失. 这里着重解释一下Land ...
- 007面试题__==和equals的区别
常见面试题03: 问:==和equals的区别 1)对于基本类型而言,比较的是数值是否相等 对于引用类型而言,比较的是内存地址是否相等 2)equals:比较的是两个对象的内容是否相等
- 类型转换_str()函数与int()函数
数据类型转换 需要将不同数据类型拼接在一起的时候就需要先进行数据类型转换 str+str//这里的+叫做连接字符,有点类似C++中的操作符重载,老对象里面的内容了 在python中整型和字符串类型不能 ...
- 题解 P4999 【烦人的数学作业】
数位 dp. 设 \(dp_{q,i}\)(\(i\in\{0,1,2,3,4,5,6,7,8,9\}\))为 \(1\sim q\) 中 \(i\) 出现的次数,\(1\sim q\) 的数字和显然 ...
- Vue 监视数据总结 && 表单控件使用总结
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...