日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Oracl 12c (课本)

發(fā)布時(shí)間:2023/11/27 生活经验 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracl 12c (课本) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

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

二、

(1)體系結(jié)構(gòu)

  1. Oracle體系結(jié)構(gòu)
    1. 實(shí)例:實(shí)例是后臺(tái)進(jìn)程和內(nèi)存的集合
    2. 數(shù)據(jù)庫:數(shù)據(jù)庫是數(shù)據(jù)的集合,物理上是指存儲(chǔ)數(shù)據(jù)庫的信息的一組操作文件,每個(gè)數(shù)據(jù)庫有一個(gè)邏輯結(jié)構(gòu)和一個(gè)物理結(jié)構(gòu)。
    3. 可插拔數(shù)據(jù)庫:從oracle12c版本開始,oracle引入了可插拔數(shù)據(jù)庫的概念,可插拔是為云計(jì)算而生
      1. 可插拔數(shù)據(jù)庫的結(jié)構(gòu)由一個(gè)容器數(shù)據(jù)庫(Continer Database,CDB)和若干個(gè)可組裝數(shù)據(jù)庫(Pluggable Database,PDB)組成,每個(gè)PDB對(duì)外個(gè)充當(dāng)一個(gè)獨(dú)立的數(shù)據(jù)庫供應(yīng)用程序使用
  2. Oracle服務(wù)器:
    1. Oracle 服務(wù)器是由實(shí)例和數(shù)據(jù)庫組成,也就是我們常說的數(shù)據(jù)庫管理系統(tǒng)(Database Management System,DBMS)
    2. Oracle 服務(wù)器除了維護(hù)實(shí)例外,還在用戶建立與服務(wù)器的連接時(shí)啟動(dòng)服務(wù)期進(jìn)程并分配PGA(Program Global Area,程序全局區(qū));
  3. Oracle存儲(chǔ)結(jié)構(gòu):物理結(jié)構(gòu),邏輯結(jié)構(gòu)
    1. 物理結(jié)構(gòu)
      1. 主要文件:
        • 數(shù)據(jù)文件:數(shù)據(jù)文件(Data File)的擴(kuò)展名是*.dbf,,是物理Oracle數(shù)據(jù)庫文件
        • 特點(diǎn)
          1. 每個(gè)數(shù)據(jù)文件只有與一個(gè)數(shù)據(jù)庫相聯(lián)系
          2. 一個(gè)表空間可包含一個(gè)或多個(gè)數(shù)據(jù)文件
          3. 一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間
      2. 重做日志文件(Redo Log File):擴(kuò)展名為*.log,它記錄了對(duì)數(shù)據(jù)所有的更改信息,并提供了一種數(shù)據(jù)恢復(fù)機(jī)制,確定在系統(tǒng)崩潰或者其他意外出現(xiàn)后恢復(fù)數(shù)據(jù)庫
      3. 控制文件(Control File):擴(kuò)展名是*.ctl,是一個(gè)二進(jìn)制文件
        1. 存儲(chǔ)的信息很多,其中包括數(shù)據(jù)文件和重做日志文件的名稱和位置
        2. 控制文件是數(shù)據(jù)庫啟動(dòng)及運(yùn)行必需的文件;當(dāng)Oracle 讀取數(shù)據(jù)時(shí),要根據(jù)控制文件的信息查找數(shù)據(jù)文件
        3. 包括了一下關(guān)鍵信息
          1 數(shù)據(jù)文件的位置及大小
          2 重做日志文件的位置及大小
          3 數(shù)據(jù)庫名稱及創(chuàng)建時(shí)間
          4 日志序列號(hào)
    2. Oracle邏輯機(jī)構(gòu)
      1. 表空間:每個(gè)數(shù)據(jù)庫都是由若干個(gè)表空間組成用戶在數(shù)據(jù)中建立的所有內(nèi)容都被存儲(chǔ)到表空間;一個(gè)表空間可以有多個(gè)數(shù)據(jù)文件,一個(gè)數(shù)據(jù)文件只能有一個(gè)表空間
        1. 創(chuàng)建表空間的目的
          1. 對(duì)不同用戶分配不同的表空間,對(duì)不同模式的用戶分配不同的表空間,方便對(duì)用戶的操作和對(duì)模式的對(duì)象的管理
          2. 可以將不同的數(shù)據(jù)文件放在不同的磁盤上,有利于磁盤管理,提高I/O性能、備份和恢復(fù)等
        2. 永久性表空間:一般保持基表、視圖、過程、索引等的數(shù)據(jù)
        3. 臨時(shí)性表空間:只用于保存系統(tǒng)中短期活動(dòng)的數(shù)據(jù)
        4. 撤銷表空間:用于幫助回退未提交的事物數(shù)據(jù),已提交的數(shù)據(jù)在這里是無法恢復(fù)的
        5. Oracle自動(dòng)建立的四個(gè)表空間system、sysaux、users、temp
          1. system表空間:用于存放Oracle系統(tǒng)內(nèi)部表和數(shù)據(jù)字典的數(shù)據(jù),如表名、列名、用戶名等
          2. sysaux表空間:作為system的輔助表空間,用于存放各種數(shù)據(jù)庫工具用到的數(shù)據(jù);還用于存放個(gè)數(shù)對(duì)象數(shù)據(jù)如智能代理DBSNMP等
          3. users表空間:通常作為用戶使用的表空間,可以再這個(gè)表空間上創(chuàng)建各種對(duì)象
          4. temp表空間:Oracle用戶用于存放臨時(shí)數(shù)據(jù)的特殊表空間
        6. 創(chuàng)建表空間格式、修改表空間
          1. 格式
             1 create tablespace tablespacename
             2 datafile ‘filename.dbf’
             3 [size integer [ K | M ]]
             4 [autoextend [off | on ] ]
             5 
             6 
             7 tablespacename:是表空間的名字
             8 datefile:制定組成表空間的數(shù)據(jù)文件,當(dāng)有多個(gè)時(shí)用逗號(hào)隔開
             9 filename:是表空間中數(shù)據(jù)文件的路徑和名稱,以dbf為擴(kuò)展名
            10 autoextend:啟用或禁用數(shù)據(jù)文件的自動(dòng)擴(kuò)展
          2. 例子
            1 ceate tablespace tab_work1
            2 datafile '/u01/app/oracle/oradata/orcl/work1.dbf'
            3 size 10M
            4 aotoextend on;
          3. 當(dāng)創(chuàng)建表空間時(shí)未指定自動(dòng)擴(kuò)展,并且文件已經(jīng)滿了的時(shí)候,有兩種方法
            1. 修改文件的大小
              alter database 
              datafile '/u01/app/oracle/orcl/work1.dbf'
              rexize 80M
            2. 再向表空間添加一個(gè)數(shù)據(jù)文件
              alter tablespace tab_work1add adtafile'/u01/app/oracle/oradata/orcl/work2.dbg'size 20Mautoextend on;
          4. 改變表空間的讀寫狀態(tài)
            1 alter tablespace 表空間名 read write;
            2 alter tablespace 表空間名 read read only
          5. 刪除表空間
            1 drop tablespace 表空間名 [including contents]
      2. 段:存在于表空間中,是一種指定類型的存儲(chǔ)結(jié)構(gòu),段由一組區(qū)組成
      3. 區(qū):是磁盤空間分配的最小單位。磁盤按區(qū)劃分,每次至少分配一個(gè)區(qū),區(qū)由連續(xù)的塊組成
      4. 數(shù)據(jù)塊:是數(shù)據(jù)庫最小的數(shù)據(jù)組織單位與管理單元
      5. 模式:是數(shù)據(jù)庫對(duì)象(又稱模式對(duì)象)的集合。模式對(duì)象包括表、視圖、索引、同義詞、序列、過程和程序包等
  4. Oracle 內(nèi)存結(jié)構(gòu):內(nèi)存結(jié)構(gòu)作為oracle 數(shù)據(jù)體系中最為重要的一部分,內(nèi)存也是影響數(shù)據(jù)的第一要素
    1. SGA:所有用戶都可以訪問的實(shí)例的共享內(nèi)存區(qū)域
      1. 共享池
      2. 數(shù)據(jù)緩沖區(qū)
      3. 重做日志緩沖區(qū)
      4. 大池
      5. Java池
    2. PGA:一類非共享的內(nèi)存、專用于特定的服務(wù)器進(jìn)程
      1. 不是實(shí)例的一部分,它包含單個(gè)服務(wù)器進(jìn)程或單個(gè)后臺(tái)進(jìn)程所需的數(shù)據(jù)控制信息
    3. UGA:為用戶進(jìn)程存儲(chǔ)回話狀態(tài)的內(nèi)存區(qū)域,UGA可以作為SGA或者PGA的一部分
  5. Oracle的進(jìn)程結(jié)構(gòu)
    1. PMON:在用戶連接意外中斷后執(zhí)行資源清理工作
    2. SMON:在實(shí)例啟動(dòng)時(shí)進(jìn)行實(shí)例恢復(fù),三個(gè)恢復(fù)步驟
      1. 前滾以恢復(fù)未寫入文件但已記入聯(lián)機(jī)日志文件的數(shù)據(jù)
      2. 打開數(shù)據(jù)庫,以便用戶能登陸
      3. 回滾未提交的事物處理
    3. DBWR進(jìn)程
      1. 管理數(shù)據(jù)緩沖區(qū)
      2. 將所有修改后的緩沖區(qū)寫入數(shù)據(jù)文件
      3. 使用LUR(Least Recently Used,最近最少使用)算法將最近使用過的數(shù)據(jù)保存在內(nèi)存中
      4. 通過延遲寫來優(yōu)化磁盤的I/O讀寫
    4. LGWR進(jìn)程:負(fù)責(zé)將重做日志緩沖區(qū)中的日志寫人日志文件組
    5. CKPT進(jìn)程:確保數(shù)據(jù)緩沖區(qū)中所有修改過的數(shù)據(jù)塊都寫入數(shù)據(jù)文件的機(jī)制,當(dāng)檢查點(diǎn)玩成后,CKPT進(jìn)程負(fù)責(zé)更新數(shù)據(jù)文件頭和控制文件
    6. ARCn進(jìn)程:歸檔日志進(jìn)程,是一個(gè)可選進(jìn)程,只有打開日志歸檔時(shí)才有這個(gè)進(jìn)程

 (2)CDB與PDB的基本操作
      

 1 show con_name    # 查看當(dāng)前所在容器
 2 show pdbs        # 查詢數(shù)據(jù)庫所有容器
 3 alter pluggable database orclpdb open;    # CDB模式下修改orclpdb為打開狀態(tài)
 4 alter session set container=orclpdb       # CDB回話切換到PDB(orclpdb)回話中
 5 
 6 
 7 以上是在SQL里邊的切換PDB數(shù)據(jù)庫,其實(shí)連接到PDB數(shù)據(jù)庫的方法有兩種
 8 1、    sqlplus sys/sys as sysdba 
 9          alter session set conainer=orclpdb
