Oracl 12c (课本)
一、安装和部署:https://www.cnblogs.com/-xuan/p/10211387.html
二、
(1)体系结构
- Oracle体系结构
- 实例:实例是后台进程和内存的集合
- 数据库:数据库是数据的集合,物理上是指存储数据库的信息的一组操作文件,每个数据库有一个逻辑结构和一个物理结构。
- 可插拔数据库:从oracle12c版本开始,oracle引入了可插拔数据库的概念,可插拔是为云计算而生
- 可插拔数据库的结构由一个容器数据库(Continer Database,CDB)和若干个可组装数据库(Pluggable Database,PDB)组成,每个PDB对外个充当一个独立的数据库供应用程序使用
- Oracle服务器:
- Oracle 服务器是由实例和数据库组成,也就是我们常说的数据库管理系统(Database Management System,DBMS)
- Oracle 服务器除了维护实例外,还在用户建立与服务器的连接时启动服务期进程并分配PGA(Program Global Area,程序全局区);
- Oracle存储结构:物理结构,逻辑结构
- 物理结构
- 主要文件:
- 数据文件:数据文件(Data File)的扩展名是*.dbf,,是物理Oracle数据库文件
- 特点
- 每个数据文件只有与一个数据库相联系
- 一个表空间可包含一个或多个数据文件
- 一个数据文件只能属于一个表空间
- 重做日志文件(Redo Log File):扩展名为*.log,它记录了对数据所有的更改信息,并提供了一种数据恢复机制,确定在系统崩溃或者其他意外出现后恢复数据库
- 控制文件(Control File):扩展名是*.ctl,是一个二进制文件
- 存储的信息很多,其中包括数据文件和重做日志文件的名称和位置
- 控制文件是数据库启动及运行必需的文件;当Oracle 读取数据时,要根据控制文件的信息查找数据文件
- 包括了一下关键信息
数据文件的位置及大小
重做日志文件的位置及大小
数据库名称及创建时间
日志序列号
- 主要文件:
- Oracle逻辑机构
- 表空间:每个数据库都是由若干个表空间组成用户在数据中建立的所有内容都被存储到表空间;一个表空间可以有多个数据文件,一个数据文件只能有一个表空间
- 创建表空间的目的
- 对不同用户分配不同的表空间,对不同模式的用户分配不同的表空间,方便对用户的操作和对模式的对象的管理
- 可以将不同的数据文件放在不同的磁盘上,有利于磁盘管理,提高I/O性能、备份和恢复等
- 永久性表空间:一般保持基表、视图、过程、索引等的数据
- 临时性表空间:只用于保存系统中短期活动的数据
- 撤销表空间:用于帮助回退未提交的事物数据,已提交的数据在这里是无法恢复的
- Oracle自动建立的四个表空间system、sysaux、users、temp
- system表空间:用于存放Oracle系统内部表和数据字典的数据,如表名、列名、用户名等
- sysaux表空间:作为system的辅助表空间,用于存放各种数据库工具用到的数据;还用于存放个数对象数据如智能代理DBSNMP等
- users表空间:通常作为用户使用的表空间,可以再这个表空间上创建各种对象
- temp表空间:Oracle用户用于存放临时数据的特殊表空间
- 创建表空间格式、修改表空间
- 格式
create tablespace tablespacename
datafile ‘filename.dbf’
[size integer [ K | M ]]
[autoextend [off | on ] ] tablespacename:是表空间的名字
datefile:制定组成表空间的数据文件,当有多个时用逗号隔开
filename:是表空间中数据文件的路径和名称,以dbf为扩展名
autoextend:启用或禁用数据文件的自动扩展 - 例子
ceate tablespace tab_work1
datafile '/u01/app/oracle/oradata/orcl/work1.dbf'
size 10M
aotoextend on; - 当创建表空间时未指定自动扩展,并且文件已经满了的时候,有两种方法
- 修改文件的大小
alter database
datafile '/u01/app/oracle/orcl/work1.dbf'
rexize 80M - 再向表空间添加一个数据文件
alter tablespace tab_work1
add adtafile
'/u01/app/oracle/oradata/orcl/work2.dbg'
size 20M
autoextend on;
- 修改文件的大小
- 改变表空间的读写状态
alter tablespace 表空间名 read write;
alter tablespace 表空间名 read read only; - 删除表空间
drop tablespace 表空间名 [including contents]
- 格式
- 创建表空间的目的
- 段:存在于表空间中,是一种指定类型的存储结构,段由一组区组成
- 区:是磁盘空间分配的最小单位。磁盘按区划分,每次至少分配一个区,区由连续的块组成
- 数据块:是数据库最小的数据组织单位与管理单元
- 模式:是数据库对象(又称模式对象)的集合。模式对象包括表、视图、索引、同义词、序列、过程和程序包等
- 表空间:每个数据库都是由若干个表空间组成用户在数据中建立的所有内容都被存储到表空间;一个表空间可以有多个数据文件,一个数据文件只能有一个表空间
- 物理结构
- Oracle 内存结构:内存结构作为oracle 数据体系中最为重要的一部分,内存也是影响数据的第一要素
- SGA:所有用户都可以访问的实例的共享内存区域
- 共享池
- 数据缓冲区
- 重做日志缓冲区
- 大池
- Java池
- PGA:一类非共享的内存、专用于特定的服务器进程
- 不是实例的一部分,它包含单个服务器进程或单个后台进程所需的数据控制信息
- UGA:为用户进程存储回话状态的内存区域,UGA可以作为SGA或者PGA的一部分
- SGA:所有用户都可以访问的实例的共享内存区域
- Oracle的进程结构
- PMON:在用户连接意外中断后执行资源清理工作
- SMON:在实例启动时进行实例恢复,三个恢复步骤
- 前滚以恢复未写入文件但已记入联机日志文件的数据
- 打开数据库,以便用户能登陆
- 回滚未提交的事物处理
- DBWR进程
- 管理数据缓冲区
- 将所有修改后的缓冲区写入数据文件
- 使用LUR(Least Recently Used,最近最少使用)算法将最近使用过的数据保存在内存中
- 通过延迟写来优化磁盘的I/O读写
- LGWR进程:负责将重做日志缓冲区中的日志写人日志文件组
- CKPT进程:确保数据缓冲区中所有修改过的数据块都写入数据文件的机制,当检查点玩成后,CKPT进程负责更新数据文件头和控制文件
- ARCn进程:归档日志进程,是一个可选进程,只有打开日志归档时才有这个进程
(2)CDB与PDB的基本操作
show con_name # 查看当前所在容器
show pdbs # 查询数据库所有容器
alter pluggable database orclpdb open; # CDB模式下修改orclpdb为打开状态
alter session set container=orclpdb # CDB回话切换到PDB(orclpdb)回话中 以上是在SQL里边的切换PDB数据库,其实连接到PDB数据库的方法有两种
1、 sqlplus sys/sys as sysdba
alter session set conainer=orclpdb 2、sqlplus sys/sys@orclpdb as sysdba 第二种进入方法需要在'/u01/app/oracle/product/12.2.0/dbhome_1/network/adsmin/tnanames.ora'文件中添加一下内容 ORCLPDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (host= Oracle) (Port=1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME=orclpdb))
(3)用户管理
- sys:时oracle的一个超级用户,主要用户维护系统信息和管理实例
- system:Oracle数据库的默认管理员,他拥有dba权限;通常用于管理用户、权限、存储等,不建议在system中创建表或视图
- 自定义用户
- 公用用户:存在CDB中,名字必须以c##开头
- 本地用户:存在PDB中
- 创建用户的语法,和修改
- 创建用户
create user 名字
identified by 密码
下边这些都是可有可无的
default tablespace work1 # 默认表空间为work1
temporary tablespace temp # 临时表空间为temp
quota unlimited on work1 # work1不限制配额
quota 10M on work2 # work2限额为10M
password expire # 用户第一次登陆必须修改密码 - 修改密码:alter user 张三 identified by 123456; 将正三的密码修改为123456
- 删除用户:drop user 张三 ; 删除张三,如果张三创建的有数据,需要在后边加上cascade
- 创建用户
(4)权限管理
- 预定义的三个角色
- sonnect:拥有连接数据库的权限
- resource:拥有创建表,触发器,过程等权限
- dba:数据库管理员角色
- 授予权限
- grane connect to 张三; 授予张三连接数据库的权限
- 撤销权限
- revoke connect from 张三; 撤销张三的连接权限
(5)导入数据测试
- 测试文件
百度云:https://pan.baidu.com/s/1cKT4qVEqzyCz60isnMFwEg
蓝奏:https://www.lanzous.com/i2rp0yd - 连接数据库后执行代码:@ 测试文件位置
Oracl 12c (课本)的更多相关文章
- Oracl 12c安装
Oracl安装部署 一.前置条件准备 修改hostname: hostname oracle 修改/etc/hosts:添加192.168.10.106 oracle 添加软件开发工具 搭建yum源 ...
- Oracle12c:安装后新建用户及其默认表空间,并创建表测试
环境: 操作系统:Windows Server2008 R2 X64 Oracle版本:12c 如何安装? -- oracle 12c在oracle linux 6.6 x64上的安装 -- Wind ...
- oracle12C--DG FAR SYNC 部署(前提为搭建好12C的DG)
<<往期12CDG搭建>> 一,理解同步异步模式 01, 使用LGWR 进程的SYNC 方式 1)Primary Database 产生的Redo 日志要同时写到日志文件和网络 ...
- oracle 12C 《服务器、客户端安装》
oracle 12C <服务器.客户端安装> 1.下载database和client database和client下载地址:http://www.oracle.com/technetwo ...
- Oracle Database 12c Data Redaction介绍
什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...
- [转]Oracle 12c多租户特性详解:PDB 的创建、克隆与维护
转自:http://chuansong.me/n/443660447865 PDB 的创建和访问 在使用 dbca 建库时,创建数据库之前,可以保存一下创建脚本,分析其具体执行过程.以自定义方式创建名 ...
- Oracle Database 12c Release 1下载安装(自身经历)
1.访问Oracle官网:https://www.oracle.com/index.html,下载Oracle Database 12c Release 1 (注意:File1和File2都要下载!! ...
- weblogic 12c web部署注意的问题
废话不多说下面讲介绍他的具体部署web应用,应该注意哪些问题. 准备工作: Java JDK 安装及环境配置 http://jingyan.baidu.com/article/ff41162596a7 ...
- Linux-安装Oracle(CentOS-Oracle 12c)
第一步:网络连接,在我的上一篇博客中有介绍,不再多说. 网络连接的目的:为了能使用yum命令,在网上直接下载文件. 第二步:前往oracle官网下载12c database服务器端的两个文件:(安装在 ...
随机推荐
- FJUT3565 最大公约数之和(容斥)题解
题意:给n,m,求出 思路:题意为求出1~m所有数和n的gcd之和.显然gcd为n的因数.我们都知道gcd(a,b)= c,那么gcd(a/c,b/c)= 1.也就是说我们枚举n所有的因数k,然后去找 ...
- 【做题】arc068_f-Solitaire——糊结论
把所有数字放入双端队列后,结果大概是这样一个排列: \[P_1 1 P_2\] 其中\(P_1\)是递减序列,\(P_2\)是递增序列. 我们以\(1\)所在的位置\(k\)分割最终的排列\(A\). ...
- vue项目从引入vue.js 改为使用vue-cil (webpack)时修改的一些内容
在元素属性中不要写js关键字,会报使用关键字的错如@click='if(){}else{}', if-else 语句可以使用三元表达式或短路运算符来实现 v-for 不写:key 会有警告 ,使用: ...
- Apple ID双重认证验证码无法输入问题
问题:用Apple ID登录老版本ios系统时,会提示“”需要提供Apple ID验证码才能登陆.请键入您的密码,并随后键入显示在您其他设备上的验证码”. 解决:老版本系统无输入验证码的地方,那就把验 ...
- Unity3D学习笔记(三十七):顶点偏移和溶解
顶点偏移 沿向量方向偏移,沿自身坐标系方向偏移 沿法线方向偏移,球体放大,立方体拆分 Shader "Lesson/VFVertOffsetVertex" { Properties ...
- c# 后台post,包含file文件
http request 相关 private bool Upload(KeyValuePair<string, string>[] paramString,Stream paramFil ...
- jmeter命令行模式运行,实时获取压测结果
jmeter命令行模式运行,实时获取压测结果 jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script. ...
- JAVA基础之复识二
JAVA语言 未经本人允许禁止转载或使用 基础知识:JAVA数据类型,运算符,流程控制等 注释: // 单行注释 /* 多行连续注释 ... */ /** 文档注释,该类型的注释会生成一个html文件 ...
- jqGrid API (转)
来源:https://www.cnblogs.com/MonaSong/p/5109991.html JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信. JQGr ...
- Mybatis拦截器(一)
拦截器需要实现 interceptor接口 public interface Interceptor { //3 对目标对象拦截进行处理的内容 Object intercept(Invocation ...