乙個很好用的資料庫維護備份方式,表分割槽。
這個也是前段時間對資料庫做設計的時候遇到的問題,為了解決資料庫中有些表增長快,後期對其維護、備份麻煩的問題,用到了表分割槽。
鐵路專案中的確報、安全門、軌道衡、超偏載等檔案每天的入庫,每天好幾十條,資料庫入庫倒是沒有問題,但是資料量越來越大,造成了查詢速度非常慢。隨著時間的推移,對資料庫歷史資料的維護(備份,刪除),也是乙個問題。因為這些增長(變化)比較大的表占用較大的表空間。為以後維護方便,就用到了表分割槽。
具體步驟:
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伺服器的重要組成部分,為查詢建立了乙個最佳的查詢執行計畫。對於特定查詢...