基于centos7安装Oracle。

安装Oracle 12c

Oracle数据库部署:

  • 学会使用Oracle软件
  • 学会使用DBCA工具安装Oracle数据库
  • 学会启动、关闭Oracle数据库
  • 学会启动数据库监听进程

 

在centos7安装Oracle要求:

防火墙禁用   

Selinux禁用

[root@oracle ~]# systemctl stop firewalld.service

[root@oracle ~]# setenforce 0

[root@oracle ~]# systemctl disable  firewalld.service

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

[root@oracle ~]# vim /etc/selinux/config

[root@oracle ~]# getenforce

Permissive

默认安装设置为软件开发

 

前置条件准备:

系统及配置要求:Oracle12c支持centos05~7版本。通过此目录查看版本:

[root@oracle ~]# cat /etc/centos-release

CentOS Linux release 7.3.1611 (Core)

Linux操作系统要求:

物理内存:必须高于1GB,Vmware虚拟机建议不少于2GB。

交换空间:越高越好。Oracle吃内存

[root@oracle ~]# grep MemTotal /proc/meminfo

MemTotal:        3865552 kB

[root@oracle ~]# grep SwapTotal /proc/meminfo

SwapTotal:       4063228 kB

 

Ps:实验环境Oracle需要至少准备15G的硬盘空间。

[root@oracle ~]# df –hT

安装Oracle数据库前,规划好指定主机名和IP。

Ps:安装成功尽量不在修改主机名。

 

软件环境要求:

建议使用安装有GNOMEZ中文桌面环境。

配置一个本地yum源安装

[root@oracle ~]# cd /etc/yum.repos.d/

[root@oracle yum.repos.d]# ls

CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo

CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

oot@oracle yum.repos.d]# rename  .repo .repo.bak *

[root@oracle yum.repos.d]# ls

CentOS-Base.repo.bak       CentOS-fasttrack.repo.bak  CentOS-Vault.repo.bak

CentOS-CR.repo.bak         CentOS-Media.repo.bak      mnt.repo.bak

CentOS-Debuginfo.repo.bak  CentOS-Sources.repo.bak

[root@oracle yum.repos.d]# vim bendi.repo

[root@oracle yum.repos.d]# yum repolist            #查看yum源仓库

[root@oracle yum.repos.d]# yum clean  all    #清空缓存

更换yum源一定要清楚缓存!!!

Ps:不建议使用本地的yum安装,没有compat-libstdc++-33

 

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

 

调整内核参数,在末尾写入一下参数

[root@oracle ~]# vim /etc/sysctl.conf

