Oracle® 12c Database Configuration Assistant (DBCA) travando no CentOS 7 / VirtualBox 5

Recentemente fiz a instalação do CentOS 7 virtualizado em um VirtualBox 5.0.14 rodando sobre o Ubuntu 14.04 para estudos e testes.

Logo após isso, fiz a instalação do Oracle 12c (12.0.1.2) em minha nova máquina virtual. A instalação correu bem até iniciar o DBCA para criar o banco de dados de testes.

O DBCA ficou sem resposta, e travou enquanto exibia a splash screen.



O arquivo de log $ORACLE_BASE/cfgtoollogs/dbca/trace.log_OraDB12Home1_<timestamp> mostrava o seguinte:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
[main] [ 2016-02-28 09:44:15.717 EST ] [Host.<init>:1090]  Begin tracing..
[main] [ 2016-02-28 09:44:16.835 EST ] [UIHost.createHelpSet:485]  HelpSetParseExceptionjava.lang.NullPointerException
[main] [ 2016-02-28 09:44:18.418 EST ] [Host.checkIfBigClusterAndHubNode:1710]  Not a cluster environment: exiting BigCluster Check
[main] [ 2016-02-28 09:44:18.434 EST ] [InventoryUtil.getOUIInvSession:349]  setting OUI READ level to ACCESSLEVEL_READ_LOCKLESS
[main] [ 2016-02-28 09:44:18.435 EST ] [InventoryUtil.isCRSHome:386]  Homeinfo /u01/app/oracle/product/12.1.0/dbhome_1,1
[main] [ 2016-02-28 09:44:18.814 EST ] [Host.validateGridHome:3878]  Validation false
[main] [ 2016-02-28 09:44:18.815 EST ] [Host.startOperation:2395]  Source db null
[main] [ 2016-02-28 09:44:18.815 EST ] [Host.startOperation:2396]  GDB Name null
[main] [ 2016-02-28 09:44:18.855 EST ] [Host.startOperation:2397]  MgmtDB sid -MGMTDB
[main] [ 2016-02-28 09:44:18.855 EST ] [Host.startOperation:2398]  MgmtDB name _mgmtdb
[main] [ 2016-02-28 09:44:18.869 EST ] [OracleHome.getVersion:991]  OracleHome.getVersion called.  Current Version: null
[main] [ 2016-02-28 09:44:18.872 EST ] [InventoryUtil.getOUIInvSession:349]  setting OUI READ level to ACCESSLEVEL_READ_LOCKLESS
[main] [ 2016-02-28 09:44:18.872 EST ] [OracleHome.getVersion:1010]  Homeinfo /u01/app/oracle/product/12.1.0/dbhome_1,1
[main] [ 2016-02-28 09:44:19.039 EST ] [OracleHome.getVersion:1038]  OracleHome.server.getVersion Version: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.039 EST ] [OracleHome.getVersion:1059]  Current Version From Inventory: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.040 EST ] [OracleHome.getVersion:991]  OracleHome.getVersion called.  Current Version: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.040 EST ] [OracleHome.getVersion:1059]  Current Version From Inventory: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.041 EST ] [CommonUtils.createPasswordFile:1243]  calling new orapwd for 11.1 or higher
[main] [ 2016-02-28 09:44:19.041 EST ] [OracleHome.getVersion:991]  OracleHome.getVersion called.  Current Version: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.041 EST ] [OracleHome.getVersion:1059]  Current Version From Inventory: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.042 EST ] [OracleHome.getVersion:991]  OracleHome.getVersion called.  Current Version: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.042 EST ] [OracleHome.getVersion:1059]  Current Version From Inventory: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.042 EST ] [CommonUtils.getPasswordFileCreateCmd:1182]  for new orapwd for 11.1 or higher
[main] [ 2016-02-28 09:44:19.049 EST ] [OracleHome.getVersion:991]  OracleHome.getVersion called.  Current Version: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.049 EST ] [OracleHome.getVersion:1059]  Current Version From Inventory: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.050 EST ] [OracleHome.getVersion:991]  OracleHome.getVersion called.  Current Version: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.050 EST ] [OracleHome.getVersion:1059]  Current Version From Inventory: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.050 EST ] [CommonUtils.getPasswordFileCreateCmd:1213]  /u01/app/oracle/product/12.1.0/dbhome_1/bin/orapwd
[main] [ 2016-02-28 09:44:19.051 EST ] [CommonUtils.getPasswordFileCreateCmd:1213]  file=/u01/app/oracle/product/12.1.0/dbhome_1/dbs/orapwDBUA4418856
[main] [ 2016-02-28 09:44:19.051 EST ] [CommonUtils.getPasswordFileCreateCmd:1213]  force=y
[main] [ 2016-02-28 09:44:19.051 EST ] [CommonUtils.getPasswordFileCreateCmd:1213]  format=12
[main] [ 2016-02-28 09:44:19.052 EST ] [OsUtilsBase.execProg:2123]  beginning execProg with input array.
[main] [ 2016-02-28 09:44:19.186 EST ] [OsUtilsBase.execProg:2160]  finished execProg with input array. Status:0
[main] [ 2016-02-28 09:44:19.186 EST ] [OracleHome.initOptionsStopOnError:1356]  Initializing Database Options with  for dummy sid=DBUA4418856 using initfile=/u01/app/oracle/product/12.1.0/dbhome_1/dbs/initDBUA4418856.ora using pwdfile=/u01/app/oracle/product/12.1.0/dbhome_1/dbs/orapwDBUA4418856
[main] [ 2016-02-28 09:44:19.207 EST ] [OracleHome.getVersion:991]  OracleHome.getVersion called.  Current Version: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.208 EST ] [OracleHome.getVersion:1059]  Current Version From Inventory: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.208 EST ] [OracleHome.getVersion:991]  OracleHome.getVersion called.  Current Version: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.209 EST ] [OracleHome.getVersion:1059]  Current Version From Inventory: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.209 EST ] [OracleHome.getVersion:991]  OracleHome.getVersion called.  Current Version: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.210 EST ] [OracleHome.getVersion:1059]  Current Version From Inventory: 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.210 EST ] [SQLPlusEngine.getCmmdParams:225]  m_home 12.1.0.2.0
[main] [ 2016-02-28 09:44:19.211 EST ] [SQLPlusEngine.getCmmdParams:226]  version > 112 true
[main] [ 2016-02-28 09:44:19.211 EST ] [OsUtilsBase.getBaseFromOrabase:659]  oraBaseUtility /u01/app/oracle/product/12.1.0/dbhome_1/bin/orabase
[main] [ 2016-02-28 09:44:19.212 EST ] [OsUtilsBase.getBaseFromOrabase:668]  cmds: /u01/app/oracle/product/12.1.0/dbhome_1/bin/orabase
[main] [ 2016-02-28 09:44:19.213 EST ] [OsUtilsBase.getBaseFromOrabase:672]  envs:  ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
[main] [ 2016-02-28 09:44:19.230 EST ] [OsUtilsBase.getBaseFromOrabase:682]  baseLocation from orabase 
/u01/app/oracle
[main] [ 2016-02-28 09:44:19.231 EST ] [OsUtilsBase.getBaseFromOrabase:707]   orabaseLocation= /u01/app/oracle
[main] [ 2016-02-28 09:44:19.232 EST ] [SQLEngine.getEnvParams:602]  Default NLS_LANG: AMERICAN_AMERICA.AL32UTF8
[main] [ 2016-02-28 09:44:19.233 EST ] [SQLEngine.getEnvParams:612]  NLS_LANG: AMERICAN_AMERICA.AL32UTF8
[main] [ 2016-02-28 09:44:19.249 EST ] [SQLEngine.initialize:358]  Execing SQLPLUS/SVRMGR process...
[main] [ 2016-02-28 09:44:19.255 EST ] [SQLEngine.initialize:395]  m_bReaderStarted: false
[main] [ 2016-02-28 09:44:19.256 EST ] [SQLEngine.initialize:399]  Starting Reader Thread... 
[main] [ 2016-02-28 09:44:20.400 EST ] [OracleHome.initOptionsStopOnError:1370]  executing: startup nomount pfile='/u01/app/oracle/product/12.1.0/dbhome_1/dbs/initDBUA4418856.ora'

