You are on page 1of 4

12/11/2014 wanttoknowabouttablefragementaionscritpsinoracle9iandhowtoremovethatorreclaimspace??????ITSVERYURGENT.........................

|LinkedIn

Profile

Connections

Jobs

Interests

Discussions

Promotions

Jobs

Members

15,482members

Search

wanttoknowabouttablefragementaionscritpsinoracle9iand
howtoremovethatorreclaimspace??????ITSVERY
URGENT.........................
Followbharat

Advanced

BusinessServices

OracleCoreandAppsDBA(Database
Administrator)
Feedback

Home

Searchforpeople,jobs,companies,andmore...

bharatbisht
ORACLEDBAatoxienttechnologies
TopContributor

25

TryPremiumforfree
Member

TopContributorsinthisGroup

DarshanaK.
AssociateOracleApplicationDBAatDMSSoftware
Technologies(Pvt)Ltd
FollowDarshana
Seeallmembers

Yourgroupcontributionlevel

Like(2)Comment(9)FollowReplyPrivately 6daysago

Startbycommentinginadiscussion.Group
participantsget4xthenumberofprofileviews.

Comments
PintoDas,AejazSyedlikethis
9comments Jumptomostrecentcomment

GettingStarted
nitinanjankar
OracleDBAatKPITTechnologiesLtd.
TopContributor
nitin

LatestActivity

HiBharat,
Youmayusebelowscriptstofindoutfragmentation.Fragmentationcanbefoundatschema,
tableorindexlevel,dependonourrequirement.
1.scripttolisttop20fragmentedtables:
SELECT*FROM
(SELECT
SUBSTR(TABLE_NAME,1,21)TABLE_NAME,
NUM_ROWS,
AVG_ROW_LENROWLEN,
BLOCKS,
ROUND((AVG_ROW_LEN+1)*NUM_ROWS/1000000,0)NET_MB,
ROUND(BLOCKS*(800023*INI_TRANS)*
Suggesteddiscussion
(1PCT_FREE/100)/1000000,0)GROSS_MB,
OracleDatabase11g
ROUND((BLOCKS*(800023*INI_TRANS)*(1PCT_FREE/100)
AdminutesistratorCertifi...
(AVG_ROW_LEN+1)*NUM_ROWS)/1000000)WASTED_MB
FROMDBA_TABLES
WHERE
NUM_ROWSISNOTNULLAND
OWNERLIKE%OWNER%AND
PARTITIONED=NOAND
(IOT_TYPE!=IOTORIOT_TYPEISNULL)
ORDERBY7DESC)
WHEREROWNUM<=20

nagrajbadulajoinedagroup:Oracle
CoreandApps
DBA(Database
Administrator)
Oracle8Oracle
8iOracle9
Oracle9iOracle
10gOracle11gOracleApplication
Server10gOracleEBusinessSuite11
OracleEBusinessSuite12
8mago

Siddhartha
Tripathy,navneet
sharma,and3others
joinedagroup:

1.selectowner,table_name,round((blocks*8),2)||'kb'"Fragmentedsize",
round((num_rows*avg_row_len/1024),2)||'kb'"Actualsize",round((blocks*8),2)
round((num_rows*avg_row_len/1024),2)||'kb',
((round((blocks*8),2)round((num_rows*avg_row_len/1024),2))/round((blocks*8),2))*10010
"reclaimablespace%"fromdba_tableswheretable_name=table_NameANDOWNERLIKE
'schema_name'

OracleCoreand
AppsDBA(Database
Administrator)
Oracle8Oracle8i
Oracle9Oracle9i
Oracle10gOracle
11gOracle
ApplicationServer
10gOracleE
BusinessSuite11
OracleEBusiness
Suite12
8hago

AjaySharmastartedadiscussionin
stepstoremovethem:

Ifyoufindreclaimablespace%valuemorethan20%thenwecanexpectfragmentationinthe

OracleCoreandAppsDBA(Database
Administrator).HiHiAll,Iamlooking
forajobchangeinOracleApps(
ERP/CRM).Ihavetotal17Yrs.of
Experience,with14Yrsrelevant

https://www.linkedin.com/groupItem?gid=51442&type=member&fromEmail=fromEmail&view=&midToken=AQHjXMWMFoXFSQ&ut=0a2NArMtNmHSw1&i

1/4

12/11/2014 wanttoknowabouttablefragementaionscritpsinoracle9iandhowtoremovethatorreclaimspace??????ITSVERYURGENT.........................|LinkedIn
experienceinGL,AP,AR.FA,CM,Iexp.
PO,Inv,OMandINDIAlocalization
along... more
12hago

