Oracle 的安装与基本操做

在计算机信息安全领域中,数据库系统无疑有着举足轻重的地位。例如,微软的SQL server、IBM的DB2,以及甲骨文公司的Oracle、MySQL等,都是比较知名的数据库管理软件,其中Oracle数据库更是在电信、银行、证券、交通等大型应用场合拥有着绝对领先的优点。
这里咱们就来讲说Oracle 12c的安装。
Oracle 12c明确支持的Linux操做系统包括Oracle Linux 七、Oracle Linux 6. Oracle Linux 5. Red Hat Enterprise Linux 七、Red Hat Enterprise Linux 6. Red Hat Enterprise Linux 5. SUSE Linux Distributions .NeoKylin Linux Advanced Server Distributions。 由于Red Hat Enterprise 和CentOS属于同步发行的操做系统,因此Oracle 12c也一样支持CentOS7. CentOS6. CentOS5 操做系统。在其余Linux系统中安装时,个别软件或配置文件可能须要作适当调整。html

Linux 系统要求:linux

  • 物理内存: 必须高于1GB,对于VMware虚拟机建议很多于2GB.
  • 交换空间: 物理内存为1~ 2GB时,交换分区为物理内存的1.5~2倍;物理内存为2~ 16GB时,交换分区与物理内存大小相同:物理内存超过16GB时,交换分区使用16GB 就能够了。

1、准备工做
系统配置要求
对于Oracle 12c 数据库,若程序文件和数据文件安装在同一分区,则该分区硬盘空间的最小要求为企业版6.4GB.标准版6.1GB,除此之外,还应确保/tmp 目录的可用空间很多于1GB.总地
来讲,建议为Oracle 12c 准备至少15GB的硬盘空间。
实验环境下,若是不单独给Oracle 建立分区,那么至少要保证根分区有15GB的可用磁盘空间。若是当前的磁盘空间不足,能够考虑在虛拟机中添加一块硬盘,格式化为XFS文件系统。同时建立/u01目录,将新建立的分区挂载到/u01目录。还要记得修改/etc/fstab文件,让其开机自动挂载。
安装Oracle数据库前,要求规划好主机名和IP。服务器的主机名、IP 地址也应提早肯定无误.一旦 Oracle 数据库安装完成,建议不要再修改主机名,不然会致使数据库启动失败。查看主机名能够经过hostname命令实现,修改主机名经过配置文件/etc/hosts实现c++

[root@oracle /]# hostname
oracle
[root@oracle /]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10    oracle

软件环境要求
Oracle 12c 的安装过程一般在图形界面中进行,所以建议使用已安装有GNOME中文桌面环境的CentOS服务器。软件开发工具固然也是必不可少的,如gcc. glibc, binutils 等软件包sql

[root@oracle /]# yum  -y  install  binutils compat-libcap1 compat-libstdc++-33  gcc gcc-c++  glibc  glibc-devel ksh  libaio  libaio-devel       libgcc  libstdc++  libstdc++-devel libXi  libXtst  make  sysstat       unixODBC  unixODBC-devel

内核要求
为了确保数据库运行稳定,Oracle 12c针对Linux内核参数.进程会话限制提出了一些要求,其中一部分设置能够在安装过程当中自动检测并修复,但并不必定很完整 ,因此最好的作法是根据安装文档提早进行配置。
内核参数调总体如今/etc/sysctl .conf文件中,主要包括与内存调度.端口范围、打开文件数.
VO请求等相关的一些设置,相关数值不可低于安装要求。修改完毕后经过执行以下的"sysctl -p”命令使新配置当即生效。数据库

[root@oracle /]# vim /etc/sysctl.conf                # 编辑
...................           // 省略部份内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 4194304
net.core.wmem_default  = 262144
net.core.wmem_max = 1048576
...................           //省略部份内容
[root@oracle /]# sysctl -p                     # 从新加载配置文件
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

