Dia a Dia como DBA - Upgrade oracle 11g to 12c
Pre-requisitos:
int
El acto de actualizar una base de datos Oracle implica modificar el diccionario de datos para que sea compatible con
una versión más nueva del software de base de datos Oracle.
******* Creo los directorios ****************
mkdir -p /u01/app/grid/product/12.2.0/grid
mkdir -p /u01/app/oracle/product/12.2.0/db_1
export ORACLE_HOME=/u01/app/oracle/product/12.1.0.1/db_1
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/grid
*** pre-requisitos ***
cd /u01/app/product/12.2.0/grid/cv/rpm
rpm -Uhv cvuqdisk-1.0.10-1.rpm
------------------- configurar el ntpd *********************************************************************
revisar que solo este corriendo el ntp y no el chorny ya que si los dos estan corriendo no se va a configurar de manera correcta
y mandara error
rm -rf /etc/chrony.conf
service chronyd stop
vi /etc/ntp.conf
cp /etc/sysconfig/ntpd /etc/sysconfig/ntpd.jm.20171124
vi /etc/sysconfig/ntpd
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
server 192.168.5.1
service ntpd start
chkconfig ntpd on
ntpstat -- verificar ntp
ntpq -p -- verificar ntp
ntpdate -d --sincronizar (tarda en hacer la sincronizacion, lanza la sincronizacion varias veces)
service ntpd restart
server 192.168.5.1 iburst
logfile /var/log/ntp.log
******** Baja la BD y el ASM ****
*** correr el gridSetup****
dale a la opcion de upgrade
si te sale este error:
ver nota: Doc ID 2280843.1
This test checks that the Oracle patch "21255373"
Bug 26256841 : MANDATORY PATCH 21255373 INSTALLED IN GI HOME STILL RUNINSTALLER FAILING
pasalo con : ./gridSetup.sh -skipPrereqs.
software de base de datos
cd /u01/app/oracle/product/12.2.0/db_1/database
unzip linuxx64_12201_database.zip
./runInstaller
instalar software solamente
subir la base de datos
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
dbua
**** problema encontrado
[oracle@laboratorio ~]$ srvctl start database -d orcl
PRCR-1079 : Failed to start resource ora.orcl.db
CRS-5017: The resource action "ora.DATA.dg start" encountered the following error:
ORA-15032: not all alterations performed
ORA-59303: The attribute compatible.asm (10.1.0.0.0) of the diskgroup being mounted should be 11.2.0.2.0 or higher.
ORA-15221: ASM operation requires compatible.asm of 11.1.0.0.0 or higher
. For details refer to "(:CLSN00107:)" in "/u01/app/oracle/diag/crs/laboratorio/crs/trace/ohasd_oraagent_grid.trc".
CRS-2674: Start of 'ora.DATA.dg' on 'laboratorio' failed
CRS-5017: The resource action "ora.FRA.dg start" encountered the following error:
ORA-15032: not all alterations performed
ORA-59303: The attribute compatible.asm (11.2.0.0.0) of the diskgroup being mounted should be 11.2.0.2.0 or higher.
. For details refer to "(:CLSN00107:)" in "/u01/app/oracle/diag/crs/laboratorio/crs/trace/ohasd_oraagent_grid.trc".
CRS-2674: Start of 'ora.FRA.dg' on 'laboratorio' failed
CRS-5017: The resource action "ora.REDO.dg start" encountered the following error:
ORA-15032: not all alterations performed
ORA-59303: The attribute compatible.asm (11.2.0.0.0) of the diskgroup being mounted should be 11.2.0.2.0 or higher.
. For details refer to "(:CLSN00107:)" in "/u01/app/oracle/diag/crs/laboratorio/crs/trace/ohasd_oraagent_grid.trc".
version de grid instalado: 12.2.0.1.0
alter diskgroup DATA set attribute 'compatible.asm'='11.2.0.2.0';
***** verifico ****
select group_number, name,compatibility,STATE,database_compatibility from v$asm_diskgroup;
GROUP_NUMBER NAME COMPATIBILITY DATABASE_COMPATIBILITY
0 REDO 0.0.0.0.0 0.0.0.0.0
0 FRA 0.0.0.0.0 0.0.0.0.0
0 DATA 0.0.0.0.0 0.0.0.0.0
causa:
Diskgroup not have compatible.asm set
*** solucion:
establecer la compatibilidad
alter diskgroup REDO mount restricted;
alter diskgroup REDO set attribute 'compatible.asm'='12.2.0.1.0'; <<<<<<<< change compatible based on the environment requirement
alter diskgroup DATA dismount;
alter diskgroup DATA mount;
***** problema 2 encontrado ***
ORA-00845: MEMORY_TARGET not supported on this system
MEMORY_TARGET especifica la memoria usable de todo el sistema de Oracle. La base de datos sintoniza la memoria al valor MEMORY_TARGET,
reduciendo o ampliando el SGA y el PGA según sea necesario.
solucion:
entrar en /etc/fstab y modificar el archivo y colocar el tamaño como se muestra a continuacion:
** tmpfs /dev/shm tmpfs size=3g 0 0 **
ejecucion del dbua 12c
1er pre-requisitos
Cause : The OLAP Catalog component, AMD, exists in the database.
Action : Remove OLAP Catalog by running the 11.2.0.4.0 SQL script $ORACLE_HOME/olap/admin/catnoamd.sql script.
Oracle OLAP 11g incorpora características de alto desempeño para el depósito de datos en Oracle Database 11g .
La opción de Oracle Database 11g Enterprise Edition, Oracle OLAP 11g, es un motor con características completas para el procesamiento
analítico online. Debido a que Oracle OLAP 11g está incluido en Oracle Database, se beneficia con las características para la administración,
seguridad y escalabilidad de la base de datos.
A pesar de que muchas funciones analíticas fantásticas se han convertido en el conjunto estándar de comandos Oracle SQL, Oracle OLAP
sigue siendo muy útil y tiene una buena tracción en el mercado. Los cubos OLAP de Oracle ofrecen cálculos sofisticados mediante consultas
SQL simples, lo que produce resultados con tiempos de respuesta de pensamiento rápidos. Este rendimiento sobresaliente de las consultas
se puede aprovechar de forma transparente al implementar cubos OLAP como vistas materializadas, lo que mejora el rendimiento de las consultas
de resumen frente a las tablas relacionales de detalles. Debido a que Oracle OLAP está integrado en Oracle Database 12c,
permite la administración centralizada de datos y reglas comerciales en una plataforma segura, escalable y lista para la empresa.
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
dbua
Starting with Oracle Database 12c, the local Enterprise Manager Database Control
does not exist anymore. The repository will be removed from your database during the upgrade.
This step can be manually performed before the upgrade to reduce downtime. (more details)
EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;
EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
********************** la primeras vez fallo*******************
2do intento
set lines 180
col COMP_NAME format a50
select substr(comp_name,1,40) comp_name
,status
,substr(version,1,10) version
from
dba_registry
order by
comp_name;
COMP_NAME STATUS VERSION
JServer JAVA Virtual Machine VALID 11.2.0.4.0
OLAP Analytic Workspace VALID 11.2.0.4.0
OWB VALID 11.2.0.4.0
Oracle Application Express VALID 3.2.1.00.1
Oracle Database Catalog Views VALID 11.2.0.4.0
Oracle Database Java Packages VALID 11.2.0.4.0
Oracle Database Packages and Types VALID 11.2.0.4.0
Oracle Enterprise Manager VALID 11.2.0.4.0
Oracle Expression Filter VALID 11.2.0.4.0
Oracle Multimedia VALID 11.2.0.4.0
Oracle OLAP API VALID 11.2.0.4.0
Oracle Rules Manager VALID 11.2.0.4.0
Oracle Text VALID 11.2.0.4.0
Oracle Workspace Manager VALID 11.2.0.4.0
Oracle XDK VALID 11.2.0.4.0
Oracle XML Database VALID 11.2.0.4.0
Spatial VALID 11.2.0.4.0
COLUMN object_name FORMAT A30
SELECT owner,
object_type,
object_name,
status
FROM dba_objects
WHERE status = 'INVALID'
ORDER BY owner, object_type, object_name;
OWNER OBJECT_TYPE OBJECT_NAME STATUS
HR PROCEDURE TEST_PROCEDURE INVALID
ALTER PROCEDURE HR.TEST_PROCEDURE COMPILE;
Warning: Procedure altered with compilation errors.
--- correr esto
cd /u01/app/oracle/product/12.2.0/db_1/rdbms/admin
SQL> @emremove.sql
SQL> SQL> SQL> SQL> SQL> purge recyclebin
2 ;
Recyclebin purged.
SQL> purge dba_recyclebin;
DBA Recyclebin purged.
--- veo los objectos invalidos para hacer en el pre-upgrade
EXECUTE DBMS_PREUP.INVALID_OBJECTS;
---------- ejecuto el preupgrade.jar para verificar que requisitos necesito
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
[oracle@laboratorio admin]$ java -jar preupgrade.jar
Preupgrade generated files:
/u01/app/oracle/cfgtoollogs/orcl/preupgrade/preupgrade.log
/u01/app/oracle/cfgtoollogs/orcl/preupgrade/preupgrade_fixups.sql
/u01/app/oracle/cfgtoollogs/orcl/preupgrade/postupgrade_fixups.sql
------- corregir falals del preupgrade
1---
alter system set processes=300 scope=spfile;
2--
alter system set audit_trail='DB','EXTENDED' scope=spfile;
3--
EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;