table.Toremovethisusethefollowingoptions:
1.Exportandimportthetable(difficulttoimplementinproductionenvironment)
1.Movetableintodifferentorsametablespace(Dependsuponthefreespaceavailableinthe
tablespace)
OR
Hereforthe2ndoption:

Seeallactivity

Subgroups
OracleAppzDBAJobs
1,205members

1.Collectstatusofalltheindexesonthetable.
selectindex_name,statusfromuser_indexeswheretable_namelike'table_name'

OracleCoreDBAJobs
5,116members

statusmaybevalidorunusable.

Seemore

1.Commandtomoveintonewtablespace:
altertable<tb_name>enablerowmovementRunthiscommandbeforemovingtable
altertabletable_namemovetablespacenew_tablespace_name

About

Feedback

Privacy&Terms

LinkedInCorp.2014

1.Commandtomoveintooldtablespace
altertabletable_namemovetablespaceold_tablespace_name
*ALTERTABLEempSHRINKSPACEonlyfortheemptable
*ALTERTABLEempSHRINKSPACECASCADEforalldependentobjectsaswell
*ALTERTABLEempSHRINKSPACECOMPACTonlymakesthefirststep(movestherows)
*ANALYZEINDEXindex_nameCOMPUTESTATISTICS
*ANALYZEINDEXindex_nameVALIDATESTRUCTURE
*ANALYZEINDEXindex_nameREBUILDONLINE

Crosscheckspaceisreclaimedintablespace
SELECT/*+RULE*/df.tablespace_name"Tablespace",
df.bytes/(1024*1024)"Size(MB)",
SUM(fs.bytes)/(1024*1024)"Free(MB)",
Nvl(Round(SUM(fs.bytes)*100/df.bytes),1)"%Free",
Round((df.bytesSUM(fs.bytes))*100/df.bytes)"%Used"
FROMdba_free_spacefs,
(SELECTtablespace_name,SUM(bytes)bytes
FROMdba_data_files
GROUPBYtablespace_name)df
WHEREfs.tablespace_name(+)=df.tablespace_name
GROUPBYdf.tablespace_name,df.bytes
UNIONALL
SELECT/*+RULE*/df.tablespace_nametspace,
fs.bytes/(1024*1024),
SUM(df.bytes_free)/(1024*1024),
Nvl(Round((SUM(fs.bytes)df.bytes_used)*100/fs.bytes),1),
Round((SUM(fs.bytes)df.bytes_free)*100/fs.bytes)
FROMdba_temp_filesfs,
(SELECTtablespace_name,bytes_free,bytes_used
FROMv$temp_space_header
GROUPBYtablespace_name,bytes_free,bytes_used)df
WHEREfs.tablespace_name(+)=df.tablespace_name
GROUPBYdf.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used
ORDERBY4DESC
AbovequerywillshowincreaseinvalueofFreeSizeMBfieldoftablespcewhichowns
fragmentedtable.
*Gathertablestates:
execdbms_stats.gather_table_stats('schema_name','table_name')
Youmayalsoreferthebelowlink

https://www.linkedin.com/groupItem?gid=51442&type=member&fromEmail=fromEmail&view=&midToken=AQHjXMWMFoXFSQ&ut=0a2NArMtNmHSw1&i

2/4

12/11/2014 wanttoknowabouttablefragementaionscritpsinoracle9iandhowtoremovethatorreclaimspace??????ITSVERYURGENT.........................|LinkedIn
http://www.dbasoracle.com/2011/04/identifyandremovetablefragmentation.html
Like(2)Replyprivately Flagasinappropriate4daysago
FlavioAndreyG.,PintoDaslikethis

AndyCurry
ApplicationDBAatMonsanto
AskTom:
Andy
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1295801859138
LikeReplyprivately Flagasinappropriate4daysago
bharatbisht
ORACLEDBAatoxienttechnologies
TopContributor
bharat

Thanksnitin
LikeReplyprivately Flagasinappropriate3daysago
bharatbisht
ORACLEDBAatoxienttechnologies
TopContributor

bharat

HiNitin,
Doineeddowntimeforthesamei.etabledefragmentaionactivitymydbsize1TB???
LikeReplyprivately Flagasinappropriate3daysago
nitinanjankar
OracleDBAatKPITTechnologiesLtd.
TopContributor

nitin

