亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Oracle數(shù)據(jù)庫、表空間與存儲結(jié)構(gòu)圖文詳解

 更新時間:2025年09月17日 11:33:58   作者:迷茫的坐標(biāo)  
在Oracle數(shù)據(jù)庫中,查詢表空間信息是一個常見需求,它可以幫助數(shù)據(jù)庫管理員或開發(fā)者了解數(shù)據(jù)庫的存儲情況,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫、表空間與存儲結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下

一、核心概念:像理解倉庫一樣理解Oracle

想象一下一個大倉庫(數(shù)據(jù)庫),這個倉庫被劃分成了幾個大的區(qū)域(表空間),比如“家電區(qū)”、“食品區(qū)”。每個大區(qū)域里放著很多貨架(段),比如“電視貨架”、“冰箱貨架”。每個貨架又是由一連串的貨位(區(qū)) 組成的,而最小的存儲單位就是每一個貨位(數(shù)據(jù)塊)。

1. 數(shù)據(jù)塊 (Data Block)

  • 是什么:Oracle邏輯存儲結(jié)構(gòu)中最小的邏輯單位,就像倉庫中最小的一個貨位。
  • 關(guān)鍵點(diǎn)
    • 大小由參數(shù) DB_BLOCK_SIZE 決定。
    • 一個數(shù)據(jù)塊對應(yīng)一個或多個物理塊(操作系統(tǒng)塊)。
    • 結(jié)構(gòu)包括塊頭存儲區(qū)兩部分。

2. 區(qū) (Extent)

  • 是什么:由一組連續(xù)的數(shù)據(jù)塊結(jié)合而成。是Oracle存儲分配的最小單位。就像一組連續(xù)的貨位組成了一個完整的貨位區(qū)間。

3. 段 (Segment)

  • 是什么:由一個或多個區(qū)組成,是數(shù)據(jù)庫對象的存儲載體。就像一整個貨架。
  • 種類(PPT中明確提到的):
    • 數(shù)據(jù)段:存儲表中所有數(shù)據(jù)(如一張學(xué)生表的所有數(shù)據(jù))。
    • 索引段:存儲表上最佳查詢的所有索引數(shù)據(jù)。
    • 臨時段:存儲表排序操作期間建立的臨時表的數(shù)據(jù)。
    • 回滾段:存儲數(shù)據(jù)修改之前的位置和值(用于回滾事務(wù))。
  • 注意視圖(View)不是段,它只是一個虛擬表,不存儲數(shù)據(jù)。

4. 表空間 (Tablespace)

  • 是什么:數(shù)據(jù)庫的最大邏輯劃分區(qū)域。就是一個最大的邏輯區(qū)域。
  • 關(guān)鍵點(diǎn)
    • 一個表空間由一個或多個數(shù)據(jù)文件組成。
    • 一個數(shù)據(jù)文件只屬于一個表空間。
    • 表空間的大小等于其所有數(shù)據(jù)文件大小之和。
  • 默認(rèn)表空間(創(chuàng)建數(shù)據(jù)庫時自動生成):
    • SYSTEM:系統(tǒng)表空間
    • SYSAUX:輔助系統(tǒng)表空間
    • UNDO:撤銷表空間
    • USERS:用戶表空間

5. 數(shù)據(jù)庫 (Database)

  • 是什么:以上所有內(nèi)容的物理和邏輯集合。就是整個倉庫。
  • 物理結(jié)構(gòu):由三種核心文件構(gòu)成:
    • 數(shù)據(jù)文件 (.dbf):真正存儲數(shù)據(jù)的地方。
    • 控制文件 (.ctl):數(shù)據(jù)庫中最小但最重要的文件,記錄數(shù)據(jù)庫的物理結(jié)構(gòu)。
    • 日志文件 (.log):記錄所有數(shù)據(jù)變化,用于恢復(fù)。
      • 重做日志文件:記錄實(shí)時變化。
      • 歸檔日志文件:重做日志的歷史備份。

二、動手實(shí)踐:如何創(chuàng)建數(shù)據(jù)庫和表空間

方法一:界面方式(推薦新手使用)

創(chuàng)建數(shù)據(jù)庫:使用DBCA(數(shù)據(jù)庫配置助手)工具。

