Saturday 23 February 2013

How To Change A Dictionary Managed Tablespace To A Locally Managed Tablespace

High Level Steps for Migration of  Dictionary managed tablespaces to locally managed tablespaces:

1) Migrate all other tablespaces to Local first
EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('TABLESPACE_NAME1');
EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('TABLESPACE_NAME2');

2) Check system is not the default temporary tablespace

3) If TEMP is dictionary managed drop it and recreate TEMP tablespace

3) Put database in restricted mode

4) Put SYSAUX tablespace in offline mode

5) Put all other tablespaces in read only mode (except SYSTEM, TEMP and UNDO)

6) Migrate system to local
    EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('SYSTEM');

7) Disable restricted session

8) Revert SYSAUX to online

9) Revert all tablespaces to read write

How To Change A Dictionary Managed Tablespace To A Locally Managed Tablespace? [ID 735978.1]

Sunday 17 February 2013

Internal Concurrent Manager status could not be determined

There can a scenario where while running

adcmctl status apps/password

The output is:

$ adcmctl.sh status apps/password

You are running adcmctl.sh version 115.28

Internal Concurrent Manager status could not be determined.

adcmctl.sh: exiting with status 0

Solution:

1. We can run cmclean.sql script.
As suggested by (Oracle Note: 134007.1 - CMCLEAN.SQL - Non Destructive Script to Clean Concurrent Manager Tables). Shutdown the CM, run the script (make sure you issue commit once the script is  done), start the CM and check for the issue.

2. If after running the the cmclean.sql the issue still persists then take down the application tier service and run autoconfig. This will relink the binaries of the adcmctl.sh. After autoconfig is successful then take up  the application services and and check the issue.

adcmctl.Sh Script Is Unable To Determine The ICM Status [ID 1320217.1]