文章目录
- 一、Oracle数据库
- 1、概述
- 二、Oracle 12c的安装
- 2.1 安装条件
- 2.2 步骤
一、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)))
命令执行成功