1. 程式人生 > >達夢資料庫管理之表空間

達夢資料庫管理之表空間

DM7表空間

1.DM7表空間概述

        在DM7資料庫中,表空間是一種邏輯儲存結構,資料庫的物件如表、索引等在邏輯上都是儲存在指定的表空間中。資料庫在初始化的時候,系統會自動建立5個預設表空間,SYSTEM,MAIN,ROLL,TEMP和HMAIN表空間。其中SYSTEM表空間是系統表空間,儲存有資料字典資訊,使用者資料不能存放在該表空間上。ROLL,TEMP和HMAIN表空間,由系統自動維護,不需要使用者干預。初始的MAIN表空間為使用者預設表空間。表空間只是一種邏輯結構,對應的物理儲存結構為資料檔案。也即是,使用者的資料是儲存在表空間對應的資料檔案上面。DM7資料庫中,物理儲存結構的資料檔案字尾為DBF。系統提供v$

tablespace和 v$datafile檢視查詢表空間和資料檔案。

--查詢表空間
SQL>select * from v$tablespace;

--查詢資料檔案
SQL>select * from v$datafile;

--查詢表空間對應的資料檔案
SELECT
        ts.NAME,
        df.PATH
FROM
        V$TABLESPACE AS ts,
        V$DATAFILE   AS df
WHERE
        ts.ID = df.GROUP_ID;

2.DM7表空間管理

2.1表空間建立與刪除

--建立表空間,最簡潔形式
--僅指定資料檔案路徑,以及資料檔案初始大小,單位為(MB)
--注意大小僅為數字,不能帶M符號
CREATE TABLESPACE bookshop DATAFILE '/opt/bookshop1.dbf' SIZE 128;

--以上建立表空間語句,自動指定如下屬性:
autoextend on    
maxsize 33554431 
CACHE = NORMAL
屬性分別指:資料檔案自動擴充套件,擴充套件最大大小,資料頁的緩衝池名稱

--建立表空間,指定非自動擴充套件
CREATE TABLESPACE bookshop DATAFILE '/opt/bookshop1.dbf'
SIZE 128 autoextend off;
--刪除表空間 drop tablespace bookshop; 刪除表空間時,改表空間上必須沒有資料庫物件,否則會刪除失敗

2.2表空間擴充套件

當未指定表空間自動擴充套件,或是某一作業系統目錄空間不足,資料庫需要新的空間時,可以對錶空間進行擴充套件操作。擴充套件有兩種操作,一是新增資料檔案;另外一種是增大已有的資料檔案。

--新增資料檔案
ALTER TABLESPACE bookshop ADD DATAFILE '/opt/book2.dbf' SIZE 64;

--增大已有資料檔案
ALTER TABLESPACE bookshop RESIZE DATAFILE '/opt/book.dbf' TO 1024;

2.3表空間資料檔案路徑修改

當已有作業系統目錄空間不足,需要將存放在該目錄下的資料庫資料檔案更新目錄時,可以使用如下語句。使用本方法的前提是,表空間必須處在離線狀態:

--表空間離線處理
ALTER TABLESPACE bookshop OFFLINE;

--更改資料檔案路徑
ALTER TABLESPACE bookshop RENAME DATAFILE '/opt/book.dbf' TO '/data/book.dbf';

當該表空間有事務操作時,離線處理會失敗。更改資料檔案路徑,系統會自動修改控制檔案,並將作業系統檔案移動到新的路徑。

--在使用離線處理失效時,可以將資料庫系統進行關閉處理,然後手動修改控制檔案,並移動資料檔案至新的目錄後,重新啟動資料庫系統。

3.DM7表空間監控

監控表空間使用空間情況:

--DM7 查詢表空間使用
select
        t.name tablespace_name,
        d.free_size*SF_GET_PAGE_SIZE()/1024/1024
        ||'M' free_space,
        d.total_size*SF_GET_PAGE_SIZE()/1024/1024
        ||'M' total_space,
        d.free_size*100/d.total_size "% FREE"
