当前位置:Gxlcms > 数据库问题 > Oracle数据库部署

Oracle数据库部署

时间:2021-07-01 10:21:17 帮助过:10人阅读

前言:前面我们学习过微软的sqlserver,还有甲骨文公司的mysql,也理解了数据库系统的作用,这两种数据库管理系统适用于软件,网站,游戏等后台数据库,例如我们在学习mysql的时候搭建过动态网站。但oracle属于非常安全、完善的大型数据库管理软件,在电信、银行、证券等大型应用场合拥有着绝对的优势。那么今天就给搭建介绍oracle的安装和基本的使用。Oracle可以安装到windowslinux系统上,但企业更多采用在linux上安装,接下来我就以redhat6.5为例。

关于oracle

最流行的大型关系数据库 技术分享

技术分享 由甲骨文公司出品,目前最新版本为Oracle12c

技术分享 本课程以64位企业版Oracle11gR2为例 

技术分享 官方网站:http://www.oracle.com/

技术分享 采用C/S模式、支持SQL查询语言 

技术分享 在稳定性、高性能、安全性等方面优于其他数据库,因此常用于政府及企业 

技术分享 Oracle的优点:支持sql语句、C/S模式、高性能、安全性高

 

一、安装oracle的准备工作

1、系统及配置要求

1)确认linux系统的版本

技术分享 

 

2)物理内存:必须高于1G

物理内存应不少于1GB,对于VMWARE虚拟机建议不少于1200MB.对于系统中的交换分区设置,应参以下约定:物理内存为1GB~2GB时,交换分区为物理内存的1.5~2倍;物理内存为2GB~16GB时,交换分区与物理内存大小相同;物理内存超过16GB时,交换分区使用16GB就可以了。

技术分享 

 

3)硬盘空间:企业版需要5.65G,还要确保/tmp目录所在的分区空间不少于1G,建议总的空间给10G以上

技术分享 

 

4)确定主机名之后修改hosts文件(安装好oracle之后再修改主机名会导致数据库启动失败)

技术分享 

 

2、配置yum,安装支持包

Vim  oracle.repo

技术分享 

 

技术分享 

 

还需要安装pdksh包,但是Redhat6.5光盘中的ksh存在兼容性冲突,所以需要单独安装pdksh-5.2.14-37.el5_8.1.x86_64.rpm,使用rpm安装即可。(需要单独安装,通过wget下载)

技术分享 

 

 

3、调整内核参数

内核参数调整体现在/etc/sysctl.conf文件中。主要包括对内存调度、端口范围、打开文件数、I/O请求等相关的一些设置,相关数值不可低于安装要求。修改完毕后通过执行sysctl p命令使新配置立即生效。

vim  /etc/sysctl.conf   在文件尾部添加如下内容:

fs.aio-max-nr  = 1048576

fs.file-max = 6815744

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 5194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

在下面的三行前面加上#注释。

#net.bridge.bridge-nf-call-ip6tables = 0

#net.bridge.bridge-nf-call-iptables = 0

#net.bridge.bridge-nf-call-arptables = 0

各参数详解:

fs.aio-max-nr

此参数限制并发未完成的请求,应该设置避免I/O子系统故障。

fs.file-max

该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。

kernel.shmall

该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求.

kernel.shmmax

是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。

官方建议值:

32linux系统:可取最大值为4GB4294967296bytes-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295

64linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887 

kernel.shmmni

该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。

kernel.sem

kernel.sem = 250 32000 100 128为例:

       250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

       32000是参数semmns的值,表示系统内可允许的信号量最大数目。

       100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

       128是参数semmni的值,表示系统信号量集合总数。

net.ipv4.ip_local_port_range

表示应用程序可使用的IPv4端口范围。

net.core.rmem_default

表示套接字接收缓冲区大小的缺省值。

net.core.rmem_max

表示套接字接收缓冲区大小的最大值。

net.core.wmem_default

表示套接字发送缓冲区大小的缺省值。

net.core.wmem_max

表示套接字发送缓冲区大小的最大值。

 

4oracle用户要求

Oracle需要固定的运行用户oracle,安装组oinstall,管理组dba,这些账号需要提前建立好。此外用来存放oracle程序及数据库文件的基本目录/opt/oracle也应该提前创建好。

1)建立用户和组

[root@rhel1 ~]# groupadd oinstall

[root@rhel1 ~]# groupadd dba

[root@rhel1 ~]# useradd -g oinstall -G dba oracle

[root@rhel1 ~]# passwd oracle

技术分享 

2)建立相关目录

[root@rhel1 ~]# mkdir /opt/oracle

[root@rhel1 ~]# chown -R  oracle:oinstall /opt/oracle

[root@rhel1 ~]# chmod -R 755 /opt/oracle

[root@rhel1 ~]# sudo mkdir /opt/tmp

[root@rhel1 ~]# sudo chmod a+wr /opt/tmp

技术分享 

5Oracle11g的安装任务应以运行用户oracle的身份执行,需适当调整oracle用户的环境配置以便满足要求。Oracle11g安装界的语言类型取决于环境变量LANG,若希望用中文安装界面,则应确保LANG变量的值为zh_CN.UTF-8。中文安装界面有时会因缺少字体、字体配置不当等原因导致界面乱码。这时可以改用en_US.UTF-8英文环境以回避类似问题。

vim ~oracle/.bash_profile

export PATH

umask 022

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2/db_1

export ORACLE_SID=orcl

export.UTL-8

export NLS_LANG="AMERICAN_AMERICA".ZHS16GBK

export PATH=$ORACLE_HOME/bin:$PATH

export DISPLAY=:0.0

