oracle

Posted 离愁落雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle相关的知识,希望对你有一定的参考价值。

Oracle数据库的概述

Oracle是当今著名的Oracle(甲骨文)公司的数据库产品,它是世界上第一个商品化的关系型数据库管理系统,也是第一个推出和数据库结合的第四代语言开发工具的数据库产品。

Oracle采用标准的SQL结构化查询语言,支持多种数据类型,提供面向对象的数据支持,具有第四代语言开发工具,支持UNIX、WINDOWS、OS/2等多种平台。Oracle公司的软件产品丰富,包括Oracle服务器产品,Oracle开发工具和Oracle应用软件。其中最著名的就是Oracle数据库,目前最新的版本是Oracle 12c。

Oracle数据库的优点

oracle 优势很多,银行保险电信大部分是用oracle处理的
1、处理速度快

2、安全级别高。支持快闪以及完美的恢复,即使硬件坏了,也可以恢复到故障发前的1s

3、几台数据库做集群数据库,可以做到几秒s以内故障转移,而且数据物理完全一致,现在集群一直是最优秀的解决方案,对于银行保险没有其他太多的选项(数据不丢,快速切换,负载均衡)

4、网格控制,以及 数据仓库方面也非常强大

注意点

系统及配置要求

 

1.物理内存:不少于1GB
2.交换分区不少于(不少于4GB)
3.物理内存为1 ~ 2GB时,设置为虚拟内存的1.5 ~ 2倍
4.物理内存为2 ~ 16GB时,设置与虚拟内存大小相同
5.磁盘空间:不少于15GB
6.拥有固定的FQDN(完全合格域名)名称,安装好不建议在更改

 

安装过程

1.允许runlnstaller安装程序
2.将下载的zip包解压
3.开启图形终端授权
4.进入database目录,由用户oracle执行安装

准备工作

提前在虚拟机中增加一块40G的硬盘给oracle数据库使用
//永久关闭防火墙selinux
# systemctl disable --now firewalld
# setenforce 0
# vim /etc/selinux/config 
...
SELINUX=disabled
//清空防火墙规则
# iptables -F
//映射主机名和ip
# vim /etc/hosts
...
192.168.100.12 oracle
//格式化磁盘
# fdisk /dev/nvme0n2    (这里的磁盘写你添加的40G磁盘)
# mkfs.xfs /dev/nvme0n2p1

//查询磁盘UUID,然后写入/etc/fstab
# blkid
# vim /etc/fstab
...
UUID="2c364cbd-7bd8-4cc2-abfa-b912f9a56b8e" /orc xfs defaults 0 0

//创建挂载目录
# mkdir /orc
# mount -a
//格式化磁盘
# fdisk /dev/nvme0n2    (这里的磁盘写你添加的40G磁盘)
# mkfs.xfs /dev/nvme0n2p1

//查询磁盘UUID,然后写入/etc/fstab
# blkid
# vim /etc/fstab
...
UUID="2c364cbd-7bd8-4cc2-abfa-b912f9a56b8e" /orc xfs defaults 0 0

//创建挂载目录
# mkdir /orc
# mount -a

搭建yum和环境

//yum源脚本
#!/bin/bash
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
    sed -i -e \'/mirrors.cloud.aliyuncs.com/d\' -e \'/mirrors.aliyuncs.com/d\' /etc/yum.repos.d/CentOS-Base.repo
    sed -i \'s#\\$releasever#8#g\' /etc/yum.repos.d/CentOS-Base.repo
    yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
    sed -i \'s|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|\' /etc/yum.repos.d/epel*
yum clean all && yum makecache
//安装环境
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
//调整内核参数
# 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   #套接字发送缓冲区大小的最大值

# sysctl -p

用户和组的配置

[root@oracle ~]# groupadd oinstall 
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd -g oinstall -G dba oracle
[root@oracle ~]# echo "123456" |passwd --stdin oracle
更改用户 oracle 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@oracle ~]# mkdir -p /orc/app/oracle
[root@oracle ~]# chown -R oracle:oinstall /orc/app/
[root@oracle ~]# chmod -R 755 /orc/app/oracle/
# vim /home/oracle/.bash_profile 
umask 022  #反掩码,如果默然创建的目录是755,如果默认创建的文件就是
ORACLE_BASE=/orc/app/oracle  #数据库默认的工作目录
ORACLE_HOME=/orc/app/oracle/product/12.2.0/dbhome_1/  #产品的家目录
ORACLE_SID=orcl  #实例id名字
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认证模块,在最后插入语句
# vim /etc/pam.d/login
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so

# 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 

# 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用户下
//创建目录
# mkdir /abc
# cd /abc

//oracle下载官网地址https://www.oracle.com/cn/database/technologies/oracle-technology-network.html

# su - oracle
$ export DISPLAY=:0.0
# cd /abc/database/ 
# ./runInstaller   ###执行一下就可以弹出安装页面

 

以上是关于oracle的主要内容,如果未能解决你的问题,请参考以下文章

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

续:纠正:ubuntu7.04可以安装,而且完美的安装 ! for《Oracle-10.2.0.1,打补丁10.2.0.5:在 debian 版本4不含4以上,及 ubuntu 7.04不含(代码片段

Oracle-常用数据库对象笔记(片段)

Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析

从Oracle存储过程Oracle 11g发送邮件