對大表資料庫的維護備份

2021-06-16 00:25:30 字數 1692 閱讀 6599

乙個很好用的資料庫維護備份方式,表分割槽。

這個也是前段時間對資料庫做設計的時候遇到的問題,為了解決資料庫中有些表增長快,後期對其維護、備份麻煩的問題,用到了表分割槽。

鐵路專案中的確報、安全門、軌道衡、超偏載等檔案每天的入庫,每天好幾十條,資料庫入庫倒是沒有問題,但是資料量越來越大,造成了查詢速度非常慢。隨著時間的推移,對資料庫歷史資料的維護(備份,刪除),也是乙個問題。因為這些增長(變化)比較大的表占用較大的表空間。為以後維護方便,就用到了表分割槽。

具體步驟:

1.建立各個表空間。

--****************************************=

--以dba使用者登入

--****************************************=

--建立預設表分割槽,此分割槽為存放資料不怎麼變化的表。

create tablespace ts_default

datafile 'e:/oracle/product/10.1.0/oradata/railway/ts_default.dat'

size 10m autoextend on next 5m maxsize unlimited;

--建立2023年一季度的表空間ts_2008_1 size=30m 每次自動增長1280k 最大不限(因為考慮到每季度的資料量不定)

create tablespace ts_2008_1

datafile 'e:/oracle/product/10.1.0/oradata/railway/2008_1.dat'

size 30m autoextend on next 30m maxsize unlimited;

2.建立分割槽表。

create table ***(

createtime date not null,

...

...)

partition by range (createtime)

(partition part_2008_1 values less than (to_date('2008-04-01','yyyy-mm-dd')) tablespace ts_2008_1

--此分割槽表用於存放2023年第一季度的資料

3.分割槽表的擴充。

--到達一定的條件後,新增表分割槽到指定的表空間上(之前應先建立表空間)

alter table test add partition part_2008_2 values less than (to_date('2008-04-01','yyyy-mm-dd')) tablespace ts_2008_2;

--此分割槽表用於存放2023年第二季度的資料

4.刪除不必要的分割槽。

--刪除不用的表分割槽

alter table test drop partition part_2008_1;

5.檢視分割槽資訊。

select * from user_extents;

--命令列匯出分割槽資料,備份資料

-- exp test/test@orcl file=part_2008_1.dmp tables=(test:part_2008_1)

其它:

--檢視當前使用者預設表空間

select default_tablespace from user_users; 

如有任何問題,請多多指教。

MYSQL資料庫 表維護

如果想知道mysql資料庫中每個表占用的空間 表記錄的行數的話,可以開啟mysql的information schema 資料庫。在該庫中有乙個tables 表,這個表主要字段分別是 table schema 資料庫名 table name 表名 engine 所使用的儲存引擎 tables row...

Mysql資料庫備份 資料庫備份和表備份

mysql中資料備份使用的命令是 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的 工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條insert語句。然...

mysql資料庫維護 維護MySQL資料庫表

在本教程中,我們將向您介紹一些非常有用的語句,使您可以在mysql中維護資料庫表。mysql提供了幾個有用的語句,可以有效地維護資料庫表。這些語句使您能夠分析,優化,檢查和修復資料庫表。分析表語句 mysql查詢優化器是mysql伺服器的重要組成部分,為查詢建立了乙個最佳的查詢執行計畫。對於特定查詢...