Oracle数据库
以下操作使用root账号。
4.1 oracle数据库简介
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库解决方案。
4.2 安装前的准备
4.2.1 检查依赖
[root@hadoop102 ~]# rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel
4.2.2 安装依赖
哪个没有安装哪个,如:
[root@hadoop102 ~]# yum -y install elfutils-libelf-devel gcc gcc-c++ libaio-devel libstdc++-devel numactl-devel unixODBC unixODBC-devel
4.2.3 上传安装包并解压
[root@hadoop102 software]# ls Oracle_Database_12c_Release2_linuxx64.zip [root@hadoop102 software]# unzip Oracle_Database_12c_Release2_linuxx64.zip -d /opt/module/
4.2.4 配置用户组
Oracle安装文件不允许通过root用户启动,需要为oracle配置一个专门的用户。
1)创建sql 用户组
[root@hadoop102 software]#groupadd sql
2)创建oracle 用户并放入sql组中
[root@hadoop102 software]#useradd oracle -g sql
3)修改oracle用户登录密码,输入密码后即可使用oracle用户登录系统
[root@hadoop102 software]#passwd oracle
4)修改所属用户和组
[root@hadoop102 module]# chown -R oracle:sql /opt/module/database/ [root@hadoop102 module]# chgrp -R sql /opt/module/database/
4.2.5 修改配置文件sysctl.conf
[root@hadoop102 module]# vim /etc/sysctl.conf
删除里面的内容,添加如下内容
net.ipv4.ip_local_port_range = 9000 65500 fs.file-max = 6815744 kernel.shmall = 10523004 kernel.shmmax = 6465333657 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_max=1048576 fs.aio-max-nr = 1048576
参数解析:
net.ipv4.ip_local_port_range :可使用的IPv4端口范围
fs.file-max :该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。
kernel.shmall :该参数表示系统一次可以使用的共享内存总量(以页为单位)
kernel.shmmax :该参数定义了共享内存段的最大尺寸(以字节为单位)
kernel.shmmni :这个内核参数用于设置系统范围内共享内存段的最大数量
kernel.sem : 该参数表示设置的信号量。
net.core.rmem_default:默认的TCP数据接收窗口大小(字节)。
net.core.wmem_default:默认的TCP数据发送窗口大小(字节)。
net.core.rmem_max:最大的TCP数据接收窗口(字节)。
net.core.wmem_max:最大的TCP数据发送窗口(字节)。
fs.aio-max-nr :同时可以拥有的的异步IO请求数目。
4.2.6 修改配置文件limits.conf
[root@hadoop102 module]# vim /etc/security/limits.conf
在文件末尾添加:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
重启机器生效。
4.3 安装Oracle数据库
4.3.1 进入虚拟机图像化页面操作
[oracle@hadoop102 ~]# cd /opt/module/database
[oracle@hadoop102 database]# ./runInstaller
4.3.2 安装数据库
1)去掉红框位置对勾
2)选择仅安装数据库软件
3)选择单实例数据库安装
4)默认下一步
5)设置安装位置
6)创建产品清单
7)操作系统组设置
8)等待安装
9)查看验证,按提示修改,如果不能修改再点击忽略
10)概要,直接点击安装
11)按提示操作
12)安装完成
4.4 设置环境变量
[oracle@hadoop102 dbhome_1]# vim /home/oracle/.bash_profile
添加:
#ORACLE_HOME
export ORACLE_HOME=/home/oracle/app/oracle/product/12.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
[oracle@hadoop102 ~]$ source /home/oracle/.bash_profile
4.5 设置Oracle监听
4.5.1 命令行输入以下命令
4.5.2 选择添加
4.5.3 设置监听名,默认即可
4.5.4 选择协议,默认即可
4.5.5 设置端口号,默认即可
4.5.6 配置更多监听,默认
4.5.7 完成
4.6 创建数据库
4.6.1 进入创建页面
[oracle@hadoop102 ~]$ dbca
4.6.2 选择创建数据库
4.6.3 选择高级配置
4.6.4 选择数据仓库
4.6.5 将图中所示对勾去掉
4.6.6 存储选项
4.6.7 快速恢复选项
4.6.8 选择监听程序
4.6.9 如图设置
4.6.10 使用自动内存管理
4.6.11 管理选项,默认
4.6.12 设置统一密码
4.6.13 创建选项,选择创建数据库
4.6.14 概要,点击完成
4.6.15 等待安装
4.7 简单使用
4.7.1 开启,关闭监听服务
开启服务:
[oracle@hadoop102 ~]$ lsnrctl start
关闭服务:
[oracle@hadoop102 ~]$ lsnrctl stop
4.7.2 进入命令行
[oracle@hadoop102 ~]$ sqlplus SQL*Plus: Release 12.2.0.1.0 Production on Wed May 29 17:08:05 2019 Copyright (c) 1982, 2016, Oracle. All rights reserved. Enter user-name: system Enter password: (这里输入之前配置的统一密码) Last Successful login time: Wed May 29 2019 13:03:39 +08:00 Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL>
4.7.3 创建用户并授权
SQL> create user jason identified by 000000; User created. SQL> grant create session,create table,create view,create sequence,unlimited tablespace to jason; Grant succeeded.
4.7.4 进入jason账号,创建表
SQL>create TABLE student(id INTEGER,name VARCHAR2(20)); SQL>insert into student values (1,'zhangsan'); SQL> select * from student; ID NAME ---------- ---------------------------------------- 1 zhangsan
注意:安装完成后重启机器可能出现ORACLE not available错误,解决方法如下:
[oracle@hadoop102 ~]$ sqlplus / as sysdba SQL>startup SQL>conn jason Enter password:
4.8 Oracle与MySQL的SQL区别
类型 |
Oracle |
MySQL |
整型 |
number(N)/integer |
int/integer |
浮点型 |
float |
float/double |
字符串类型 |
varchar2(N) |
varchar(N) |
NULL |
'' |
null和''不一样 |
分页 |
rownum |
limit |
"" |
限制很多,一般不让用 |
与单引号一样 |
价格 |
闭源,收费 |
开源,免费 |
主键自动增长 |
× |
√ |
if not exists |
× |
√ |
auto_increment |
× |
√ |
create database |
× |
√ |
select * from table as t |
× |
√ |