from
        v$tablespace t,
        v$datafile d
where
        t.id=d.group_id;

4.DM7表空間備份

DM7資料庫支援使用者表空間的備份還原操作。表空間備份需要在聯機狀態下執行,並且需要開啟資料庫歸檔模式。這是因為,表空間的資料庫物件的字典資訊是儲存在資料庫的系統SYSTEM表空間中。表空間的還原恢復,只能在備份源庫上聯機執行。

--表空間全量備份
BACKUP TABLESPACE t1 FULL TO TS_BAK BAKFILE '/opt/tablespace_bak.bak' ;

--表空間還原
ALTER TABLESPACE t1 OFFLINE;
RESTORE TABLESPACE t1 FROM '/opt/tablespace_bak.bak' IDENTIFIED BY ABCDEF;
ALTER TABLESPACE t1 ONLINE;

5.DM7線上體驗

www.dameng.com
目前達夢資料庫官網(www.dameng.com)首頁推出達夢資料庫線上體驗服務,對於想了解國產達夢資料庫的同學是個不錯的選擇。通過線上體驗,無需部署安裝,可以通過WEB形式直接使用。

線上體驗

線上體驗平臺

5.結語

歡迎使用國產達夢資料庫!

微博:汀畔柳絮

相關推薦

資料庫管理空間

DM7表空間 1.DM7表空間概述         在DM7資料庫中,表空間是一種邏輯儲存結構,資料庫的物件如表、索引等在邏輯上都是儲存在指定的表空間中。資料庫在初始化的時候,系統會自動建立5個預設表空間,SYSTEM,MAIN,ROLL,TEMP和H

mysql學習資料庫管理管理

資料庫管理 3.1 查詢所有資料庫 mysql> show databases; 3.2 建立資料庫 mysql> create database emp       -- 指定預設字符集建立資料庫   &n

建立一個本地管理空間AUTOALLOCATE和UNIFORM

官方文件解釋: Create a locally managed tablespace by specifying LOCAL in the EXTENT MANAGEMENT clause of the CREATE TABLESPACE statement. Th

資料庫新建資料庫提示DUAL或檢視不存在的解決方法

由於DM資料庫中,dual偽表在SYSTEM庫的SYSDBA模式下,非SYSDBA使用者訪問時需要帶上庫名和模式名來訪問,如果需要直接訪問可以用SYSDBA建立一個PUBLIC同義詞:CREATE P

MySQL系列:innodb原始碼分析空間管理

innodb在實現表空間(table space)基於檔案IO之上構建的一層邏輯儲存空間管理,table space採用邏輯分層的結構:space、segment inode、extent和page.在實現層的邏輯使用了磁碟連結串列這種結構來管理邏輯關係。我們先來介紹磁碟連

Oracle12c中容錯&性能新特性空間

size path 臨時 pac dbf 包含 amp lec 空間名 1. 簡介 表空間組可以使用戶消耗來自多個表空間的臨時表空間。表空間組有如下特點: 1) 至少包含一個表空間。表空間組中包含的最大表空間數沒有限制。 2)

mysql 空間傳輸

名稱 測試的 incr backup root row chown ODB data 說明:MySQL(5.6.6及以上),innodb_file_per_table開啟。 1.1. 操作步驟: 0. 目標服務器創建相同表結構1. 目的服務器: ALTER TABLE t

Oracle 12c 插鏈式資料庫下建空間,新建使用者及賦權SQL,解決空導不出的問題,使用者鎖定問題,密碼過期問題。

1、連線SQLPLUS sqlplus /nolog 2、SYSDBA登入 conn / as sysdba 3、檢視PDB show pdbs; 4、將會話轉到具體某個DB下 alter session set container=dbname; 5、建立表

mysql資料庫管理管理

一、資料庫管理 1.查詢所有資料庫 mysql> show databases;   2.顯示資料庫建立語句 mysql> show create database db_name;   3.建立資料庫 mysql> crea

資料庫查詢表結構