[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用户环境要求:

[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

[root@oracle ~]# mkdir -p /u01/app/oracle                                                    #创建Oracle基本目录

[root@oracle ~]# chown  -R oracle:oinstall  /u01/app/                   #更改属组

[root@oracle ~]# chmod  -R 755 /u01/app/oracle                              #更改权限

 

调整oracle用户的环境配置以满足要求,在末尾加入即可:

[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用户资源限制要求

[root@oracle ~]# vim  /etc/pam.d/login                     #末尾添加即可

ession   required  /lib/security/pam_limits.so

session   required  pam_limits.so

 

[root@oracle ~]# vim  /etc/pam.d/login                    

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

 

ps:不配做Oracle用户资源限制部分,也不会影响Oracle的安装。但是若有糟糕的SQL语句对服务器的资源无限制占用,会导致长时间对用户请求无响应,建议限制Oracle用户资源。

 

Oracle 12c安装过程:

[root@oracle ~]# mkdir  /tmp/oracle

[root@oracle ~]# mount /dev/cdrom  /mnt/

mount: /dev/sr0 写保护,将以只读方式挂载

[root@oracle ~]# cp /mnt/linuxx64_12201_database.zip  /tmp/oracle/

[root@oracle ~]# cd /tmp/oracle/

[root@oracle oracle]# unzip linuxx64_12201_database.zip

[root@oracle oracle]# ls

database  linuxx64_12201_database.zip

ps:Oracle 12c通过runlnstaller脚本进行。

 

所有前置条件准备好以后,就可以正式开始安装了,如果当前的图形桌面环境是以其他用户的身份(如root)登录的,则还应添加授权以允许oracle使用图形终端。例如:“xhost + oracle@localhost”表示允许用户oracle从本机访问,执行“xhost +”表示取消所有限制。

 

[root@oracle oracle]# su - root

上一次登录:二 6月 30 11:23:13 CST 2020:0 上

最后一次失败的登录:二 6月 30 11:44:49 CST 2020从 :0:0 上

最有一次成功登录后有 1 次失败的登录尝试。

[root@oracle ~]# xhost +

access control disabled, clients can connect from any host

 

[root@oracle ~]# su - oracle

[oracle@oracle ~]$ cd /tmp/oracle/database/

[oracle@oracle database]$ ./runInstaller

正在启动 Oracle Universal Installer...

 

数据库安装分为 典型安装 高级安装。

初学者建议 典型安装 我们以此为例。

 

Ps:桌面适合于个人             服务器:企业环境

Ps:点击保存响应:将本次安装配置保存。

 

 

 

 

验证安装结构:

Ps:访问网址需要flash插件。

https://192.168.1.62:5500/em/login

使用SQL*plus在命令行界面访问Oracle

Ps:注意用户

 

sys是Oracle的最高管理员,以sys用户登录一般都加上as   sysdba,而其他用户则不需要。

其他用户执行如下:

Sqlplus  用户名/密码

 

SQL> help index                                 #查看支持的指令列表

SQL> show      user                           #查看当前用户

Ps:在sql模式,不区分大小写,但linux提示符下区分大小写。

 

Oracle 12c 数据库的创建方法:

通过图形化界面创建、CREATE DATABASE

创建数据库的步骤如下:

[oracle@oracle ~]$ dbca

 

 

Oracle 12c数据库的启动与关闭

数据库启动的步骤:

  • 启动Oracle实例(非装载阶段)               
  • 由实例装载数据库(装载阶段)              
  • 打开数据库(打开阶段)

在startup        nomout

SQL> startup nomount  

 

SQL> alter        database mount;

 

SQL> alter        database open;

 

SQL> startup

ORACLE 例程已经启动。

 

Total System Global Area 1593835520 bytes

Fixed Size                      8793256 bytes

Variable Size            1023411032 bytes

Database Buffers      553648128 bytes

Redo Buffers               7983104 bytes

数据库装载完毕。

数据库已经打开。

 

关闭数据库

SQL> shutdow         normal

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

Ps:发出该命令后,任何新的连接都将不再允许连接到数据库。在数据库关闭之前,oracle将等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。但需要注意的是,采用这种方式时,也许关闭一个数据库需要几天或更长的时间。

 

SQL> shutdown immediate             最常用的关闭方式

 

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

 

剩下的两种就不一一实验了。

3)shutdown transactional

shutdown transactional 命令常用来计划关闭数据库,它会等待当前连接到系统且正在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。它所有活动的事务执行完成后,数据库将以和shutdown immediate同样的方式关闭数据库。

 

4)shutdown abort

shutdown abort是关闭数据库方式的最后选择,是在没有任何办法关闭数据库的情况下不得不采用的方式,一般不要采用。在下列情况出现时可以考虑采用这种方式关闭数据库。

 

数据库处于一种非正常工作状态,不能用shutdown normal或shutdown immediate命令关闭数据库;

需要立即关闭数据库;

在启动数据库实例时遇到问题。

发出该命令后,所有正在运行的SQL语句将立即中止,所有未提交的事务将不回滚,oracle也不等待目前连接到数据库的用户退出系统;下一次启动数据库时需要实例恢复,因此,下一次启动可能比平时需要更多的时间。

 

在关闭数据库时最好使用shutdown immediate方式,因为这种方式安全且相对较快。不是万不得已不要使用shutdown abort 方式,因为这种方式会造成数据丢失,并且恢复数据库也需要较长时间。

 

启动、关闭oracle监听进程

当oracle数据库实例启动完成后,为了使客户端用户能连接到oracle实例,DBA还需要在oracle所在的服务器上使用lsnrctl命令启动监听进程。如果数据库实例关闭,一般也要关闭监听进程。

 

[oracle@oracle ~]$ lsnrctl                                      

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 30-6月 -2020 12:38:07

 

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

 

欢迎来到LSNRCTL, 请键入"help"以获得信息。

 

LSNRCTL> start                                                           #启动监听

TNS-01106: 使用名称LISTENER的监听程序已经启动

 

[oracle@oracle ~]$ lsnrctl  start                  #启动监听(第二种方法)

 

 

[oracle@oracle ~]$ lsnrctl stop                      #关闭监听

 

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 30-6月 -2020 12:40:37

 

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

 

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))

命令执行成功

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值