這是一個圖形化向?qū)?,按照步驟選擇數(shù)據(jù)庫名稱、字符集、存儲位置等即可輕松完成創(chuàng)建。

啟動DBCA,進(jìn)入cmd命令行輸入dbca;在搜索欄搜索dbca文件以管理員的方式運(yùn)行(推薦使用后者)出現(xiàn)“歡迎使用”界面,如圖所示,單擊“下一步”按鈕進(jìn)入創(chuàng)建數(shù)據(jù)庫的向?qū)А?/p>

在“操作”窗口中,用戶可以選擇要執(zhí)行的操作,這里選中“創(chuàng)建數(shù)據(jù)庫”選項,如圖所示,單擊“下一步”按鈕。

在“數(shù)據(jù)庫模板”窗口中,選擇相應(yīng)選項后單擊“顯示詳細(xì)資料”按鈕可查看該數(shù)據(jù)庫模板的各種信息。這里選擇“一般用途或事務(wù)處理”選項,如圖所示,單擊“下一步”按鈕。

在“數(shù)據(jù)庫標(biāo)識”窗口中輸入“全局?jǐn)?shù)據(jù)庫名”和“SID”,如圖所示,單擊“下一步”按鈕。

在“管理選項”窗口中可以選擇配置Enterprise Manager企業(yè)管理器或者配置Database Control管理本地數(shù)據(jù)庫,這里保持默認(rèn)設(shè)置,如圖所示,單擊“下一步”按鈕。

在“數(shù)據(jù)庫身份證明”窗口中,將所有賬戶設(shè)置為同一管理口令,如圖所示,單擊“下一步”按鈕。

在“數(shù)據(jù)庫文件所在位置”窗口中,選擇“所有數(shù)據(jù)庫文件使用公共位置”,單擊“瀏覽”按鈕選擇數(shù)據(jù)庫文件的存放路徑,如圖所示,單擊“下一步”按鈕。

下一步

選擇你自己找的到的地方

注意勾選示例方案

在“初始化參數(shù)”和“數(shù)據(jù)庫存儲”窗口中也保持默認(rèn)配置,兩次單擊“下一步”按鈕。

在“創(chuàng)建選項”窗口中選擇“創(chuàng)建數(shù)據(jù)庫”選項,如圖3.9所示,單擊“完成”按鈕,之后會彈出確認(rèn)創(chuàng)建的對話框,單擊“確定”按鈕開始創(chuàng)建數(shù)據(jù)庫。

耐心等待

創(chuàng)建數(shù)據(jù)庫完畢后,系統(tǒng)會彈出窗口顯示相關(guān)的提示信息,如圖所示,需要在這一步解鎖SCOTT、SYSTEM、SYS賬戶并設(shè)置其口令,單擊窗口中的“口令管理”按鈕,彈出“口令管理”對話框。找到以上三個用戶賬戶,將“是否鎖定賬戶”一欄里的勾去掉,修改口令。

計算機(jī)管理->服務(wù)與應(yīng)用程序->服務(wù),注意將所有與Oracle有關(guān)的服務(wù)打開

創(chuàng)建表空間:使用navicat工具。

關(guān)于nvicat連接Oracle服務(wù)器的鏈接:http://chabaoo.cn/database/349734h29.htm

連接服務(wù)器,其他->表空間

新建表空間,輸入名稱、大小;注意下面的路徑、自動擴(kuò)展和下一個大小。

保存輸入表名稱

在用戶這里查看,沒有剛剛創(chuàng)建的話就新建一個

新建用戶,注意用戶名和表空間要與剛剛創(chuàng)建的表空間一致,保存。

之后就能查詢到創(chuàng)建的表空間。

方法二:命令方式(需掌握的核心技能)