Aparentemente o DBCA travava ao startar o banco através do sqlplus.

Realizei um pequeno teste, criando um init.ora e startando o banco com sqlplus:


[oracle@localhost ~]$ export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
[oracle@localhost ~]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@localhost ~]$ cd $ORACLE_HOME
[oracle@localhost dbhome_1]$ cd dbs
[oracle@localhost dbs]$ ls -ltr
total 16
-rw-r--r--. 1 oracle oinstall 2992 Feb  3  2012 init.ora
-rw-r-----. 1 oracle oinstall    0 Feb 23 18:32 lkinstDBUA3245942
-rw-r-----. 1 oracle oinstall    0 Feb 23 18:36 lkinstDBUA3608884
-rw-r-----. 1 oracle oinstall 7680 Feb 23 18:57 orapwSTUDYDB.old
-rw-r-----. 1 oracle oinstall    0 Feb 23 18:57 lkinstSTUDYDB.old
-rw-r--r--. 1 oracle oinstall  683 Feb 23 21:49 initSTUDYDB.ora
-rw-r-----. 1 oracle oinstall    0 Feb 23 21:51 lkinstSTUDYDB
[oracle@localhost dbs]$ export ORACLE_SID=STUDYDB
[oracle@localhost dbs]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sun Feb 28 09:38:13 2016

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

