從dba_segments提取資料庫最消耗空間的top10資料庫物件或segments
結論:
統計前10臺的消耗空間的資料庫物件,為了清晰起見,我基於不同的段物件進行分別抽取
--抽取TOP10的TABLE
select owner,segment_name,gb from (select owner,segment_name,bytes/1024/1024/1024 as gb,rownum rn from dba_segments where segment_type='TABLE' order by 3 desc) where rn<=10;
----提取top10的table partition
select owner,segment_name,gb
from (select owner,segment_name,gb,rownum rn
from (select owner,segment_name,sum(bytes/1024/1024/1024) as gb
from dba_segments
where segment_type='TABLE PARTITION'
group by owner,segment_name
order by 3 desc))
where rn<=10;
--獲取top 10的table subpartition
select owner,segment_name,gb
from (select owner,segment_name,gb,rownum rn
from (select owner,segment_name,sum(bytes/1024/1024/1024) as gb
from dba_segments
where segment_type='TABLE SUBPARTITION'
group by owner,segment_name
order by 3 desc))
where rn<=10;
--獲取TOP10的INDEX
select owner,segment_name,gb from (select owner,segment_name,bytes/1024/1024/1024 as gb,rownum rn from dba_segments where segment_type='INDEX' order by 3 desc) where rn<=10;
--獲取TOP10的INDEX PARTITION
select owner,segment_name,gb
from (select owner,segment_name,gb,rownum rn
from (select owner,segment_name,sum(bytes/1024/1024/1024) as gb
from dba_segments
where segment_type='INDEX PARTITION'
group by owner,segment_name
order by 3 desc))
where rn<=10;
--獲取TOP10的INDEX SUBPARTITION
select owner,segment_name,gb
from (select owner,segment_name,gb,rownum rn
from (select owner,segment_name,sum(bytes/1024/1024/1024) as gb
from dba_segments
where segment_type='INDEX SUBPARTITION'
group by owner,segment_name
order by 3 desc))
where rn<=10;
--獲取TOP10的LOBSEGMENT
select owner,segment_name,gb from (select owner,segment_name,bytes/1024/1024/1024 as gb,rownum rn from dba_segments where segment_type='LOBSEGMENT' order by 3 desc) where rn<=10;
--獲取TOP10的LOB PARTITION
select owner,segment_name,gb
from (select owner,segment_name,gb,rownum rn
from (select owner,segment_name,sum(bytes/1024/1024/1024) as gb
from dba_segments
where segment_type='LOB PARTITION'
group by owner,segment_name
order by 3 desc))
where rn<=10;
--獲取TOP10的CLUSTER
select owner,segment_name,gb from (select owner,segment_name,bytes/1024/1024/1024 as gb,rownum rn from dba_segments where segment_type='CLUSTER' order by 3 desc) where rn<=10;
引子
今天在巡檢資料庫伺服器的檔案系統時,發現承載資料檔案的檔案系統剩餘率極小,於是客戶讓我在資料庫中排查下哪些資料庫物件最消耗空間,然後考慮可否
最佳化與調整,減少不必要的空間佔用與資源浪費。
測試
1,資料庫段物件共計12種,我們主要研究如下型別:
index,index parittion,
lob partition,lob segment,logindex,
cluster,
table,table SUBPARTITION,table PARTITION,
nested table,
type2 undo,
SQL> select distinct segment_type from dba_segments;
SEGMENT_TYPE
------------------
ROLLBACK
INDEX
TABLE SUBPARTITION
LOBINDEX
TABLE PARTITION
NESTED TABLE
TYPE2 UNDO
TABLE
LOBSEGMENT
CLUSTER
INDEX PARTITION
SEGMENT_TYPE
------------------
LOB PARTITION
12 rows selected.
2,我們先測試table,table partition,table SUBPARTITION
---table segment
SQL> create table t_non_partition(a int,b int);
Table created.
SQL> insert into t_non_partition values(1,1);
1 row created.
SQL> commit;
Commit complete.
SQL> set linesize 300
SQL> select segment_name,segment_type from user_segments where lower(segment_name)='t_non_partition';
SEGMENT_NAME SEGMENT_TYPE
--------------------------------------------------------------------------------- ------------------
T_NON_PARTITION TABLE
--table partition
SQL> create table t_partition(a int,b int) partition by range(a) (partition p1 values less than(10),partition p2 values less than(maxvalue));
Table created.
分割槽表即使不插入資料也會預設分配段空間,預設每個段大小為65536BYTE
SSQL> col segment_name for a20
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_name)='t_partition';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------- ------------------ ----------
T_PARTITION TABLE PARTITION 65536
T_PARTITION TABLE PARTITION 65536
SQL> insert into t_partition values(1,1);
1 row created.
SQL> insert into t_partition values(11,1);
1 row created.
SQL> commit;
Commit complete.
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_name)='t_partition';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------- ------------------ ----------
T_PARTITION TABLE PARTITION 65536
T_PARTITION TABLE PARTITION 65536
SQL> insert into t_partition select level,level from dual connect by level<=100000;
100000 rows created.
SQL> commit;
Commit complete.
可見table segment僅佔dba_segments 1條記錄,即僅分配一個segment,而table partition會根據分割槽表的分表個數,相應分配幾個段,同時在dba_segments也佔用相應個數的記錄
SQL> select owner,segment_name,segment_type,bytes from dba_segments where lower(segment_name)='t_partition';
OWNER SEGMENT_NAME SEGMENT_TYPE BYTES
------------------------------ -------------------- ------------------ ----------
SCOTT T_PARTITION TABLE PARTITION 65536
SCOTT T_PARTITION TABLE PARTITION 2097152
--table SUBPARTITION
2個分割槽,每個分割槽有3個子分割槽,共計6個子分割槽
SQL> create table t_subpart(a int,b int) partition by range(a) subpartition by hash(b) subpartitions 3(partition p1 values less than(10),partition p2 values less than(maxvalue));
Table created.
子分割槽表和分割槽表一樣,段的個表即子分割槽的個數,所以子分割槽表和分割槽表同理
SQL> col segment_name for a20
SQL> set linesize 300
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_name)='t_subpart';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------- ------------------ ----------
T_SUBPART TABLE SUBPARTITION 65536
T_SUBPART TABLE SUBPARTITION 65536
T_SUBPART TABLE SUBPARTITION 65536
T_SUBPART TABLE SUBPARTITION 65536
T_SUBPART TABLE SUBPARTITION 65536
T_SUBPART TABLE SUBPARTITION 65536
6 rows selected.
2,繼續測試index,index parittion,index subpartition
--index
SQL> create table t_index(a int,b int);
Table created.
SQL> create index idx_t_index on t_index(a);
Index created.
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_name)='idx_t_index';
no rows selected
SQL> insert into t_index values(1,1);
1 row created.
SQL> commit;
Commit complete.
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_name)='idx_t_index';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------- ------------------ ----------
IDX_T_INDEX INDEX 65536
--index partition
SQL> drop index IDX_T_INDEX;
Index dropped.
本地分割槽索引的基表必須要為分割槽表
SQL> create index idx_t_index_local on t_index(a) local;
create index idx_t_index_local on t_index(a) local
*
ERROR at line 1:
ORA-14016: underlying table of a LOCAL partitioned index must be partitioned
全域性索引的基表可以不用分割槽
SQL> create index idx_t_index_local on t_index(a) global;
Index created.
但是全域性索引的段型別仍是index,和普通索引段型別一樣
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_name)='idx_t_index_local';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------- ------------------ ----------
IDX_T_INDEX_LOCAL INDEX 65536
SQL> create table t_index(a int,b int) partition by range(a) (partition p1 values less than(10),partition p2 values less than(maxvalue));
Table created.
SQL> create index idx_t_index on t_index(a) local;
Index created.
可見index partition和table partition原理一樣
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_name)='idx_t_index';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------- ------------------ ----------
IDX_T_INDEX INDEX PARTITION 65536
IDX_T_INDEX INDEX PARTITION 65536
index subpartition同理,不再測試
3,lob partition,lobsegment,lobindex,
--lobsegment
SQL> col segment_name for a50
SQL> select segment_name,segment_type from dba_segments where lower(segment_type) like '%lobsegment%' and rownum=1;
SEGMENT_NAME SEGMENT_TYPE
-------------------------------------------------- ------------------
SYS_LOB0000000109C00005$$ LOBSEGMENT
SQL> show user
USER is "SCOTT"
SQL> create table t_lob(a int,b blob);
Table created.
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_name)='t_lob';
no rows selected
SQL> col column_name for a50
SQL> col segment_name for a50
SQL> set linesize 300
SQL> select table_name,column_name,segment_name from user_lobs where lower(table_name)='t_lob';
TABLE_NAME COLUMN_NAME SEGMENT_NAME
------------------------------ -------------------------------------------------- --------------------------------------------------
T_LOB B SYS_LOB0000082940C00002$$
SQL> insert into t_lob values(1,'1');
1 row created.
SQL> commit;
Commit complete.
可見表的lob列會分配一個獨立的段,且其段名和dba_lobs的段名相同,段型別為lobsegment
SQL> select segment_name,segment_type,bytes from user_segments where segment_name='SYS_LOB0000082940C00002$$';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------------------------------------- ------------------ ----------
SYS_LOB0000082940C00002$$ LOBSEGMENT 65536
--lob partition
SQL> drop table t_lob purge;
Table dropped.
SQL> create table t_lob(a int,b blob) partition by range(a) (partition p1 values less than(10),partition p2 values less than(maxvalue));
Table created.
可見lob partition和table partition一樣道理
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_type)='lob partition';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------------------------------------- ------------------ ----------
SYS_LOB0000082943C00002$$ LOB PARTITION 65536
SYS_LOB0000082943C00002$$ LOB PARTITION 65536
---lobindex
SQL> drop table t_lob purge;
Table dropped.
SQL> create table t_lob(a int,b blob);
Table created.
SQL> set linesize 300
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_type) like '%lob%';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------------------------------------- ------------------ ----------
SYS_IL0000082952C00002$$ LOBINDEX 65536
SYS_LOB0000082952C00002$$ LOBSEGMENT 65536
SQL> drop table t_lob purge;
Table dropped.
可見只要表包含lob列,ORACLE會自動建立LOB INDEX及LOB SEGMENT 2個型別的段,一個用於儲存LOB列資料的索引,另一個用於儲存真正的LOB資料
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_type) like '%lob%';
no rows selected
SQL> create table t_lob(a int,b blob);
Table created.
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_type) like '%lob%';
no rows selected
SQL> insert into t_lob values(1,'a');
1 row created.
SQL> commit;
Commit complete.
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_type) like '%lob%';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------------------------------------- ------------------ ----------
SYS_IL0000082955C00002$$ LOBINDEX 65536
SYS_LOB0000082955C00002$$ LOBSEGMENT 65536
SQL>
4,繼續研究type2 undo
SQL> select owner,segment_name,segment_type,bytes from dba_segments where lower(segment_type) like '%type2 undo%';
OWNER SEGMENT_NAME SEGMENT_TYPE BYTES
------------------------------ -------------------------------------------------- ------------------ ----------
SYS _SYSSMU1_3780397527$ TYPE2 UNDO 3276800
SYS _SYSSMU2_2232571081$ TYPE2 UNDO 15859712
SYS _SYSSMU3_2097677531$ TYPE2 UNDO 15859712
SYS _SYSSMU4_1152005954$ TYPE2 UNDO 14811136
SYS _SYSSMU5_1527469038$ TYPE2 UNDO 14811136
SYS _SYSSMU6_2443381498$ TYPE2 UNDO 14811136
SYS _SYSSMU7_3286610060$ TYPE2 UNDO 15859712
SYS _SYSSMU8_2012382730$ TYPE2 UNDO 16908288
SYS _SYSSMU9_1424341975$ TYPE2 UNDO 15859712
SYS _SYSSMU10_3550978943$ TYPE2 UNDO 15859712
SYS _SYSSMU11_3764057063$ TYPE2 UNDO 2097152
OWNER SEGMENT_NAME SEGMENT_TYPE BYTES
------------------------------ -------------------------------------------------- ------------------ ----------
SYS _SYSSMU12_4237347689$ TYPE2 UNDO 2097152
SYS _SYSSMU13_4009171218$ TYPE2 UNDO 2097152
SYS _SYSSMU14_85406916$ TYPE2 UNDO 2097152
SYS _SYSSMU15_19581870$ TYPE2 UNDO 2097152
SYS _SYSSMU16_330215121$ TYPE2 UNDO 2097152
SYS _SYSSMU17_2539421292$ TYPE2 UNDO 2097152
SYS _SYSSMU18_2838524032$ TYPE2 UNDO 2097152
SYS _SYSSMU19_2247644598$ TYPE2 UNDO 2097152
SYS _SYSSMU20_3287519172$ TYPE2 UNDO 2097152
SYS _SYSSMU21_979913864$ TYPE2 UNDO 2097152
SYS _SYSSMU22_1258676675$ TYPE2 UNDO 2097152
OWNER SEGMENT_NAME SEGMENT_TYPE BYTES
------------------------------ -------------------------------------------------- ------------------ ----------
SYS _SYSSMU23_432372269$ TYPE2 UNDO 2097152
SYS _SYSSMU24_29215360$ TYPE2 UNDO 2097152
SYS _SYSSMU25_1959401013$ TYPE2 UNDO 2097152
SYS _SYSSMU26_1505353806$ TYPE2 UNDO 2097152
SYS _SYSSMU27_4175236021$ TYPE2 UNDO 2097152
SYS _SYSSMU28_2795037290$ TYPE2 UNDO 2097152
SYS _SYSSMU29_2912783882$ TYPE2 UNDO 2097152
SYS _SYSSMU30_3787905801$ TYPE2 UNDO 2097152
SYS _SYSSMU31_2920750614$ TYPE2 UNDO 2097152
SYS _SYSSMU32_571373598$ TYPE2 UNDO 2097152
SYS _SYSSMU33_1927177067$ TYPE2 UNDO 2097152
OWNER SEGMENT_NAME SEGMENT_TYPE BYTES
------------------------------ -------------------------------------------------- ------------------ ----------
SYS _SYSSMU34_1559179680$ TYPE2 UNDO 2097152
SYS _SYSSMU35_291451185$ TYPE2 UNDO 2097152
SYS _SYSSMU36_1109293922$ TYPE2 UNDO 2097152
SYS _SYSSMU37_1481936203$ TYPE2 UNDO 2097152
SYS _SYSSMU38_469291246$ TYPE2 UNDO 2097152
SYS _SYSSMU39_1698885487$ TYPE2 UNDO 2097152
SYS _SYSSMU40_773436029$ TYPE2 UNDO 2097152
SYS _SYSSMU41_1986806182$ TYPE2 UNDO 2097152
SYS _SYSSMU42_853024593$ TYPE2 UNDO 2097152
SYS _SYSSMU43_3929672554$ TYPE2 UNDO 2097152
SYS _SYSSMU44_1441154989$ TYPE2 UNDO 2097152
OWNER SEGMENT_NAME SEGMENT_TYPE BYTES
------------------------------ -------------------------------------------------- ------------------ ----------
SYS _SYSSMU45_1152487835$ TYPE2 UNDO 2097152
SYS _SYSSMU46_2885130413$ TYPE2 UNDO 2097152
SYS _SYSSMU47_2402955442$ TYPE2 UNDO 2097152
SYS _SYSSMU48_3478094676$ TYPE2 UNDO 2097152
SYS _SYSSMU49_2073140607$ TYPE2 UNDO 2097152
49 rows selected.
SQL>
可見type 2 undo就是UNDO TABLESPACE回滾表空間的段
SQL> select segment_name,owner,segment_id from dba_rollback_segs;
SEGMENT_NAME OWNER SEGMENT_ID
-------------------------------------------------- ------ ----------
SYSTEM SYS 0
_SYSSMU49_2073140607$ PUBLIC 49
_SYSSMU48_3478094676$ PUBLIC 48
_SYSSMU47_2402955442$ PUBLIC 47
_SYSSMU46_2885130413$ PUBLIC 46
_SYSSMU45_1152487835$ PUBLIC 45
_SYSSMU44_1441154989$ PUBLIC 44
_SYSSMU43_3929672554$ PUBLIC 43
_SYSSMU42_853024593$ PUBLIC 42
_SYSSMU41_1986806182$ PUBLIC 41
_SYSSMU40_773436029$ PUBLIC 40
SEGMENT_NAME OWNER SEGMENT_ID
-------------------------------------------------- ------ ----------
_SYSSMU39_1698885487$ PUBLIC 39
_SYSSMU38_469291246$ PUBLIC 38
_SYSSMU37_1481936203$ PUBLIC 37
_SYSSMU36_1109293922$ PUBLIC 36
_SYSSMU35_291451185$ PUBLIC 35
_SYSSMU34_1559179680$ PUBLIC 34
_SYSSMU33_1927177067$ PUBLIC 33
_SYSSMU32_571373598$ PUBLIC 32
_SYSSMU31_2920750614$ PUBLIC 31
_SYSSMU30_3787905801$ PUBLIC 30
_SYSSMU29_2912783882$ PUBLIC 29
SEGMENT_NAME OWNER SEGMENT_ID
-------------------------------------------------- ------ ----------
_SYSSMU28_2795037290$ PUBLIC 28
_SYSSMU27_4175236021$ PUBLIC 27
_SYSSMU26_1505353806$ PUBLIC 26
_SYSSMU25_1959401013$ PUBLIC 25
_SYSSMU24_29215360$ PUBLIC 24
_SYSSMU23_432372269$ PUBLIC 23
_SYSSMU22_1258676675$ PUBLIC 22
_SYSSMU21_979913864$ PUBLIC 21
_SYSSMU20_3287519172$ PUBLIC 20
_SYSSMU19_2247644598$ PUBLIC 19
_SYSSMU18_2838524032$ PUBLIC 18
SEGMENT_NAME OWNER SEGMENT_ID
-------------------------------------------------- ------ ----------
_SYSSMU17_2539421292$ PUBLIC 17
_SYSSMU16_330215121$ PUBLIC 16
_SYSSMU15_19581870$ PUBLIC 15
_SYSSMU14_85406916$ PUBLIC 14
_SYSSMU13_4009171218$ PUBLIC 13
_SYSSMU12_4237347689$ PUBLIC 12
_SYSSMU11_3764057063$ PUBLIC 11
_SYSSMU10_3550978943$ PUBLIC 10
_SYSSMU9_1424341975$ PUBLIC 9
_SYSSMU8_2012382730$ PUBLIC 8
_SYSSMU7_3286610060$ PUBLIC 7
SEGMENT_NAME OWNER SEGMENT_ID
-------------------------------------------------- ------ ----------
_SYSSMU6_2443381498$ PUBLIC 6
_SYSSMU5_1527469038$ PUBLIC 5
_SYSSMU4_1152005954$ PUBLIC 4
_SYSSMU3_2097677531$ PUBLIC 3
_SYSSMU2_2232571081$ PUBLIC 2
_SYSSMU1_3780397527$ PUBLIC 1
50 rows selected.
SQL>
5,我們繼續測試cluster
SQL> create cluster t_cluster(a int) size 512;
Cluster created.
SQL> create table t_cluster_table1(a int,b int) cluster t_cluster(a);
Table created.
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_type) like '%cluster%';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------------------------------------- ------------------ ----------
T_CLUSTER CLUSTER 65536
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_name)='t_cluster_table1';
no rows selected
叢集表的表插入資料前,必須先為叢集建立索引
SQL> insert into t_cluster_table1 values(1,1);
insert into t_cluster_table1 values(1,1)
*
ERROR at line 1:
ORA-02032: clustered tables cannot be used before the cluster index is built
為叢集建立索引
SQL> create index idx_cluster on cluster t_cluster;
Index created.
SQL> insert into t_cluster_table1 values(1,1);
1 row created.
SQL> commit;
Commit complete.
可見集表中的表不會儲存分配同表名的段
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_name)='t_cluster_table1';
no rows selected
6,我們最後研究下nested table
SQL> create type t_type as object(a int,b int);
2 create table t_table_ref(a int,c t_type);
3 /
Warning: Type created with compilation errors.
SQL> show error
Errors for TYPE T_TYPE:
LINE/COL ERROR
-------- -----------------------------------------------------------------
2/1 PLS-00103: Encountered the symbol "CREATE"
SQL>
SQL> drop type t_type;
Type dropped.
建立自定義型別
SQL> create type t_type as object(a int);
2 /
Type created.
普通表的表可以引用自定義型別
SQL> create table t_table_ref(aa int,b t_type);
Table created.
SQL> insert into t_table_ref values(1,t_type(1));
1 row created.
SQL> commit;
Commit complete.
可見普能表引用自定義型別,不會為其分配nested table
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_type) like '%nest%';
no rows selected
建立巢狀表自定義型別
SQL> create type t_nest_type is table of int;
2 /
Type created.
建立一個表,其列引用上述建立的巢狀表自定義型別
SQL> create table t_nest_table(id int,val1 t_nest_type) nested table val1 store as other_tab;
Table created.
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_type) like '%nest%';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------------------------------------- ------------------ ----------
OTHER_TAB NESTED TABLE 65536
SQL> insert into t_nest_table values(1,t_nest_type(1));
1 row created.
SQL> commit;
Commit complete.
可見對於包含巢狀表型別的表,會為使用巢狀表型別的列分配一個nested table segment,為其表分配一個table segment
SQL> select segment_name,segment_type,bytes from user_segments where lower(segment_name)='t_nest_table';
SEGMENT_NAME SEGMENT_TYPE BYTES
-------------------------------------------------- ------------------ ----------
T_NEST_TABLE TABLE 65536
個人簡介
8年oracle從業經驗,具備豐富的oracle技能,目前在國內北京某專業oracle服務公司從事高階技術顧問。
服務過的客戶:
中國電信
中國移動
中國聯通
中國電通
國家電網
四川達州商業銀行
湖南老百姓大藥房
山西省公安廳
中國郵政
北京302醫院
河北廊坊新奧集團公司
專案經驗:
中國電信3G專案AAA系統資料庫部署及最佳化
中國聯通4G資料庫效能分析與最佳化
中國聯通4G資料庫效能分析與最佳化
中國聯通CRM資料庫效能最佳化
中國移動10086電商平臺資料庫部署及最佳化
湖南老百姓大藥房ERR資料庫sql最佳化專案
四川達州商業銀行TCBS核心業務系統資料庫模型設計和RAC部署及最佳化
四川達州商業銀行TCBS核心業務系統後端批處理儲存過程功能模組編寫及最佳化
北京高鐵訊號監控系統RAC資料庫部署及最佳化
河南宇通客車資料庫效能最佳化
中國電信電商平臺核心採購模組表模型設計及最佳化
中國郵政儲蓄系統資料庫效能最佳化及sql最佳化
北京302醫院資料庫遷移實施
河北廊坊新奧data guard部署及最佳化
山西公安廳身份證審計資料庫系統故障評估
國家電網上海災備專案4 node rac+adg
貴州移動crm及客服資料庫效能最佳化專案
貴州移動crm及客服務資料庫sql稽核專案
深圳穆迪軟體有限公司資料庫效能最佳化專案
貴州移動crm及客服資料庫效能最佳化專案
貴州移動crm及客服務資料庫sql稽核專案
深圳穆迪軟體有限公司資料庫效能最佳化專案
聯絡方式:
手機:18201115468
qq : 305076427
qq微博: wisdomone1
新浪微博:wisdomone9
qq群:275813900
itpub部落格名稱:wisdomone1 http://blog.itpub.net/9240380/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-1784542/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫物件遷移表空間資料庫物件
- 資料庫和XML __ 從資料庫中提取xml資料庫XML
- oracle的空間資料庫:Oracle資料庫
- 資料庫空間重整方案資料庫
- 清理oracle資料庫空間Oracle資料庫
- 如何從資料庫提取海波龍的組織主資料資料庫
- 資料庫和表空間資料移動資料庫
- Oracle資料庫的空間管理技巧Oracle資料庫
- 【資料庫資料恢復】SQL Server資料庫磁碟空間不足的資料恢復案例資料庫資料恢復SQLServer
- 獲取資料庫空閒空間的SQL資料庫SQL
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- Sybase資料庫空間相關資料庫
- Oracle資料庫管理 版主空間Oracle資料庫
- 檢視資料庫表空間資料庫
- oracle清除資料庫表空間Oracle資料庫
- 資料庫硬碟空間如何算資料庫硬碟
- 刪除資料庫表空間資料庫
- Oracle資料庫表空間的資料檔案大小上限。Oracle資料庫
- oracle資料庫中索引空間的重用Oracle資料庫索引
- 改變資料庫undo表空間資料庫
- 空間索引 - 各資料庫空間索引使用報告索引資料庫
- 在資料庫之間移動表空間資料庫
- . 資料庫臨時表空間的資料檔案的丟失資料庫
- 給資料庫新增儲存空間的案例資料庫
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- 資料庫開發(19)基於物件的資料庫資料庫物件
- 資料庫損壞解決:資料庫已損壞,無法分配空間資料庫
- oracle dg庫資料檔案空間不足Oracle
- Oracle資料庫閃回區空間不足Oracle資料庫
- Oracle資料庫使用空間統計案例Oracle資料庫
- 如何建立與現有資料庫相同的空資料庫資料庫
- 一款強大的資料庫提取資料工具資料庫
- Sql Server 資料庫學習-常用資料庫 物件SQLServer資料庫物件
- oracle中的資料庫、使用者、方案、表空間、表物件之間的關係Oracle資料庫物件
- 資料庫搬移表空間(從chicago server搬移到wilson server)資料庫GoServer
- 資料技術大融合,HSTAP資料庫有多少想象空間?資料庫
- 檢視資料庫佔用磁碟空間的方法資料庫
- db2修改資料庫的日誌空間DB2資料庫