一、安装和部署: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
             7 tablespacename:是表空间的名字
             8 datefile:制定组成表空间的数据文件,当有多个时用逗号隔开
             9 filename:是表空间中数据文件的路径和名称,以dbf为扩展名
            10 autoextend:启用或禁用数据文件的自动扩展

          2. 例子
            1 ceate tablespace tab_work1
            2 datafile '/u01/app/oracle/oradata/orcl/work1.dbf'
            3 size 10M
            4 aotoextend on;

          3. 当创建表空间时未指定自动扩展,并且文件已经满了的时候,有两种方法
            1. 修改文件的大小

              alter database
              datafile '/u01/app/oracle/orcl/work1.dbf'
              rexize 80M

            2. 再向表空间添加一个数据文件
              alter tablespace tab_work1add adtafile'/u01/app/oracle/oradata/orcl/work2.dbg'size 20Mautoextend 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
 7 以上是在SQL里边的切换PDB数据库,其实连接到PDB数据库的方法有两种
 8 1、    sqlplus sys/sys as sysdba
 9          alter session set conainer=orclpdb
10
11 2、sqlplus sys/sys@orclpdb as sysdba
12
13 第二种进入方法需要在'/u01/app/oracle/product/12.2.0/dbhome_1/network/adsmin/tnanames.ora'文件中添加一下内容
14
15 ORCLPDB =
16         (DESCRIPTION =
17                 (ADDRESS = (PROTOCOL = TCP) (host= Oracle) (Port=1521))
18                 (CONNECT_DATA =
19                         (SERVER = DEDICATED)
20                         (SERVICE_NAME=orclpdb))

(3)用户管理

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

      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   # 用户第一次登陆必须修改密码

    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. 连接数据库后执行代码:@ 测试文件位置

转载于:https://www.cnblogs.com/-xuan/p/10211856.html

Oracl 12c (课本)相关推荐

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

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

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

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

  3. Oracle 12c(12.1.0.5) oem agent silent install(静默安装agent)

    注释: 文章来自oracle support 文档 ID 1360083.1,静默安装agent采用的是把OMS服务端(即oem server端)的agent用压缩包download,远程传到agen ...

  4. Oracle 12C -- 基于sequence的列的默认值

    12C支持先创建一个sequence,然后再将该sequence指定为某个列的值的默认表达式. 和"identity column"具有以下不同点: ·对列的个数没有限制 ·seq ...

  5. suse oracle 12c安装,用半行代码实现在LINUX(SUSE/RH)下安装ORACLE 12C

    最近新到单位的朋友总是抱怨在LINUX下安装ORACLE,实在是太麻烦了,而且这些步骤既不知是什么意思,也记不住:索性,我就分析了一下,经过实践,实现了只用半行代码(确切的说,只消4个字母)就可实现在 ...

  6. [20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED2.txt

    [20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED2.txt --//简单探究12c TABLE ACCESS BY INDEX ROWID BATCH ...

  7. 深入理解Oracle RAC 12c 笔记

    深入理解Oracle RAC 12c 跳转至: 导航. 搜索 文件夹 1 概述 2 集群件管理和故障诊断 3 执行实践 4 新特性 5 存储和ASM 6 应用设计上的问题 7 管理和调优一个复杂的RA ...

  8. docker 安装 oracle12,使用Docker安装Oracle 12c

    使用Docker安装Oracle 12c 假设你的服务器已成功安装Docker,继续进行以下操作: 1. 启动Docker [root@node01 ~]# service docker start ...

  9. 异构GoldenGate 12c 双向复制配置

    1.配置window,添加checkpoint表(本文windows和linux互为source和target)GGSCI (WIN-GM5PVS1CILH) 1> view param ./G ...

最新文章

  1. (正确姿势)centos7 如何从U盘拷贝文件
  2. POJ 3691 DNA repair AC自动机 + DP
  3. SpringBoot(2)之自定义配置
  4. 使用TensorFlow的基本步骤
  5. 【OpenCV3】级联分类器目标检测——cv::CascadeClassifier简介
  6. 安卓2.2都有哪些键盘快捷指令?
  7. Eureka的服务自我保护
  8. linux 文件inode,linux文件系统-inode学习整理
  9. Centos下MySQL的安装及常见问题
  10. (9)FPGA面试技能提升篇(EPI接口)
  11. 陕西电大学位英语计算机考试,2017年电大学位英语复习【呕心沥血整理、电大考试必过】.doc...
  12. Python 多进程本机共享内存(二)
  13. 数据科学包10-pandas高级内容之时间序列
  14. python3闭包通俗解释_python通俗解说闭包
  15. stm32for循环几个机械周期_带你了解包装机械设备的可调度性分析
  16. HDU5961 —— 传递【竞赛图】【判断传递闭包】
  17. Python爬虫爬取快代理上的免费代理
  18. lingoes/灵格斯词霸/灵格斯翻译家开始弹窗去除方法
  19. 抖音网红穿的服装品牌,那些爆款女装号都是怎么拍的呢?
  20. 利用Thumbnilator对图片加文字水印

热门文章

  1. 消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法
  2. 用男女朋友关系解释计算机常用概念
  3. 【Spring】spring基于纯注解的声明式事务控制
  4. 判别模型和生成模型的区别
  5. scheduled sampling_seq2seq
  6. LeetCode简单题之最长特殊序列 Ⅰ
  7. TensorFlow XLA优化与Memory
  8. TensorRT 7.2.1开发初步
  9. Timer定时器开发
  10. 深度学习到底有哪些卷积?