Hi I am sure this question has been asked many times as I have read many posts about it, but I would want to clarify some concepts.
I messed up the default tablespace of some users and they had been putting their data in the system tablespace all the time, now I have moved all objects of them back to the user tablespace, however I am left with a system data file of some 32GB and high water mark at 29GB so I wasn't able to shrink it beyond that. Reading the extend map, several segments such as SYS.C_OBJ#_INTCOL# and SYS.AUD$ are near the highest mark, with some selected.
I know its perfectly fine to have a big datafile, however my database server is running out of space and the extra 25GB unused space will be quite precious before we look for some hardware upgrade.
I have read that reorganize is not support for the system tablespace, and that moving around the extents (or the tables) is very dangerous, and most people go with rebuilding the system tablespace, ergo exporting and reimporting the system tablespace. However I don't understand how should that be done, and I'm unsure if it is safe, like can the database engine operate with out the system tablespace(when I import)? does the core run separately with the system tablespace? do I use expdp for the task? would someone point to me how should I perform such task?