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服务器端的两个文件:(安装在 ...
随机推荐
- 关于no matching key exchange method found. Their offer: diffie-hellman-group1-sha1的解决办法
原文链接:https://mycyberuniverse.com/error/no-matching-key-exchange-method-found-openssh7.html What caus ...
- IDEA 入门
IDEA初步使用 IntelliJ IDEA 使用教程(2019图文版) -- 从入门到上瘾 IntelliJ IDEA 设置代码提示或自动补全的快捷键 (Alt+/) IntelliJ IDEA 配 ...
- Java程序运行机制及开发环境
Java既是编译型语言,又是解释型语言 java源文件首先需要通过javac编译生成后缀名为.class的字节码文件(与平台无关,只面向JVM),然后使用Java虚拟机将字节码解释成特定平台上的机器码 ...
- 【ASP.Net】publish asp.net to local IIS
做web项目难免要将项目部署, 要么部署在azure上,要么部署在本地, 使用IIS去host. 部署步骤很简单, 1. vs打开你的web项目, 项目名上面右键选择publish 2. 在弹出的pu ...
- 转载:linux tar 解压命令总结
把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...
- Centos6.5 搭建LAMP环境
1.Centos6.5 处于对安全的考虑,严格控制网络的进去.所以安装 Apache 或 MySQL 的时候,需要开放 80 或 3306 端口 首先,执行如下命令查看当前防火墙开放了哪些端口: [ ...
- 深究CSS中Position的属性和特性
一.position的概念 作为布局必不可缺少的元素之一,深究其属性以及一些注意点是非常必要的. 定义:规定元素的定位类型. position属性: 属性 描述 常用性 absolute 生成绝对定位 ...
- hdu 6071 Lazy Running 最短路建模
Lazy Running Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) P ...
- sklearn preprocessing (预处理)
预处理的几种方法:标准化.数据最大最小缩放处理.正则化.特征二值化和数据缺失值处理. 知识回顾: p-范数:先算绝对值的p次方,再求和,再开p次方. 数据标准化:尽量将数据转化为均值为0,方差为1的数 ...
- java获取当前项目或类路径
// 获取当前项目的目录 File directory = new File("");// 参数为空 String courseFile = directory.getCanoni ...