Therearetwowaysyoucanperformdefragmentation.
1.Export/Import
2.Altertabletable_nameenablerowmovement
Altertabletable_namemove
Alterindexindex_namerebuildonline
Andlastgatherstatsfortables.
For1stoptionifthetablesarehighlysensitiveandcriticallyusedbyapplicationyouneed
downtime.
For2ndoptionyoudon'trequireddowntimebuttrytoperformitinnonbusinesshours.
Idohavecreatedsomedynamicscriptsthatmayhelpyoutogenerateallthedefragmentation
scripts.
Ifyouwantitdoreplyme,willbehappytohelpyouwiththat.
Onemorething,nomatterhowmuchsizeofdByouhave.Butyoujustneedtodefragmentation
forthosetablewhohasfragmentation.
Like(1)Replyprivately Flagasinappropriate2daysago
PintoDaslikesthis

bharatbisht
ORACLEDBAatoxienttechnologies
TopContributor
bharat

HiNitin,
Canhavethedynamicscriptssoicananayzebetterframentationontables,plzsendthethat
scriptsalso.I,llverythankfulltoyou..................
LikeReplyprivately Flagasinappropriate1dayago
AejazSyed
SeniorAdavancedcustomersupportEngineeratOracle

Aejaz

Whatisthedifferenceifthetableismovedintothesametablespaceinsteadofmovingtoa
differentoneandbacktotheoriginal..
LikeReplyprivately Flagasinappropriate1dayago

https://www.linkedin.com/groupItem?gid=51442&type=member&fromEmail=fromEmail&view=&midToken=AQHjXMWMFoXFSQ&ut=0a2NArMtNmHSw1&i

3/4

12/11/2014 wanttoknowabouttablefragementaionscritpsinoracle9iandhowtoremovethatorreclaimspace??????ITSVERYURGENT.........................|LinkedIn
FlavioAndreyGabriel
DBAOracle/Consultor/Instrutor
Flavio
Andrey

HiNitin,
Ithinkthislinkmaybeofinteresttoyoutoo:
http://oraclebase.com/dba/script.php?category=monitoring&file=table_extents.sql
the"extents"columnyoucanseetheamountofallocationextentsthatwereallocatedforthe
table.
LikeReplyprivately Flagasinappropriate1dayago
nitinanjankar
OracleDBAatKPITTechnologiesLtd.
TopContributor

nitin

1)IssuethecommandbelowtoFindfragmentedtables.
++++++++++++++++++++++++++++++
colFRAGMENTED_SPACEfora20
colTOTAL_SIZEfora20
colACTUAL_SIZEfora20
columnOWNERfora10
columntable_namefora20

selectowner,table_name,num_rows,round(((blocks*8/1024)),2)||'MB'"TOTAL_SIZE",
round((num_rows*avg_row_len/1024/1024),2)||'Mb'"ACTUAL_SIZE",
round(((blocks*8/1024)(num_rows*avg_row_len/1024/1024)),2)"FRAGMENTED_SPACE(inMB)",
LAST_ANALYZED
fromdba_tables
wheretable_namein(selecttable_namefromdba_tableswhereownerin
(selectdistinct(owner)fromdba_tableswhereownernotin('SYS','SYSTEM')))and
round(((blocks*8/1024)(num_rows*avg_row_len/1024/1024)),2)>100orderby6desc
2)Movetableswhichhavingfragmentation
Belowscriptwillgeneratedyanamicscriptsforyou.
Needtospoolitandexecuteitinbackend.
select'altertable'||owner||'.'||table_name||'move'fromdba_tableswhereowner='Schema_Name'
orderbytable_name
3)RebuildindexesonSchema/Table
Belowscriptwillgeneratedyanamicscriptsforindexrebuild.
Needtospoolitandexecuteitinbackend.
select'alterindex'||owner||'.'||index_name||'rebuildonline'fromdba_indexeswhere
owner='Schema_Name'orderbytable_name
execdbms_stats.gather_schema_stats(ownname=>'Schema_Name',method_opt=>'FORALL
COLUMNSSIZE1',cascade=>TRUE,estimate_percent=>100,degree=>8)
or
9iDatabases
select'analizetable'||owner||'.'||talbe_name||'computestatistics'fromdba_tableswhere
owner='Schema_Name'
LikeReplyprivately Flagasinappropriate20hoursago

Addacomment...
Sendmeanemailforeachnewcomment.

HelpCenter

About

Press

LinkedInCorporation2014

Blog

Careers

UserAgreement

Advertising
PrivacyPolicy

AddComment

TalentSolutions

SmallBusiness

CommunityGuidelines

Mobile

CookiePolicy

Developers
CopyrightPolicy

Language

UpgradeYourAccount

SendFeedback

https://www.linkedin.com/groupItem?gid=51442&type=member&fromEmail=fromEmail&view=&midToken=AQHjXMWMFoXFSQ&ut=0a2NArMtNmHSw1&i

4/4

You might also like