因為客戶要求使用達夢資料庫,專案中又需要查詢表的結構,同事沒搞定,就交給我了。。。。  背鍋 查詢據說達夢跟Oracle資料庫的用法和形式都很像(暫時還不清楚他們倆究竟是什麼淵源),直接就按照Oracle的用法去查了,發現確實挺像。。。。 查詢表字段: select *

資料庫備份還原

1、資料庫備份還原 --備份 backup database full to BAK201812050 bakfile 'E:\soft\dmdbms\data\DAMENG\bak\BAK201812050.bak' compressed; --還原 dmrestore ini_path=E

oracle資料庫——impdp匯入空間

關於oracle匯入匯出這是其中一種方法,有很多地方自己還不明白。寫的不好的地方大家也可以指出來,一起學習。 匯入 使用SQL puls 登陸到資料庫。         [建立使用者]: create user user_name identified by passwor

資料庫MySQL級約束與列級約束是什麼?

表級約束與列級約束 表級約束與列級約束 (1)對一個數據列建立的約束,稱為列級約束 (2)對多個數據列建立的約束,稱為表級約束 (3)列級約束既可以在列定義時宣告,也可以在列定以後宣告 (4)表級約束只能在列定義後宣告 主鍵、外來鍵、非空、唯一、default都是約束條

MySQL5.7資料庫優化設計

一個數據庫、表設計的優劣會影響到資料庫的效能,所以合理的設計資料庫是非常重要的。 最近看了MySQL5.7手冊,手冊第八章就是關於優化的,第十一章詳細的介紹了各個欄位。如果你有興趣可以去看看,相信會收穫頗豐。下面根據手冊及結合平時開發經驗還有大學學的資料庫原理來

輕鬆精通資料庫管理道——運維巡檢二(資料庫

前言   做好日常巡檢是資料庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。   本系列旨在解決一些常見的困擾: 不知道巡檢哪些東西 不知道怎麼樣便捷體檢 機器太多體檢麻煩 生成報告困難,無法直觀呈現結果   經過硬體巡檢,資料庫狀態情況的巡

輕鬆精通資料庫管理道——運維巡檢三(結構設計)

前言   做好日常巡檢是資料庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。   本系列旨在解決一些常見的困擾: 不知道巡檢哪些東西 不知道怎麼樣便捷體檢 機器太多體檢麻煩 生成報告困難,無法直觀呈現結果   前面兩篇對伺服器軟硬體配置、資料

輕鬆精通資料庫管理道——運維巡檢六(作業執行情況)

前言   做好日常巡檢是資料庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。   本系列旨在解決一些常見的困擾: 不知道巡檢哪些東西 不知道怎麼樣便捷體檢 機器太多體檢麻煩 生成報告困難,無法直觀呈現結果     SQL Server很多

輕鬆精通資料庫管理道——運維巡檢系列

  巡檢是資料庫管理員保證資料庫健康的必要維護項,全面的巡檢可以及早的發現問題、解決問題、預防問題。   很多資料庫維護人員其實對資料庫瞭解的並不深入(常常集中在傳統行業),不是專業的DBA,同時又身兼多職(業務、軟體、網路、硬體),在每天繁雜的工作中已經身心俱疲。這樣的一種狀態也必然讓系統管理員即使有意精

輕鬆精通資料庫管理道——運維巡檢八(效能)

前言   做好日常巡檢是資料庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。   本系列旨在解決一些常見的困擾: 不知道巡檢哪些東西 不知道怎麼樣便捷體檢 機器太多體檢麻煩 生成報告困難,無法直觀呈現結果   效能是系統好壞的重要指標之一,而

輕鬆精通資料庫管理道——運維巡檢五(例項級引數)

前言   做好日常巡檢是資料庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。   本系列旨在解決一些常見的困擾: 不知道巡檢哪些東西 不知道怎麼樣便捷體檢 機器太多體檢麻煩 生成報告困難,無法直觀呈現結果     例項的引數對系統性能和穩定的