Friday, July 12, 2013

Manual DST upgrade from version 4 to 14


Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
oracle@e2dstiguatdba01
crgimgt:/b01/app/oracle/product/11.2.0.2/rdbms/admin> sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.2.0 Production on Tue Apr 24 14:39:11 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  555556864 bytes
Fixed Size                  2160112 bytes
Variable Size             494930448 bytes
Database Buffers           50331648 bytes
Redo Buffers                8134656 bytes
Database mounted.
Database opened.
SQL> SELECT version FROM v$timezone_file;

   VERSION
----------
         4

SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         4
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

SQL> alter session set "_with_subquery"=materialize;

Session altered.

SQL> exec DBMS_DST.BEGIN_PREPARE(14);

PL/SQL procedure successfully completed.

SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         4
DST_SECONDARY_TT_VERSION       14
DST_UPGRADE_STATE              PREPARE

SQL> TRUNCATE TABLE SYS.DST$TRIGGER_TABLE;

Table truncated.

SQL> TRUNCATE TABLE sys.dst$affected_tables;

Table truncated.

SQL> TRUNCATE TABLE sys.dst$error_table;

Table truncated.

SQL> set serveroutput on
        BEGIN
        DBMS_DST.FIND_AFFECTED_TABLES
        (affected_tables => 'sys.dst$affected_tables',
        log_errors => TRUE,
        log_errors_table => 'sys.dst$error_table');
        END;
        /SQL>   2    3    4    5    6    7



PL/SQL procedure successfully completed.

SQL> SQL> SQL> SELECT * FROM sys.dst$affected_tables;

no rows selected

SQL> SELECT * FROM sys.dst$error_table;

no rows selected

SQL> EXEC DBMS_DST.END_PREPARE;
A prepare window has been successfully ended.

PL/SQL procedure successfully completed.

SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         4
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
oracle@e2dstiguatdba01
crgimgt:/b01/app/oracle/product/11.2.0.2/rdbms/admin> sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Tue Apr 24 14:41:20 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup upgrade
ORACLE instance started.

Total System Global Area  555556864 bytes
Fixed Size                  2160112 bytes
Variable Size             494930448 bytes
Database Buffers           50331648 bytes
Redo Buffers                8134656 bytes
Database mounted.
Database opened.
SQL> set serveroutput on
SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         4
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

SQL> purge dba_recyclebin;

DBA Recyclebin purged.

SQL> TRUNCATE TABLE SYS.DST$TRIGGER_TABLE;

Table truncated.

SQL> TRUNCATE TABLE sys.dst$affected_tables;

Table truncated.

SQL> TRUNCATE TABLE sys.dst$error_table;

Table truncated.

SQL> alter session set "_with_subquery"=materialize;

Session altered.

SQL> EXEC DBMS_DST.BEGIN_UPGRADE(14);
An upgrade window has been successfully started.

PL/SQL procedure successfully completed.

SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         14
DST_SECONDARY_TT_VERSION       4
DST_UPGRADE_STATE              UPGRADE

SQL> SELECT OWNER, TABLE_NAME, UPGRADE_IN_PROGRESS FROM ALL_TSTZ_TABLES where UPGRADE_IN_PROGRESS='YES';

no rows selected

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  555556864 bytes
Fixed Size                  2160112 bytes
Variable Size             494930448 bytes
Database Buffers           50331648 bytes
Redo Buffers                8134656 bytes
Database mounted.
Database opened.
SQL> alter session set "_with_subquery"=materialize;

Session altered.

SQL> set serveroutput on
SQL> VAR numfail number
SQL>    BEGIN
  2     DBMS_DST.UPGRADE_DATABASE(:numfail,
  3     parallel => TRUE,
  4     log_errors => TRUE,
  5     log_errors_table => 'SYS.DST$ERROR_TABLE',
  6     log_triggers_table => 'SYS.DST$TRIGGER_TABLE',
  7     error_on_overlap_time => FALSE,
  8     error_on_nonexisting_time => FALSE);
  9     DBMS_OUTPUT.PUT_LINE('Failures:'|| :numfail);
 10     END;
 11     /
Failures:0

PL/SQL procedure successfully completed.

SQL> VAR fail number
        BEGIN
        DBMS_DST.END_UPGRADE(:fail);
        DBMS_OUTPUT.PUT_LINE('Failures:'|| :fail);
        END;
        /SQL>   2    3    4    5
An upgrade window has been successfully ended.
Failures:0

