Upgrade Oracle Express Edition (XE) 11g para Standard é possível?

Esta semana estava conversando com alguns amigos DBAs e me surgiu a dúvida, é possível fazer upgrade do Oracle database XE 11g para Standard Edition 11g? Ninguém soube responder se funcionaria na prática, esta pergunta ficou martelando na minha cabeça, então montei um laboratório para realizar os testes e acabar com esta dúvida.

Fui pesquisar no MOS, encontrei a nota Doc ID 1924556.1, esta nota afirma que é possível realizar o upgrade da XE para EE usando o DBUA, mas não encontrei nada relacionado ao upgrade para Standard Edition, sabemos que possivelmente algumas features que existem na XE podem não existir na Standard Edition, e por essas limitações apenas o upgrade para EE é recomendado e homologado e suportado pela Oracle.

Obs: Não realizem esse upgrade em produção, lembrem que não é homologado ou suportado pela Oracle o upgrade de XE para Standard Edition.

Entendo que as limitações de features possam impossibilitar a compatibilidade e o upgrade do Oracle XE para Santandard Edition, mas não custa nada fazer o teste em um laboratório controlado deste upgrade. Abaixo segue o processo e validação que fiz antes e depois do upgrade da XE para Santandard Edition:

1- Utilizei um Oracle Database XE 11.2.0.2.0, abaixo seguem as validações do dicionário atual antes do upgrade para 11.2.0.4.0 Standard Edtion.

DATABASE_HOST             DB_NAME          DB_UNIQUE_NAME             DATABASE_ROLE   Version            OPEN_MODE           LOG_MODE     STARTUP_TIME
------------------------- ---------------- ------------------------- ---------------- ----------------- -------------------- ------------ --------------------
lab11g                    XE               XE                        PRIMARY          11.2.0.2.0        READ WRITE           NOARCHIVELOG 02/09/2022 18:59:55
-- DICIONARIO 
SET PAGESIZE 60
SET LINESIZE 300
SET VERIFY OFF
COL comp_name FOR a44 HEA 'Component' 
COL version FOR a17 HEA 'Version' 
COL status FOR a17 HEA 'Status' 
SELECT comp_name, version, status FROM dba_registry;
Component                                    Version           Status
-------------------------------------------- ----------------- -----------------
Oracle Application Express                   4.0.2.00.09       VALID
Oracle XML Database                          11.2.0.2.0        VALID
Oracle Text                                  11.2.0.2.0        VALID
Oracle Database Catalog Views                11.2.0.2.0        VALID
Oracle Database Packages and Types           11.2.0.2.0        VALID
SQL> spool hcheck.log
SQL> @hcheck.sql
HCheck Version 07MAY18 on 02-SEP-2022 19:12:01
----------------------------------------------
Catalog Version 11.2.0.2.0 (1102000200)
db_name: XE
                                   Catalog       Fixed
Procedure Name                     Version    Vs Release    Timestamp
Result
------------------------------ ... ---------- -- ---------- --------------
------
.- LobNotInObj                 ... 1102000200 <=  *All Rel* 09/02 19:12:01 PASS
.- MissingOIDOnObjCol          ... 1102000200 <=  *All Rel* 09/02 19:12:01 PASS
.- SourceNotInObj              ... 1102000200 <=  *All Rel* 09/02 19:12:01 PASS
.- OversizedFiles              ... 1102000200 <=  *All Rel* 09/02 19:12:01 PASS
.- PoorDefaultStorage          ... 1102000200 <=  *All Rel* 09/02 19:12:01 PASS
.- PoorStorage                 ... 1102000200 <=  *All Rel* 09/02 19:12:01 PASS
.- TabPartCountMismatch        ... 1102000200 <=  *All Rel* 09/02 19:12:01 PASS
.- OrphanedTabComPart          ... 1102000200 <=  *All Rel* 09/02 19:12:01 PASS
.- MissingSum$                 ... 1102000200 <=  *All Rel* 09/02 19:12:01 PASS
.- MissingDir$                 ... 1102000200 <=  *All Rel* 09/02 19:12:01 PASS
.- DuplicateDataobj            ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- ObjSynMissing               ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- ObjSeqMissing               ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- OrphanedUndo                ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- OrphanedIndex               ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- OrphanedIndexPartition      ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- OrphanedIndexSubPartition   ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- OrphanedTable               ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- OrphanedTablePartition      ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- OrphanedTableSubPartition   ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- MissingPartCol              ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- OrphanedSeg$                ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- OrphanedIndPartObj#         ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- DuplicateBlockUse           ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- FetUet                      ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- Uet0Check                   ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- SeglessUET                  ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- BadInd$                     ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- BadTab$                     ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- BadIcolDepCnt               ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- ObjIndDobj                  ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- TrgAfterUpgrade             ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- ObjType0                    ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- BadOwner                    ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- StmtAuditOnCommit           ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- BadPublicObjects            ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- BadSegFreelist              ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- BadDepends                  ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- CheckDual                   ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- ObjectNames                 ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- BadCboHiLo                  ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- ChkIotTs                    ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- NoSegmentIndex              ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- BadNextObject               ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- DroppedROTS                 ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- FilBlkZero                  ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- DbmsSchemaCopy              ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- OrphanedObjError            ... 1102000200 >  1102000000 09/02 19:12:02 PASS
.- ObjNotLob                   ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- MaxControlfSeq              ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- SegNotInDeferredStg         ... 1102000200 >  1102000000 09/02 19:12:02 PASS
.- SystemNotRfile1             ... 1102000200 >   902000000 09/02 19:12:02 PASS
.- DictOwnNonDefaultSYSTEM     ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- OrphanTrigger               ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
.- ObjNotTrigger               ... 1102000200 <=  *All Rel* 09/02 19:12:02 PASS
---------------------------------------
02-SEP-2022 19:12:02  Elapsed: 1 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)
PL/SQL procedure successfully completed.
Statement processed.
Complete output is in trace file:
/u01/app/oracle/diag/rdbms/xe/XE/trace/XE_ora_3656_HCHECK.trc