技术分享 

6oracle用户设置Shell限制为了优化性能,需要添加oracle用户限制参数。进程会话限制可以采用pam_limits认证模块来实现,通过修改登录程序loginPAM设置以启用该认证。

修改/etc/security/limits.conf将用户oracle能够打开的进程数、进程使用的文件数加在。加入如下内容:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

1行是设置进程数软限制;第2行是设置进程数硬限制;第3行是设置文件数软限制;第4行是设置文件数硬限制

修改/etc/pam.d/login,加入如下内容

session required /lib/security/pam_limits.so

session required pam_limits.so

7、配置oracle用户资源限制,不配置也不会影响oracle数据库的成功安装,但是考虑到若有糟糕的sql语句对服务器资源的无限占用,导致长时间对用户请求无响应,建议提前限制oracle用户资源。

配置方法如下:

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

技术分享 

8、解决中文乱码问题

RHEL6.5中安装oracle11g时,中文安装界面乱码,解决方法:

Linux命令提示符下执行以下命令,把字体库安装到相应位置即可

注:在这里zysong.ttf包裹需要自行下载

[root@rhel1 ~]# mkdir -p /usr/share/fonts/zh_CN/TrueType

[root@rhel1 ~]# cp /mnt/zysong.ttf /usr/share/fonts/zh_CN/TrueType/

[root@rhel1 ~]# chmod o+r /usr/share/fonts/zh_CN/TrueType/zysong.ttf

关闭防火墙和selinux,并设置永久ip地址和主机名技术分享

准备工作完成之后重新启动系统

二、正式安装oracle

1.下载oracle11g软件包到系统/home/oracle

[root@rhel1 ~]# su - oracle

[oracle@rhel1 ~]$ ls  /mnt

linux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip  p8670579_112010_LINUX.zip  zysong.ttf

[oracle@rhel1 ~]$ cp /mnt/linux.x64_11gR2_database_1of2.zip .

[oracle@rhel1 ~]$ cp /mnt/linux.x64_11gR2_database_2of2.zip .

[oracle@rhel1 ~]$

2.解压缩软件包 (压缩包可以从官方网站下载wget

[oracle@rhel1 ~]$ unzip linux.x64_11gR2_database_1of2.zip

[oracle@rhel1 ~]$ unzip linux.x64_11gR2_database_2of2.zip

3.授权允许用户oracle使用图形终端,例如执行:xhost + oracle@localhost,表示允许用户oracle从本机访问,或者执行xhost + 表示取消所有限制,这里执行xhost +即可。

 

4.执行安装程序

1、配置安全更新

技术分享 

 

2、安装选项,选择“创建和配置数据库” 技术分享

 

7、在系统类中选择“服务器类”

技术分享 

 

8、网格选项中选择“单实例数据库安装

技术分享 

9、安装类型选择“典型安装”。如果为各种管理账号分别设置口令,或者选择语言版本,设置自动备份,存储管理等,则应选择“高级安装”。

技术分享 

 

10、典型安装的配置,必须设置管理员口令,其它参数采用默认值,系统将自动创建3个用户,分别是:超级管理员syssystem和数据库所有者sysman,当选择高级安装时,可以为3个用户分别设置口令,否则将使用同一个管理口令。

技术分享 

 

11、创建产品清单,将清单目录修改为/opt/oracle/oralnventory,以便oracle用户有权限写入oracle数据库的清单信息。

技术分享 

 

12、先决条件检查及概要,出现下面的程序包状态失败,因为这些包是32位的包,而我们的系统是64位的,所以不用理会,点击“全部忽略”。然后点击“下一步”。

技术分享 

 

技术分享 

 

可以保存响应文件,以后安装oracle时可以使用这个脚本执行安装,就不用配置这么多了。

 

13、安装中......

技术分享 

技术分享 

 

14、当弹出“口令管理”的窗口时,单击“口令管理”按钮,将用户scott解锁,修改完成后,单击“确定”按钮。

技术分享 技术分享

 

 

 

15、完成安装

文件复制及相关部署结束之后,会弹出“执行配置脚本”对话框,根据提示切换为root用户并以此执行脚本,如下所示。

技术分享 

 

技术分享 

最后单击“确定”按钮,会提示访问https://oracleserver:1158/em/,使用此地址访问OEM(企业管理器)平台,以便对oracle数据库实例进行管理。

 

 

技术分享 

1、访问OEM平台(OEM平台可以进行图像化管理oracle,比较方便)。

在浏览器中输入:https://oracleserver:1158/em/,输入用户名:sys,密码pwd123,连接身份选择SYSDBA

技术分享 

 

 

技术分享 

 

2、使用sqlplus命令行访问oracle数据库

首先,解决sqlplus命令行方向键不能用问题

安装过程:

[root@oradb temp]# tar -xvf rlwrap-0.28.tar

[root@oradb temp]# cd rlwrap-0.28

[root@oradb rlwrap-0.28]# ./configure

[root@oradb rlwrap-0.28]# make

[root@oradb rlwrap-0.28]# make install

这样就可以使用 rlwarp .

[oracle@oradb ~]$ rlwrap sqlplus "/ as sysdba"

这样登录数据库 , 就可以使用上 下 键查找上次执行的命令.

如果每次都需要输入 rlwrap 感觉麻烦的话 , 还可以加入到 .bash_profile , 就不用每次都输入了.

alias sqlplus=‘rlwrap sqlplus‘

alias rman=‘rlwrap rman‘

1.在命令行界面中输入:sqlplus  sys/pwd123 AS SYSDBA

技术分享 

或者:

技术分享 

 

1)执行

人气教程排行