(简单易懂)如何在Linux上安装 Oracle 12c 数据库?

一、Oracle数据库

1、概述

最流行的大型关系数据库

  • 有甲骨文公司出品,目前最新版本为Oracle 12c
  • 官方网站:https://www.oracle.com/cn
  • 采用C/S模式、支持SQL查询语言
  • 在稳定性、高性能、安全性等方面由于其他数据库,因此常用于政府及企业
    在这里插入图片描述
    实验一64wei的Oracle 12c为例
    32位支持的最大内存为4GB
    64位支持的最大内存为2TB

二、Oracle 12c的安装

2.1 安装条件

  • 物理内存:不少于1G
  • 交换分区:不少于4G
    ◆ 物理内存为1 ~ 2GB时,设置为虚拟内存的1.5 ~ 2倍
    ◆ 物理内存为2 ~ 16GB时,设置与虚拟内存大小相同
  • 磁盘空间:不少于15GB
  • 拥有固定的FQDN名称,安装好不建议在更改

注:
FQDN:完全回馈域名:www.kgc.com

2.2 步骤

---------------开局----------------

'###关闭防火墙和核心防护'
iptables -F
setenforce 0
[root@localhost ~]# hostnamectl set-hostname oracle                         ###更改主机名oracle
[root@localhost ~]# su
[root@oracle ~]# vim /etc/hosts
20.0.0.22 oracle
[root@oracle ~]# ping oracle
PING oracle (20.0.0.22) 56(84) bytes of data.
64 bytes from oracle (20.0.0.22): icmp_seq=1 ttl=64 time=0.051 ms
64 bytes from oracle (20.0.0.22): icmp_seq=2 ttl=64 time=0.031 ms

---------------安装软件环境包----------------

[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

---------------调整内核参数----------------

[root@oracle ~]# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576   #异步IO请求数目 推荐值是:1048576 其实它等于 1024*1024 也就是 1024K 个
fs.file-max = 6815744   #打开的文件句柄的最大数量,防止文件描述符耗尽的问题
kernel.shmall = 2097152 #共享内存总量 页为单位,内存除以4K所得
kernel.shmmax = 4294967295  
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128  #SEMMSL: 每个信号集的最大信号数量 SEMMNS:用于控制整个 Linux 系统中信号的最大数 SEMOPM: 内核参数用于控制每个 semop 系统调用可以执行的信号操作的数量 SEMMNI :内核参数用于控制整个 Linux 系统中信号集的最大数量
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   ###重新加载配置文件

---------------用户环境配置----------------

[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd -g oinstall -G dba oracle
[root@oracle ~]# passwd oracle           ###密码123123

'新加一个硬盘(至少40G)'
[root@oracle ~]# init 6
[root@oracle ~]# fdisk -l
[root@oracle ~]# fdisk /dev/sdb
n
p
三次回车
w
[root@oracle ~]# fdisk -l

磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    83886079    41942016   83  Linux

[root@oracle ~]# mkfs -t xfs /dev/sdb1
[root@oracle ~]# vim /etc/fstab
/dev/sdb1 /orc xfs defaults 0 0
[root@oracle ~]# mkdir /orc
[root@oracle ~]# mount -a
[root@oracle ~]# df -Th
/dev/sdb1      xfs        40G   33M   40G    1% /orc              ###已挂载好

[root@oracle ~]# mkdir -p /orc/app/oracle
[root@oracle ~]# chown -R oracle:oinstall /orc/app/
[root@oracle ~]# chmod -R 755 /orc/app/oracle/

[root@oracle ~]# vim /home/oracle/.bash_profile         ###oracle用户环境配置

umask 022
ORACLE_BASE=/orc/app/oracle
ORACLE_HOME=/orc/app/oracle/product/12.2.0/dbhome_1/
ORACLE_SID=orcl
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
LANG=zh_CN.UTF-8

export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID

---------------oracle用户资源限制----------------

'使用pam_limits认证模块'
[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      ###堆栈设置

[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安装----------------

'###在图形化界面操作'
[root@oracle ~]# xhost +                               ###以root用户在图形化界面操作
access control disabled, clients can connect from any host
[root@oracle ~]# su - oracle                          ###必须切换oracle用户
[oracle@oracle ~]$ export DISPLAY=:0.0

'命令行'
[root@oracle ~]# mkdir /abc
[root@oracle ~]# cd /abc/
'###将linuxx64_12201_database.zip 拖进abc目录下'
[root@oracle abc]# unzip linuxx64_12201_database.zip

'到图形化界面操作'
[oracle@oracle ~]$ cd /abc
[oracle@oracle abc]$ ll
总用量 3372752
drwxr-xr-x 7 root root        117 1月  27 2017 database
-rw-r--r-- 1 root root 3453696911 10月 20 23:53 linuxx64_12201_database.zip
[oracle@oracle abc]$ cd database/
[oracle@oracle database]$ ll
总用量 20
drwxr-xr-x  4 root root  234 1月  26 2017 install
drwxrwxr-x  2 root root   61 1月  26 2017 response
drwxr-xr-x  2 root root   35 1月  26 2017 rpm
-rwxr-xr-x  1 root root 8771 1月  26 2017 runInstaller
drwxrwxr-x  2 root root   29 1月  26 2017 sshsetup
drwxr-xr-x 14 root root 4096 1月  26 2017 stage
-rwxr-xr-x  1 root root  500 2月   7 2013 welcome.html
[oracle@oracle database]$ ./runInstaller          ###执行脚本文件

---------------安装中弹窗处理----------------
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

'命令行界面:'
[root@oracle abc]# /orc/app/oraInventory/orainstRoot.sh
[root@oracle abc]# /orc/app/oracle/product/12.2.0/dbhome_1/root.sh
回车
yes
'###等待就可以了,完成后进入图形化界面点击确认'

在这里插入图片描述

真机浏览器输入: https://Oracle:5500/em

在这里插入图片描述
在这里插入图片描述

这里需要点击右上角管理浏览器选择提示

在这里插入图片描述
在这里插入图片描述

登录名默认:sys 密码:abc123 勾选:as sysdba

在这里插入图片描述

命令行界面

使用oracle用户登录
'###只能在图形界面登录,不能再命令行登录###'
[oracle@oracle database]$ sqlplus / as sysdba          (sys用户是oracle的最高管理员所以要加上as)

如果是普通用户登录   sqlplus 用户名/密码

SQL> help index     (查看命令列表,sql中不区分大写小写)

SQL> show user       (查看当前用户)

----------------创建数据库----------------------------
[oracle@Oracle ~]$ dbca    (如果不弹窗口执行: export DISPLAY=:0.0)

1:选择创建数据库
2:输入全局数据库名、管理口令和确认口令、取消创建为容器数据库

日志文件存放位置
/orc/app/oracle/cfgtoollogs/dbca/school

默认情况下数据库都是开启状态
----------------数据库的开启和关闭----------------------
//开启三阶段
1:startup nomount  (alter database mount; alter database open;)
2:startup mount    (alter database open;)
3:startup

//关闭状态
1:shutdown normal
2:shutdown immediate                             ###常用
3:shutdown transactional                         ###常用
4:shutdown abort                                 ###最好别用

-----------------启用监听-------------------------
作用:客户端访问Oracle实例
[oracle@Oracle ~]$ lsnrctl 

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

[oracle@Oracle ~]$ lsnrctl stop
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Oracle)(PORT=1521)))
命令执行成功
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值