Oracle 用户环境要求
Oracle 12c 须要固定的运行用户oracle.安装组oinsall.管理组dba,这些帐号应提早建好。用
来存放Oracle程序及数据库文件的基本目录(如/u01/app/oracle) 也应该提早建立好vim

[root@oracle /]# groupadd -g 54321 oinstall                          # 建立安装组
[root@oracle /]# groupadd -g 54322 dba                         # 建立管理组
[root@oracle /]# useradd -u 54321 -g oinstall -G dba oracle             # 建立运行用户
[root@oracle /]# passwd oracle                # 配置密码
更改用户 oracle 的密码 。
新的 密码:
无效的密码: 密码未经过字典检查 - 过于简单化/系统化
从新输入新的 密码:
passwd:全部的身份验证令牌已经成功更新。
[root@oracle /]# mkdir -p /u01/app/oracle               # 建立基本目录
[root@oracle /]# chown -R oracle:oinstall /u01/app/
[root@oracle /]# chmod -R 775 /u01/app/oracle/

Oracle 12c的安装任务应以运行用户oracle的身份执行,需适当调整oracle 用户的环境配置以知足要求:api

[root@oracle /]# vim /home/oracle/.bash_profile 
........................           // 省略部份内容
umask  022
ORACLE_BASE=/u01/app/oracle                       # 定义基本目录
ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/                  # 定义安装家目录
ORACLE_SID=orcl                 # 定义数据库实例名称
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8                   # 肯定使用何种语言环境
PATH=$PATH:$ORACLE_HOME/bin
LANG=zh_CN.UTF-8
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
export  DISPLAY=:0.0

Oracle 用户资源限制要求
进程会话限制能够采用pam. Jimits认证模块来实现.经过修改登陆程序login的PAM设置以启用该认证,而后修改/etc/security/imits. conf 文件,使用户oracle可以打开的进程数.进程使用的文件数加大安全

[root@oracle /]# vim /etc/pam.d/login 
...................             // 省略部份内容
session   required  /lib/security/pam_limits.so
session   required  pam_limits.so

[root@oracle /]# vim /etc/security/limits.conf 
................                // 省略部份内容
oracle   soft    nproc   2047                      # 进程数软限制
oracle   hard    nproc   16384               # 进程数硬限制
oracle   soft   nofile   1024                    # 文件数软限制
oracle   hard   nofile    65536             # 文件数硬限制
oracle   soft  stack    10240                  # Oracle 软堆栈限制