手動創(chuàng)建數(shù)據(jù)庫(謹(jǐn)慎操作?。?/h4>
```sql
-- 1. 創(chuàng)建初始化參數(shù)文件(initmydb.ora),設(shè)置必要參數(shù)如:
DB_NAME=mydb
CONTROL_FILES=("E:\app\...\control01.ctl", "E:\app\...\control02.ctl")
...

-- 2. 連接并啟動實(shí)例到NOMOUNT狀態(tài)
CONN sys/password AS SYSDBA
STARTUP NOMOUNT pfile='E:\app\...\initmydb.ora';

-- 3. 執(zhí)行CREATE DATABASE命令(核心)
CREATE DATABASE mydb
LOGFILE GROUP 1 ('redo01.log') SIZE 50M,
         GROUP 2 ('redo02.log') SIZE 50M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
CHARACTER SET ZHS16GBK -- 使用中文常用字符集
NATIONAL CHARACTER SET AL16UTF16
DATAFILE 'system01.dbf' SIZE 500M
SYSAUX DATAFILE 'sysaux01.dbf' SIZE 500M
UNDO TABLESPACE undotbs DATAFILE 'undotbs01.dbf' SIZE 200M
DEFAULT TABLESPACE users DATAFILE 'users01.dbf' SIZE 100M;

-- 4. 創(chuàng)建附加表空間(可選)
CREATE TABLESPACE mytbs DATAFILE 'mytbs01.dbf' SIZE 100M;
```

**注意**:手動創(chuàng)建極易出錯,如果出錯,需要**刪除所有已創(chuàng)建的數(shù)據(jù)文件**后重新運(yùn)行。

使用SQL命令創(chuàng)建表空間

這是最常用的命令操作,必須掌握:

```sql
-- 創(chuàng)建一個名為`mytbs`的本地管理、自動段空間管理的表空間
CREATE TABLESPACE mytbs
  DATAFILE 'E:\app\oradata\mydb\mytbs01.dbf' -- 數(shù)據(jù)文件路徑
  SIZE 100M                                  -- 初始大小
  AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED   -- 自動擴(kuò)展
  EXTENT MANAGEMENT LOCAL                    -- 本地化管理
  SEGMENT SPACE MANAGEMENT AUTO;             -- 段空間自動管理

-- 創(chuàng)建一個大數(shù)據(jù)文件表空間(BIGFILE)
CREATE BIGFILE TABLESPACE liyu_big
  DATAFILE 'liyu_big.dbf' SIZE 2G;

-- 修改表空間大小
ALTER TABLESPACE liyu_big RESIZE 1G;

-- 重命名表空間(注意:SYSTEM和SYSAUX不能重命名)
ALTER TABLESPACE liyu_2 RENAME TO new_liyu_2;

-- 刪除表空間( INCLUDING CONTENTS 會同時刪除段數(shù)據(jù))
DROP TABLESPACE liyu_big INCLUDING CONTENTS AND DATAFILES;
```

三、總結(jié)與回顧

概念類比解釋創(chuàng)建方式
數(shù)據(jù)庫整個倉庫數(shù)據(jù)物理和邏輯的集合CREATE DATABASEDBCA
表空間倉庫分區(qū)最大的邏輯存儲單元,由數(shù)據(jù)文件組成CREATE TABLESPACEOEM
貨架存儲數(shù)據(jù)庫對象(表、索引等)(隨表/索引自動創(chuàng)建)
區(qū)一組貨位由連續(xù)數(shù)據(jù)塊組成,分配存儲的最小單位(自動分配)
數(shù)據(jù)塊單個貨位最小的I/O邏輯存儲單位(由參數(shù)決定)

學(xué)習(xí)建議

  1. 理解概念:務(wù)必搞清這些概念之間的包含關(guān)系:數(shù)據(jù)庫 > 表空間 > 段 > 區(qū) > 數(shù)據(jù)塊。
  2. 動手練習(xí):在自己安裝的Oracle環(huán)境或?qū)W校實(shí)驗室中,優(yōu)先使用DBCA創(chuàng)建數(shù)據(jù)庫,然后多用SQL命令練習(xí)表空間的創(chuàng)建、修改和刪除。這是最實(shí)際有效的學(xué)習(xí)方式。
  3. 謹(jǐn)慎操作DROP命令一旦執(zhí)行無法撤回,操作前務(wù)必確認(rèn)無誤。

到此這篇關(guān)于Oracle數(shù)據(jù)庫、表空間與存儲結(jié)構(gòu)的文章就介紹到這了,更多相關(guān)Oracle表空間與存儲結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論