10 
11 2、sqlplus sys/sys@orclpdb as sysdba
12 
13 第二種進(jìn)入方法需要在'/u01/app/oracle/product/12.2.0/dbhome_1/network/adsmin/tnanames.ora'文件中添加一下內(nèi)容
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:時(shí)oracle的一個(gè)超級(jí)用戶,主要用戶維護(hù)系統(tǒng)信息和管理實(shí)例
  2. system:Oracle數(shù)據(jù)庫的默認(rèn)管理員,他擁有dba權(quán)限;通常用于管理用戶、權(quán)限、存儲(chǔ)等,不建議在system中創(chuàng)建表或視圖
  3. 自定義用戶
    1. 公用用戶:存在CDB中,名字必須以c##開頭
    2. 本地用戶:存在PDB中
  4. 創(chuàng)建用戶的語法,和修改
    1. 創(chuàng)建用戶
      create user 名字
      identified by 密碼
      下邊這些都是可有可無的
      default tablespace work1     # 默認(rèn)表空間為work1
      temporary tablespace temp  # 臨時(shí)表空間為temp
      quota unlimited on work1     # work1不限制配額
      quota 10M on work2   # work2限額為10M
      password expire   # 用戶第一次登陸必須修改密碼
    2. 修改密碼:alter user 張三 identified by 123456; 將正三的密碼修改為123456
    3. 刪除用戶:drop user 張三 ;? ?刪除張三,如果張三創(chuàng)建的有數(shù)據(jù),需要在后邊加上cascade

 (4)權(quán)限管理

  1. 預(yù)定義的三個(gè)角色
    1. sonnect:擁有連接數(shù)據(jù)庫的權(quán)限
    2. resource:擁有創(chuàng)建表,觸發(fā)器,過程等權(quán)限
    3. dba:數(shù)據(jù)庫管理員角色
  2. 授予權(quán)限
    1. grane connect to 張三;? ?授予張三連接數(shù)據(jù)庫的權(quán)限
  3. 撤銷權(quán)限
    1. revoke connect from 張三;   撤銷張三的連接權(quán)限

 (5)導(dǎo)入數(shù)據(jù)測試

  1.   測試文件
    百度云:https://pan.baidu.com/s/1cKT4qVEqzyCz60isnMFwEg
    藍(lán)奏:https://www.lanzous.com/i2rp0yd
  2. 連接數(shù)據(jù)庫后執(zhí)行代碼:@ 測試文件位置

?

轉(zhuǎn)載于:https://www.cnblogs.com/-xuan/p/10211856.html

總結(jié)

以上是生活随笔為你收集整理的Oracl 12c (课本)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。