[root@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

不配置oracle用户资源限制部分,也不会影响Oracle数据库的成功安装,可是,如有糟糕的SQL语句对服务器的资源无限占用,致使长时间对用户请求无响应,则建议提早限制oralce用户资源,准备工做完成后重启操做系统,重启以后再次检查以前的配置是否生效,建议不要作临时配置。
2、安装 Oracle
Oracle的中文官方网址为https ://www . oracle .com/cn.它支持Oracle 12c安装文件的免费下载(需注册帐号).正确选择所使用的系统平台(如Linux x86-64),而后下载linuxx64 .12201.database .zip这个ZP压缩包到/tmp/abc文件夹(自行建立).解压后可得到database文件夹, Oracle 的安装脚本.产品手册等文档都位于此文件夹中
也可下载本人提供的安装包:
开始安装bash

[root@oracle /]# mkdir /tmp/abc                    # 为何要在tmp下创个目录呢,由于tmp的权限都放开了,一会须要切换Oracle用户来进行安装
[root@oracle /]# cd /tmp/abc/
[root@oracle abc]# ls
flash-player-npapi-26.0.0.131-release.x86_64.rpm  linuxx64_12201_database.zip
[root@oracle abc]# unzip linuxx64_12201_database.zip 
[root@oracle abc]# ls  database/
install  response  rpm  runInstaller  sshsetup  stage  welcome.html

Oracle 12c 的安装主要经过runlsaller 脚本进行,访问网页welcome .html能够查阅产品手册,其中包括产品说明,发行注记、安装指南等文档,为管理员提供了极为丰富的帮助信息。
全部前置条件都准备好之后,就能够正式开始安装了。若是当前的图形桌面环境是以其余用户的身份(如root)登陆的,则还应添加受权以容许用户oracle 使用图形终端。例如,“xhost +
oracle@localhost" 表示 容许用户oracle从本机访问,执行,xhost+” 表示取消全部 限制。
以用户oracle的身份登陆到CentOS的图形桌面环境,启动database/ 目录下的runstaller脚本文件服务器

[root@oracle abc]# xhost +                      # 必定要以root用户在图形环境中操做
access control disabled, clients can connect from any host
[root@oracle abc]# su - oracle                  # 切换为 Oracle用户
[oracle@oracle ~]$ cd /tmp/abc/database/
[oracle@oracle database]$ ./runInstaller 
正在启动 Oracle Universal Installer...

检查临时空间: 必须大于 500 MB。   实际为 28334 MB    经过
检查交换空间: 必须大于 150 MB。   实际为 2047 MB    经过
检查监视器: 监视器配置至少必须显示 256 种颜色。    实际为 16777216    经过
准备从如下地址启动 Oracle Universal Installer /tmp/OraInstall2019-12-11_09-32-31PM. 请稍候...

Oracle 的安装与基本操做
Oracle 的安装与基本操做
Oracle 的安装与基本操做
Oracle 的安装与基本操做
Oracle 的安装与基本操做
Oracle 的安装与基本操做
Oracle 的安装与基本操做
Oracle 的安装与基本操做
Oracle 的安装与基本操做
Oracle 的安装与基本操做Oracle 的安装与基本操做

[root@oracle /]# /u01/app/oraInventory/orainstRoot.sh            # 直接执行便可
更改权限/u01/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。

更改组名/u01/app/oraInventory 到 oinstall.
脚本的执行已完成。
[root@oracle /]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh            # 执行后出现提示直接回车便可
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/12.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:     # 回车

Oracle 的安装与基本操做
安装 flash player

[root@oracle /]# cd /tmp/abc/
[root@oracle abc]# ls
database                                          linuxx64_12201_database.zip
flash-player-npapi-26.0.0.131-release.x86_64.rpm
[root@oracle abc]# rpm -ivh flash-player-npapi-26.0.0.131-release.x86_64.rpm 
准备中...                          ################################# [100%]
正在升级/安装...
   1:flash-plugin-26.0.0.131-release  ################################# [100%]

Oracle 的安装与基本操做
下图就是Oracle 的企业管理器
Oracle 的安装与基本操做
Oracle 12c 数据库的建立

[oracle@oracle /]$ sqlplus / as sysdba            # 登陆数据库

SQL*Plus: Release 12.2.0.1.0 Production on 星期三 12月 11 22:00:15 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

链接到: 
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> 
sys用户是Oracle的最高管理员,以sys用户登陆的时候通常要加上as sysdba,
而其余用户则不须要。
SQL> help index            # ketongguy可经过此命令来查看支持的指定列表

建立数据库:

[oracle@oracle /]$ dbca               # shuru输入此命令可弹出建立数据库的向导

Oracle 的安装与基本操做
Oracle 的安装与基本操做
Oracle 的安装与基本操做
Oracle 的安装与基本操做

Oracle 12c 数据库的启动与关闭
1. 数据库的启动
启动(STARTUP) 一个数据库须要三个步骤,①启动Oracle实例(非装 载阶段);②由实例装载
数据库(装载阶段);③打开数据库(打开阶段)。
在STARTUP命令中,能够经过不一样的选项来控制数据库的不一样启动步骤。
1) STARTUP NOMOUNT
NOMOUNT选项仅仅启动一个Oracle实例,读取init ora初始化参数文件、启动后台进程、初始
化SGA.当实例启动后,系统将显示一个SGA内存结构和大小的列表,以下所示.

SQL> startup nomount
ORACLE instance started.
Total System G1obal Area 2516582400 bytes
Fixed Size            8795904 bytes
Variable Size        671090944 bytes
Database Buffers 1828716544 bytes
Redo Buffers         7979008 bytes

