一、关于Oracle数据库
1、Oracle数据库的简介
Oracle 是一个数据库管理系统,是Oracle公司的核心产品。其在数据安全性与安整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据操作能力。基于“客户端/服务器”(Client/Server)系统结构。
可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。
2、主要特点:
(1)支持多用户、大事务量的事务处理。
(2)在保持数据安全性和完整性方面性能优越。
(3)支持分布式数据处理。将公布在不同物理位置的数据库用通信网络连接起来,组成一个逻辑上统一的数据库,完成
(4)数据处理任务。
(5)具有可移植性。Oracle可以在Windows、Linux等多个操作系统平台上使用。
3、基本概念:
(1)数据库。这里的数据库是磁盘上存储数据的集合,在物理上表现为数据文件、日志文件和控制文件等。在逻辑上以表空间形式存在。必须首先创建数据库,然后才能用Oracle。可以在Database Configuation Assistant上创建。
(2)全局数据库名。用于区分一个数据库的标识。它由数据库名称和域名构成,类似网络中的域名,使数据库的命名在整个网络环境中唯一。
(3)数据库实例。每个启动的数据库都对应一个数据库实例,由这个实例来访问数据库中的数据。
(4)表空间。每个数据库都是由若干个表空间构成的,用户在数据库中建立的所有内容都被存储到表空间中。一个表空间可以由多个数据文件组成,但一个数据文件只能属于一个表空间。
(5)数据文件。扩展名是.dbf,是用于存储数据库数据的文件。一个数据文件中可能存储很多个表的数据,而一个表的数据也可以存放在多个数据文件中。数据文件和数据库表不存在一对一的关系。
(6)控制文件。技展名.ctl,是一个二进制文件。控制文件是数据库启动及运行所必需的文件。存储数据文件和日志文件的名称和位置。Oracle 11g默认包含三个控制文件。
(7)日志文件。扩展名.log,它记录了数据的所有更改信息,并提供了一种数据恢复机制,确保在系统崩溃或其他意外出现后重新恢复数据库。在工作过程中,多个日志文件组之间循环使用。
(8)模式和模式对象。模式是数据库对象(表、索引等,也称模式对象)的集合。
二、安装oracle
1、实验环境
物理内存不少于4G
swap交换分区不少于8G
添加一块新磁盘空间不少于15G
挂载分区文件类型为xfs
GNOME中文桌面环境
2、更改hostname和hosts文件
vi /etc/hostname //更改主机名Oracle
vi /etc/hosts //添加主机IP和主机名映射关系
192.168.80.170 Oracle
注意:改完之后重启虚拟机
3、安装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
4、调整内核参数vi /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 //重新加载配置文件
5、用户环境配置
groupadd oinstall //添加安装软件的组
groupadd dba //添加数据库的组
useradd -g oinstall -G dba oracle //创建oracle用户
passwd oracle //密码123123
mkdir -p /orc/app/oracle //创建Oracle的安装目录
chown -R oracle:oinstall /orc/app/ //指定组
chmod -R 755 /orc/app/oracle/ //指定文件读写权限
vi /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
刷新环境source /home/oracle/.bash_profile
6、oracle用户资源限制vi /etc/pam.d/login //使用pam_limits认证模块
添加以下内容
session required /lib/security/pam_limits.so
session required pam_limits.sovi /etc/security/limits.conf //系统资源的调配
添加以下内容
oracle soft nproc 2047 #单用户可使用的进程数量
oracle hard nproc 16384
oracle soft nofile 1024 #用户可打开的文件数量
oracle hard nofile 65536
oracle soft stack 10240 #堆栈设置vi /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
7、上传下载好的数据文件
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
将下载到的安装包传到/home/oracle/下
chmod 755 -R /home/oracle/database/
export DISPLAY=:0
xhost + //以root用户操作
su - oracle //切换oracle用户
export DISPLAY=:0.0
cd database
./runInstaller 安装!
8、以oracle身份登录图形界面
下一步到下图出现概要之后可以继续安装
主图出现弹窗直接选择确定
9、使用oracle用户登录sqlplus / as sysdba (sys用户是oracle的最高管理员所以要加上as
)
10、数据库的开启与关闭开启:startup
开启三阶段
开启实例
装载数据库
打开数据库
关闭:
shutdown normal(事务等待,时间较长)
shutdown immediate(推荐)
shutdown transactional
shutdown abort (特殊情况,可能丢数据)
重启数据库后监听会默认关闭!
11、开启监听模式
[oracle@Oracle ~]$ lsnrctl
LSNRCTL> start
[oracle@Oracle ~]$ lsnrctl stop
12、打开web管理页面
https://oracle:5500/em/login