Connected to an idle instance.

SQL> startup nomount



Da mesma forma, o cursor jamais retornava.

O alert.log exibia o seguinte:


Sun Feb 28 09:38:28 2016
Starting ORACLE instance (normal) (OS id: 5593)
Sun Feb 28 09:38:28 2016
CLI notifier numLatches:5 maxDescs:521
Sun Feb 28 09:38:28 2016
**********************************************************************
Sun Feb 28 09:38:28 2016
Dump of system resources acquired for SHARED GLOBAL AREA (SGA) 

Sun Feb 28 09:38:28 2016
 Per process system memlock (soft) limit = 64K
Sun Feb 28 09:38:28 2016
 Expected per process system memlock (soft) limit to lock
 SHARED GLOBAL AREA (SGA) into memory: 500M
Sun Feb 28 09:38:28 2016
 Available system pagesizes:
  4K, 2048K 
Sun Feb 28 09:38:28 2016
 Supported system pagesize(s):
Sun Feb 28 09:38:28 2016
  PAGESIZE  AVAILABLE_PAGES  EXPECTED_PAGES  ALLOCATED_PAGES  ERROR(s)
Sun Feb 28 09:38:28 2016
        4K       Configured          128003          128003        NONE
Sun Feb 28 09:38:28 2016
 Reason for not supporting certain system pagesizes: 
Sun Feb 28 09:38:28 2016
  2048K - Dynamic allocate and free memory regions
Sun Feb 28 09:38:28 2016
RECOMMENDATION:
Sun Feb 28 09:38:28 2016
 1. Increase per process memlock (soft) limit to at least 500MB
 to lock 100% of SHARED GLOBAL AREA (SGA) pages into physical memory
Sun Feb 28 09:38:28 2016
**********************************************************************

Fiz um double check em todos os pre-requisitos da instalação do banco, incluindo os parâmetros de kernel, e tudo estava dentro dos conformes.

Após algumas tentativas e investigação, eu voltei minha atenção para o virtualbox. Fiz alterações em diversos parâmetros do virtualbox, até encontrar o culpado: O parâmetro "Interface de paravirtualização" na aba "Aceleração".


Alterando de "Padrão" para "Nenhuma" resolveu o problema:




[oracle@localhost dbhome_1]$ export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
[oracle@localhost dbhome_1]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@localhost dbhome_1]$ export ORACLE_SID=STUDYDB
[oracle@localhost dbhome_1]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sun Feb 28 09:54:18 2016

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

Connected to an idle instance.

SQL> startup nomount
ORACLE instance started.

Total System Global Area  524288000 bytes
Fixed Size      2926320 bytes
Variable Size    436209936 bytes
Database Buffers    79691776 bytes
Redo Buffers      5459968 bytes
SQL> 


Share this:

SOBRE O AUTOR

Com uma década de experiẽncia em produtos Oracle como DBA e também Developer, pretendo, com esse blog, trocar experiências com você, leitor.