2 – Realizei a instalação do binário do Oracle database Standard Edition 11.2.0.4.0, após a instalação realizei o upgrade usando o dbua.

3 – Validação do dicionário após o upgrade já na versão Oracle Standard Edition 11.2.0.4.0.

[oracle@lab11g database]$ dbua
Database upgrade has been completed successfully, and the database is ready to use.
The following document describes important behavioral changes from previous database releases:
/u01/app/oracle/product/11.2.0/db_1/assistants/dbua/doc/DefaultBehaviorChanges.html
-- DICIONARIO
DATABASE_HOST             DB_NAME          DB_UNIQUE_NAME             DATABASE_ROLE   VERSION            OPEN_MODE           LOG_MODE     STARTUP_TIME
------------------------- ---------------- ------------------------- ---------------- ----------------- -------------------- ------------ --------------------
lab11g                    XE               XE                        PRIMARY          11.2.0.4.0        READ WRITE           NOARCHIVELOG 02/09/2022 19:36:08
Component                                    Version           Status
-------------------------------------------- ----------------- -----------------
Oracle Application Express                   4.0.2.00.09       VALID
Oracle XML Database                          11.2.0.4.0        VALID
Oracle Text                                  11.2.0.4.0        VALID
Oracle Database Catalog Views                11.2.0.4.0        VALID
Oracle Database Packages and Types           11.2.0.4.0        VALID
Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
SQL> spool hcheck.log
SQL> @hcheck.sql
HCheck Version 07MAY18 on 02-SEP-2022 19:41:27
----------------------------------------------
Catalog Version 11.2.0.4.0 (1102000400)
db_name: XE
                                   Catalog       Fixed
Procedure Name                     Version    Vs Release    Timestamp
Result
------------------------------ ... ---------- -- ---------- --------------
------
.- LobNotInObj                 ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- MissingOIDOnObjCol          ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- SourceNotInObj              ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OversizedFiles              ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- PoorDefaultStorage          ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- PoorStorage                 ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- TabPartCountMismatch        ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanedTabComPart          ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- MissingSum$                 ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- MissingDir$                 ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- DuplicateDataobj            ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- ObjSynMissing               ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- ObjSeqMissing               ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanedUndo                ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanedIndex               ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanedIndexPartition      ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanedIndexSubPartition   ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanedTable               ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanedTablePartition      ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanedTableSubPartition   ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- MissingPartCol              ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanedSeg$                ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanedIndPartObj#         ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- DuplicateBlockUse           ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- FetUet                      ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- Uet0Check                   ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- SeglessUET                  ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- BadInd$                     ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- BadTab$                     ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- BadIcolDepCnt               ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- ObjIndDobj                  ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- TrgAfterUpgrade             ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- ObjType0                    ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- BadOwner                    ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- StmtAuditOnCommit           ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- BadPublicObjects            ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- BadSegFreelist              ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- BadDepends                  ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- CheckDual                   ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- ObjectNames                 ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- BadCboHiLo                  ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- ChkIotTs                    ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- NoSegmentIndex              ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- BadNextObject               ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- DroppedROTS                 ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- FilBlkZero                  ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- DbmsSchemaCopy              ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanedObjError            ... 1102000400 >  1102000000 09/02 19:41:27 PASS
.- ObjNotLob                   ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- MaxControlfSeq              ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- SegNotInDeferredStg         ... 1102000400 >  1102000000 09/02 19:41:27 PASS
.- SystemNotRfile1             ... 1102000400 >   902000000 09/02 19:41:27 PASS
.- DictOwnNonDefaultSYSTEM     ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- OrphanTrigger               ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
.- ObjNotTrigger               ... 1102000400 <=  *All Rel* 09/02 19:41:27 PASS
---------------------------------------
02-SEP-2022 19:41:27  Elapsed: 0 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)
PL/SQL procedure successfully completed.
Statement processed.
Complete output is in trace file:
/u01/app/oracle/diag/rdbms/xe/XE/trace/XE_ora_26305_HCHECK.trc
SQL> spool off
SQL>

Categorias Oracle, Oracle Database

Deixe um comentário

search previous next tag category expand menu location phone mail time cart zoom edit close