2) STARTUP MOUNT
STARTUP MOUNT命令启动实例而且装载数据库,但没有打开数据库。Oracle 系统读取控制文件中关于数据文件和重作日志文件的内容,但并不打开该文件。这种打开方式常在数据库维护操做中使用,如对数据文件的改名,改变重作日志及打开归档模式等,在这种打开方式下,除了能够看到SGA系统列表之外,系统还会给出“数据库装载完毕 ”的提示。
3) STARTUP
STARTUP命令完成启动实例、装载数据库和打开数据库三个步骤。此时,数据库使数据文件和重作日志文件在线,一般还会请求一个或者多个回滚段;系统除了能够看到前STARTUP MOUNT方式下的全部提示外,还会给出一个‘数据库已经打开” 的提示: 数据库系统处于正常工做状态,能够接收用户请求。
若是采用STARTUP NOMOUNT或者STARTUP MOUNT的数据库打开方式,必须采用ALTER DATABASE命令来执行装载或打开数据库的操做。例如,若是以STARTUP NOMOUNT方式打开数据库,也就是说实例已经启动,可是数据库没有装载和打开。这时必须运行下面的两条命令,数据库才能正确启动。

ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;

若是以STARTUP MOUNT方式启动数据库,只须要运行下面-条命令便可以打开数据库。

ALTER DATABASE OPEN;

2.数据库的关闭
对于数据库的关闭(SHUTDOWN), 有四种不一样的关闭选项.
1) SHUTDOWN NORMAL
SHUTDOWN NORMAL是SHUTDOWN命令的默认选项。也就是说,若是用户发出SHUTDOWN命令,即执行SHUTDOWN NORMAL命令。
发出该命令后,任何新的链接都将再也不容许链接到数据库。在数据库关闭以前,Oracle 将等待目前链接的全部用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一-次启动时不须要进行任何的实例恢复。但须要注意的是.采用这种方式时,也许关闭一个数据库须要几天或更长的时间。
2) SHUTDOWN IMEDIATE
SHUTDOWN IMEDIATE是经常使用的一种关闭数据库的方式。若既想很快地关闭数据库,又想让数据库“干净”地关闭,则常采用这种方式。
发出该命令后,当前正在被Oracle处理的SaL语句当即中断,系统中任何没有提交的事务所有回滚。若是系统中存在-个很长的未提交的事务,那么采用这种方式关闭数据库也须要一段时间 (该事务回滚时间)。系统不会等待链接到数据库的全部用户退出系统,而会强行回滚当前全部的活动事务,而后断开全部的链接用户。
3) SHUTDOWN TRANSACTIONAL
SHUTDOWN TRANSACTIONAL命令经常使用来计划关闭数据库,它会等待当前链接到系统且正在活动的事务执行完毕,运行该命令后 ,任何新的链接和事务都是不容许的。在全部活动的事务执行完成后,数据库将以和SHUTDOWN IMEDIATE一样的方式关闭数据库.
4) SHUTDOWN ABORT
SHUTDOWN ABORT是关闭数据库方式的最后选择,是在没有任何办法关闭数据库的状况下不得不采用的方式,- -般不要采用。在下列状况出现时能够考虑采用这种方式关闭数据库。
(1)数据库处于一种非正常工做状态,不能用SHUTDOWN NORMAL 或SHUTDOWN IMEDIATE 命令关闭数据库。
(2) 须要当即关闭数据库。
(3)在启动数据库实例时遇到问题.
发出该命令后,全部正在运行的SQL语句将当即停止,全部未提交的事务将不回滚,Oracle 也不等待目前链接到数据库的用户退出系统,下-次启动数据库时须要实例恢复,所以,下一-次启动可能比平时须要更多的时间。

在关闭数据库时最好使用SHUTDOWN IMMEDIATE方式,由于这种方式安全且相对较快。不是万不得已不要使用SHUTDOWN ABORT方式,由于这种方式会形成数据丢失,而且恢复数据库也须要较长时间。

相关文章
相关标签/搜索