|
|
Oracle Tablespace Fragmentation
alter tablespace USERS coalesce;
However, what do you do if you are in a situation where you have many databases that were set up with dictionary-managed tablespaces? You have two options, at least if you are running Oracle 8i (the version that gave birth to locally-managed tablespaces). First, you can create new locally-managed tablespaces in your database and then perform one last, full tablespace reorganization of all the database objects into the new tablespaces. Needless to say, this can be a difficult task if you have large databases and no third-party reorganization tool. However, it will be worth the effort as you will likely never have to reorganize your tablespaces again, and your objects should never again encounter a maximum extent limit. If you are using Oracle 8.1.6 or higher, you can convert any current dictionary-managed tablespaces to locally-managed tablespaces. Buried in the Oracle documentation is a procedure for converting a tablespace's extent management from dictionary to local or vice-versa. The additions to the sys.dbms_space_admin package make it quite simple to convert a tablespace to locally-managed (or to convert a locally-managed tablespace to dictionary- managed if desired). For example, if you want to convert a dictionary-managed tablespace, called USERS to locally-managed in Oracle; all you would have to do is issue this single command: books.com/book_2003_1_perf.htm
|
|
|