一、安装和部署:https://www.cnblogs.com/-xuan/p/10211387.html

二、

(1)体系结构

  1. Oracle体系结构
    1. 实例:实例是后台进程和内存的集合
    2. 数据库:数据库是数据的集合,物理上是指存储数据库的信息的一组操作文件,每个数据库有一个逻辑结构和一个物理结构。
    3. 可插拔数据库:从oracle12c版本开始,oracle引入了可插拔数据库的概念,可插拔是为云计算而生
      1. 可插拔数据库的结构由一个容器数据库(Continer Database,CDB)和若干个可组装数据库(Pluggable Database,PDB)组成,每个PDB对外个充当一个独立的数据库供应用程序使用
  2. Oracle服务器:
    1. Oracle 服务器是由实例和数据库组成,也就是我们常说的数据库管理系统(Database Management System,DBMS)
    2. Oracle 服务器除了维护实例外,还在用户建立与服务器的连接时启动服务期进程并分配PGA(Program Global Area,程序全局区);
  3. Oracle存储结构:物理结构,逻辑结构
    1. 物理结构
      1. 主要文件:

        • 数据文件:数据文件(Data File)的扩展名是*.dbf,,是物理Oracle数据库文件
        • 特点
          1. 每个数据文件只有与一个数据库相联系
          2. 一个表空间可包含一个或多个数据文件
          3. 一个数据文件只能属于一个表空间
      2. 重做日志文件(Redo Log File):扩展名为*.log,它记录了对数据所有的更改信息,并提供了一种数据恢复机制,确定在系统崩溃或者其他意外出现后恢复数据库
      3. 控制文件(Control File):扩展名是*.ctl,是一个二进制文件
        1. 存储的信息很多,其中包括数据文件和重做日志文件的名称和位置
        2. 控制文件是数据库启动及运行必需的文件;当Oracle 读取数据时,要根据控制文件的信息查找数据文件
        3. 包括了一下关键信息
          1. 数据文件的位置及大小
          2. 重做日志文件的位置及大小
          3. 数据库名称及创建时间
          4. 日志序列号
    2. Oracle逻辑机构
      1. 表空间:每个数据库都是由若干个表空间组成用户在数据中建立的所有内容都被存储到表空间;一个表空间可以有多个数据文件,一个数据文件只能有一个表空间
        1. 创建表空间的目的
          1. 对不同用户分配不同的表空间,对不同模式的用户分配不同的表空间,方便对用户的操作和对模式的对象的管理
          2. 可以将不同的数据文件放在不同的磁盘上,有利于磁盘管理,提高I/O性能、备份和恢复等
        2. 永久性表空间:一般保持基表、视图、过程、索引等的数据
        3. 临时性表空间:只用于保存系统中短期活动的数据
        4. 撤销表空间:用于帮助回退未提交的事物数据,已提交的数据在这里是无法恢复的
        5. Oracle自动建立的四个表空间system、sysaux、users、temp
          1. system表空间:用于存放Oracle系统内部表和数据字典的数据,如表名、列名、用户名等
          2. sysaux表空间:作为system的辅助表空间,用于存放各种数据库工具用到的数据;还用于存放个数对象数据如智能代理DBSNMP等
          3. users表空间:通常作为用户使用的表空间,可以再这个表空间上创建各种对象
          4. temp表空间:Oracle用户用于存放临时数据的特殊表空间
        6. 创建表空间格式、修改表空间
          1. 格式

            1. create tablespace tablespacename
            2. datafile filename.dbf
            3. [size integer [ K | M ]]
            4. [autoextend [off | on ] ]
            5.  
            6. tablespacename:是表空间的名字
            7. datefile:制定组成表空间的数据文件,当有多个时用逗号隔开
            8. filename:是表空间中数据文件的路径和名称,以dbf为扩展名
            9. autoextend:启用或禁用数据文件的自动扩展
          2. 例子
            1. ceate tablespace tab_work1
            2. datafile '/u01/app/oracle/oradata/orcl/work1.dbf'
            3. size 10M
            4. aotoextend on;
          3. 当创建表空间时未指定自动扩展,并且文件已经满了的时候,有两种方法
            1. 修改文件的大小

              1. alter database
              2. datafile '/u01/app/oracle/orcl/work1.dbf'
              3. rexize 80M
            2. 再向表空间添加一个数据文件
              1. alter tablespace tab_work1
              2. add adtafile
              3. '/u01/app/oracle/oradata/orcl/work2.dbg'
              4. size 20M
              5. autoextend on;
          4. 改变表空间的读写状态
            1. alter tablespace 表空间名 read write
            2. alter tablespace 表空间名 read read only
          5. 删除表空间
            1. drop tablespace 表空间名 [including contents]
      2. 段:存在于表空间中,是一种指定类型的存储结构,段由一组区组成
      3. 区:是磁盘空间分配的最小单位。磁盘按区划分,每次至少分配一个区,区由连续的块组成
      4. 数据块:是数据库最小的数据组织单位与管理单元
      5. 模式:是数据库对象(又称模式对象)的集合。模式对象包括表、视图、索引、同义词、序列、过程和程序包等
  4. Oracle 内存结构:内存结构作为oracle 数据体系中最为重要的一部分,内存也是影响数据的第一要素
    1. SGA:所有用户都可以访问的实例的共享内存区域
      1. 共享池
      2. 数据缓冲区
      3. 重做日志缓冲区
      4. 大池
      5. Java池
    2. PGA:一类非共享的内存、专用于特定的服务器进程
      1. 不是实例的一部分,它包含单个服务器进程或单个后台进程所需的数据控制信息
    3. UGA:为用户进程存储回话状态的内存区域,UGA可以作为SGA或者PGA的一部分
  5. Oracle的进程结构
    1. PMON:在用户连接意外中断后执行资源清理工作
    2. SMON:在实例启动时进行实例恢复,三个恢复步骤
      1. 前滚以恢复未写入文件但已记入联机日志文件的数据
      2. 打开数据库,以便用户能登陆
      3. 回滚未提交的事物处理
    3. DBWR进程
      1. 管理数据缓冲区
      2. 将所有修改后的缓冲区写入数据文件
      3. 使用LUR(Least Recently Used,最近最少使用)算法将最近使用过的数据保存在内存中
      4. 通过延迟写来优化磁盘的I/O读写
    4. LGWR进程:负责将重做日志缓冲区中的日志写人日志文件组
    5. CKPT进程:确保数据缓冲区中所有修改过的数据块都写入数据文件的机制,当检查点玩成后,CKPT进程负责更新数据文件头和控制文件
    6. ARCn进程:归档日志进程,是一个可选进程,只有打开日志归档时才有这个进程

 (2)CDB与PDB的基本操作
      

  1. show con_name # 查看当前所在容器
  2. show pdbs # 查询数据库所有容器
  3. alter pluggable database orclpdb open # CDB模式下修改orclpdb为打开状态
  4. alter session set container=orclpdb # CDB回话切换到PDB(orclpdb)回话中
  5.  
  6. 以上是在SQL里边的切换PDB数据库,其实连接到PDB数据库的方法有两种
  7. 1 sqlplus sys/sys as sysdba
  8. alter session set conainer=orclpdb
  9.  
  10. 2sqlplus sys/sys@orclpdb as sysdba
  11.  
  12. 第二种进入方法需要在'/u01/app/oracle/product/12.2.0/dbhome_1/network/adsmin/tnanames.ora'文件中添加一下内容
  13.  
  14. ORCLPDB =
  15. (DESCRIPTION =
  16. (ADDRESS = (PROTOCOL = TCP) (host= Oracle) (Port=1521))
  17. (CONNECT_DATA =
  18. (SERVER = DEDICATED)
  19. (SERVICE_NAME=orclpdb))

(3)用户管理

  1. sys:时oracle的一个超级用户,主要用户维护系统信息和管理实例
  2. system:Oracle数据库的默认管理员,他拥有dba权限;通常用于管理用户、权限、存储等,不建议在system中创建表或视图
  3. 自定义用户
    1. 公用用户:存在CDB中,名字必须以c##开头
    2. 本地用户:存在PDB中
  4. 创建用户的语法,和修改
    1. 创建用户

      1. create user 名字
      2. identified by 密码
      3. 下边这些都是可有可无的
      4. default tablespace work1 # 默认表空间为work1
      5. temporary tablespace temp # 临时表空间为temp
      6. quota unlimited on work1 # work1不限制配额
      7. quota 10M on work2 # work2限额为10M
      8. password expire # 用户第一次登陆必须修改密码
    2. 修改密码:alter user 张三 identified by 123456; 将正三的密码修改为123456
    3. 删除用户:drop user 张三 ;   删除张三,如果张三创建的有数据,需要在后边加上cascade

 (4)权限管理

  1. 预定义的三个角色
    1. sonnect:拥有连接数据库的权限
    2. resource:拥有创建表,触发器,过程等权限
    3. dba:数据库管理员角色
  2. 授予权限
    1. grane connect to 张三;   授予张三连接数据库的权限
  3. 撤销权限
    1. revoke connect from 张三;   撤销张三的连接权限

 (5)导入数据测试

  1.   测试文件
    百度云:https://pan.baidu.com/s/1cKT4qVEqzyCz60isnMFwEg
    蓝奏:https://www.lanzous.com/i2rp0yd
  2. 连接数据库后执行代码:@ 测试文件位置

Oracl 12c (课本)的更多相关文章

  1. Oracl 12c安装

    Oracl安装部署 一.前置条件准备 修改hostname: hostname oracle 修改/etc/hosts:添加192.168.10.106 oracle 添加软件开发工具 搭建yum源 ...

  2. Oracle12c:安装后新建用户及其默认表空间,并创建表测试

    环境: 操作系统:Windows Server2008 R2 X64 Oracle版本:12c 如何安装? -- oracle 12c在oracle linux 6.6 x64上的安装 -- Wind ...

  3. oracle12C--DG FAR SYNC 部署(前提为搭建好12C的DG)

    <<往期12CDG搭建>> 一,理解同步异步模式 01, 使用LGWR 进程的SYNC 方式 1)Primary Database 产生的Redo 日志要同时写到日志文件和网络 ...

  4. oracle 12C 《服务器、客户端安装》

    oracle 12C <服务器.客户端安装> 1.下载database和client database和client下载地址:http://www.oracle.com/technetwo ...

  5. Oracle Database 12c Data Redaction介绍

    什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...

  6. [转]Oracle 12c多租户特性详解:PDB 的创建、克隆与维护

    转自:http://chuansong.me/n/443660447865 PDB 的创建和访问 在使用 dbca 建库时,创建数据库之前,可以保存一下创建脚本,分析其具体执行过程.以自定义方式创建名 ...

  7. Oracle Database 12c Release 1下载安装(自身经历)

    1.访问Oracle官网:https://www.oracle.com/index.html,下载Oracle Database 12c Release 1 (注意:File1和File2都要下载!! ...

  8. weblogic 12c web部署注意的问题

    废话不多说下面讲介绍他的具体部署web应用,应该注意哪些问题. 准备工作: Java JDK 安装及环境配置 http://jingyan.baidu.com/article/ff41162596a7 ...

  9. Linux-安装Oracle(CentOS-Oracle 12c)

    第一步:网络连接,在我的上一篇博客中有介绍,不再多说. 网络连接的目的:为了能使用yum命令,在网上直接下载文件. 第二步:前往oracle官网下载12c database服务器端的两个文件:(安装在 ...

随机推荐

  1. Icons - Material Design各种ICON图标大全

    Icons - Material Design https://material.io/tools/icons/?icon=account_balance&style=baseline

  2. 程序重启RocketMQ消息重复消费

    最近在调试RocketMQ消息发送与消费的Demo时,发现一个问题:只要重启程序,RocketMQ消息就会重复消费. 那么这是什么原因导致的,又该如何解决呢? 经过一番排查,发现程序使用的Rocket ...

  3. ssm项目中 数据库和资源的备份

    备份 备份很重要 数据库的备份 mysqldump -u用户名 -p密码 所需要备份的数据库 > ~/backup/sql/o2o`date +%Y%m%d%H%M%S`.sql 资源的备份 t ...

  4. Unity3D学习笔记(三十三):矩阵

    矩阵 矩阵就是一行和列组织起来的矩形数字块. 矩阵可以理解为是向量的数组.   矩阵的维度和记法 矩阵的维度是包含多少行多少列!例如1行2列的矩阵 记法:矩阵m中,对于第1行第2列的元素,我们记为m1 ...

  5. Kubernetes之Controllers二

      Deployments A Deployment controller provides declarative updates for Pods and ReplicaSets. You des ...

  6. python bytes类型

    python3中二进制数据则由bytes类型表示,8位一字节 格式化打印文件的二进制编码 with open('spiderman.mkv', "rb") as f: print( ...

  7. windows特殊文件或文件夹

    考了很多文章,搜集了很多资料整理而成.好的用途可以用来隐藏个人资料,防止误删,病毒免疫等等.至于坏的方面,当然也可用来隐藏木马等等,就看你怎么用了.还有一个没有搞明白,资料上也没找到,请知道的指点一下 ...

  8. HANA 与 Oracle 12c哪一个更快

    本文来自于对Which is Faster HANA or Oracle 12C?的阅读笔记,列举了其中的要点.并不代表我的观点. 简介 SAP声称HANA是最快的数据库,因此SAP的新ERP系统S4 ...

  9. 【转】myeclipse 自定义视图Customize Perspective 没有反应

    官网查了下,解释如下:   附上链接https://www.myeclipseide.com/PNphpBB2-viewtopic-t-30151.html,大概意思是按如下图所示步骤更新即可.读者可 ...

  10. 每日质量NPM包事件绑定_bindme(详解React的this)

    一.bindme 官方定义: is a helper to bind a list of methods to an object reference 理解: 因为不推荐在render()里构建函数, ...