PL/SQL procedure successfully completed.

SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         14
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

SQL> SELECT * FROM v$timezone_file;

FILENAME                VERSION
-------------------- ----------
timezlrg_14.dat              14

SQL>

Manual DST upgrade version 11 to 14

SQL >  SELECT   PROPERTY_NAME, SUBSTR (property_value, 1, 30) VALUE
 FROM   DATABASE_PROPERTIES
 WHERE   PROPERTY_NAME LIKE 'DST_%'
 ORDER BY   PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ----------------------------------------------------------------------------------------------------
-----------
DST_PRIMARY_TT_VERSION         11
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

3 rows selected.
SQL > alter session set "_with_subquery"=materialize;

Session altered.
SQL > exec DBMS_DST.BEGIN_PREPARE(14);

PL/SQL procedure successfully completed.
SQL > SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
  FROM DATABASE_PROPERTIES
  WHERE PROPERTY_NAME LIKE 'DST_%'
  ORDER BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ----------------------------------------------------------------------------------------------------
-----------
DST_PRIMARY_TT_VERSION         11
DST_SECONDARY_TT_VERSION       14
DST_UPGRADE_STATE              PREPARE

3 rows selected.
SQL > TRUNCATE TABLE SYS.DST$TRIGGER_TABLE;

Table truncated.
SQL > TRUNCATE TABLE sys.dst$affected_tables;

Table truncated.

SQL> TRUNCATE TABLE sys.dst$error_table;

Table truncated.
SQL > set serveroutput onSQL > BEGIN
   DBMS_DST.FIND_AFFECTED_TABLES
    (affected_tables => 'sys.dst$affected_tables',
    log_errors => TRUE,
    log_errors_table => 'sys.dst$error_table');
    END;
    /

PL/SQL procedure successfully completed.
SQL > SELECT * FROM sys.dst$affected_tables;

no rows selected
SQL > SELECT * FROM sys.dst$error_table;

no rows selected
SQL > EXEC DBMS_DST.END_PREPARE;
A prepare window has been successfully ended.

PL/SQL procedure successfully completed.
SQL > SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
   FROM DATABASE_PROPERTIES
   WHERE PROPERTY_NAME LIKE 'DST_%'
    ORDER BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ----------------------------------------------------------------------------------------------------
-----------
DST_PRIMARY_TT_VERSION         11
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

3 rows selected.
SQL > shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup upgrade;
ORACLE instance started.

Total System Global Area 3423965184 bytes
Fixed Size                  2260000 bytes
Variable Size            2583692256 bytes
Database Buffers          822083584 bytes
Redo Buffers               15929344 bytes
Database mounted.
Database opened.
SQL> set serveroutput on
SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
    FROM DATABASE_PROPERTIES
    WHERE PROPERTY_NAME LIKE 'DST_%'
    ORDER BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ----------------------------------------------------------------------------------------------------
-----------
DST_PRIMARY_TT_VERSION         11
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

3 rows selected.
SQL > purge dba_recyclebin;

DBA Recyclebin purged.
SQL > TRUNCATE TABLE SYS.DST$TRIGGER_TABLE;

Table truncated.
SQL > TRUNCATE TABLE sys.dst$affected_tables;

Table truncated.
SQL > TRUNCATE TABLE sys.dst$error_table;

Table truncated.
SQL > EXEC DBMS_DST.BEGIN_UPGRADE(14);
An upgrade window has been successfully started.

PL/SQL procedure successfully completed.
SQL > SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
    FROM DATABASE_PROPERTIES
    WHERE PROPERTY_NAME LIKE 'DST_%'
     ORDER BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ----------------------------------------------------------------------------------------------------
-----------
DST_PRIMARY_TT_VERSION         14
DST_SECONDARY_TT_VERSION       11
DST_UPGRADE_STATE              UPGRADE

3 rows selected.
SQL > SELECT OWNER, TABLE_NAME, UPGRADE_IN_PROGRESS FROM ALL_TSTZ_TABLES where UPGRADE_IN_PROGRESS='YES';

OWNER                          TABLE_NAME                     UPG
------------------------------ ------------------------------ ---
SYSMAN                         MGMT_PROV_DEFAULT_IMAGE        YES
SYSMAN                         MGMT_PROV_RPM_REP              YES
SYSMAN                         MGMT_PROV_CLUSTER_NODES        YES
SYSMAN                         MGMT_PROV_ASSIGNMENT           YES
SYSMAN                         MGMT_PROV_OPERATION            YES
SYSMAN                         MGMT_PROV_STAGING_DIRS         YES
SYSMAN                         AQ$_MGMT_NOTIFY_QTABLE_S       YES
SYSMAN                         AQ$_MGMT_LOADER_QTABLE_L       YES
SYSMAN                         AQ$_MGMT_LOADER_QTABLE_S       YES
SYSMAN                         AQ$_MGMT_NOTIFY_QTABLE_L       YES
SYSMAN                         MGMT_PROV_BOOTSERVER           YES
SYSMAN                         MGMT_PROV_SUITE_INST_MEMBERS   YES
SYSMAN                         MGMT_PROV_IP_RANGE             YES
SYSMAN                         MGMT_PROV_NET_CONFIG           YES

14 rows selected.
SQL > shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL > startup
ORACLE instance started.

Total System Global Area 3423965184 bytes
Fixed Size                  2260000 bytes
Variable Size            2583692256 bytes
Database Buffers          822083584 bytes
Redo Buffers               15929344 bytes
Database mounted.
Database opened.
SQL > alter session set "_with_subquery"=materialize;

Session altered.
SQL > set serveroutput onSQL > VAR numfail numberSQL > log_errors_table => 'SYS.DST$ERROR_TABLE',
SP2-0734: unknown command beginning "log_errors..." - rest of line ignored.
SQL > BEGIN
     DBMS_DST.UPGRADE_DATABASE(:numfail,
    parallel => TRUE,
    log_errors => TRUE,
    log_errors_table => 'SYS.DST$ERROR_TABLE',
    log_triggers_table => 'SYS.DST$TRIGGER_TABLE',
    error_on_overlap_time => FALSE,
    error_on_nonexisting_time => FALSE);
    DBMS_OUTPUT.PUT_LINE('Failures:'|| :numfail);
   END;
   /
Table list: "SYSMAN"."MGMT_PROV_SUITE_INST_MEMBERS"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_STAGING_DIRS"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_RPM_REP"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_OPERATION"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_NET_CONFIG"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_IP_RANGE"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_DEFAULT_IMAGE"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_CLUSTER_NODES"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_BOOTSERVER"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_ASSIGNMENT"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_NOTIFY_QTABLE_S"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_NOTIFY_QTABLE_L"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_LOADER_QTABLE_S"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_LOADER_QTABLE_L"
Number of failures: 0
Failures:0

PL/SQL procedure successfully completed.
SQL > VAR fail numberSQL > BEGIN
    DBMS_DST.END_UPGRADE(:fail);
    DBMS_OUTPUT.PUT_LINE('Failures:'|| :fail);
    END;
      /
An upgrade window has been successfully ended.
Failures:0

PL/SQL procedure successfully completed.
SQL > SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
    FROM DATABASE_PROPERTIES
    WHERE PROPERTY_NAME LIKE 'DST_%'
     ORDER BY PROPERTY_NAME;

PROPERTY_NAME                  VALUE
------------------------------ ----------------------------------------------------------------------------------------------------
-----------
DST_PRIMARY_TT_VERSION         14
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

3 rows selected.
SQL > SELECT * FROM v$timezone_file;

FILENAME                VERSION
-------------------- ----------
timezlrg_14.dat      ##########

1 row selected.
SQL > set numwidth 20SQL > /

FILENAME                VERSION
-------------------- ----------
timezlrg_14.dat      ##########

1 row selected.
SQL > set linesize 30SQL > /

FILENAME
--------------------
   VERSION
----------
timezlrg_14.dat
##########


1 row selected.

Monday, July 8, 2013

ORA-12526: TNS:listener: all appropriate instances are in restricted mode




The database instance is in restricted mode:

It does not allow connections through listener

==> sqlplus

SQL*Plus: Release 11.2.0.3.0 Production on Mon Jul 8 04:56:12 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Enter user-name: sys/xxxxxx@DBNAME as sysdba
ERROR:
ORA-12526: TNS:listener: all appropriate instances are in restricted mode

To connect to database in restricted mode with listener , we need to make following change in our TNS entry.

    (CONNECT_DATA =
      (UR = A)
      (SERVER = DEDICATED)
      (SERVICE_NAME = DBNAME)
    )



After  the change

==> sqlplus

SQL*Plus: Release 11.2.0.3.0 Production on Mon Jul 8 04:57:35 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Enter user-name: sys/xxxxxxx@DBNAME as sysdba

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

connected without any issues :)