Criar o Database com o dbca via linha de comando (silent mode)

Bom pessoal conforme meu ultimo post, instalei o software da oracle via linha de comando (Silent mode).
Este modo serve para ambientes em que você não tenha o X instalado ou que ficará impossivel de utilizar qualquer ferramenta para trazer o X para sua tela.

Neste post de hoje vou mostrar a vocês como criar o banco via dbca em linha de comando também (silent mode).
Isto é possível efetuar junto com a instalação do banco, porém dividi as fazes para que tenhamos menos parâmetros a nos preocuparmos.

Nesta instalação vamos seguir o padrão do arquivo de resposta então. (responseFile)
Conforme descrito no post anterior, na pasta de instalação existe um arquivo chamado “db_install.rsp” que fica na pasta “databases/response”, pois nesta mesma pasta temos um arquivo chamado “dbca.rsp”.
Observe abaixo.

[oracle@fuscabala response]$ cat /orainstall/database/response/dbca.rsp |grep " = "
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl11g.us.oracle.com"
#POLICYMANAGED = "false"
#CREATESERVERPOOL = "false"
#FORCE = "false"
#SERVERPOOLNAME =
#CARDINALITY =
SID = "orcl11g"
TEMPLATENAME = "General_Purpose.dbc"
#OBFUSCATEDPASSWORDS = FALSE
#SYSPASSWORD = "password"
#SYSTEMPASSWORD = "password"
#EMCONFIGURATION = "NONE"
#DISABLESECURITYCONFIGURATION = "NONE"
#SYSMANPASSWORD = "password"
#DBSNMPPASSWORD = "password"
#CENTRALAGENT =
#HOSTUSERNAME =
#DVOWNERNAME = ""
#DVOWNERPASSWORD = ""
#DVACCOUNTMANAGERNAME = ""
#DVACCOUNTMANAGERPASSWORD = ""
#CHARACTERSET = "US7ASCII"
#LISTENERS = "listener1 listener2"
#MEMORYPERCENTAGE = "40"
#DATABASETYPE = "MULTIPURPOSE"
#AUTOMATICMEMORYMANAGEMENT = "TRUE"
#TOTALMEMORY = "800"
SOURCEDB = "myhost:1521:orcl"
SYSDBAUSERNAME = "system"
#SYSDBAPASSWORD = "password"
TEMPLATENAME = "My Copy TEMPLATE"
SOURCEDB = "orcl"
#SYSDBAUSERNAME = "sys"
#SYSDBAPASSWORD = "password"
TEMPLATENAME = "My Clone TEMPLATE"
#DATAFILEJARLOCATION =
SOURCEDB = "orcl"
#SYSDBAUSERNAME = "sys"
#SYSDBAPASSWORD = "password"
TEMPLATENAME = "New Database"
GDBNAME = "orcl11.us.oracle.com"
#SOURCEDB = "orcl"
#SYSDBAUSERNAME = "sys"
#DISABLESECURITYCONFIGURATION = "NONE"
#ENABLESECURITYCONFIGURATION = "true"
#EMCONFIGURATION = "NONE"
#SYSMANPASSWORD = "password"
#DBSNMPPASSWORD = "password"
#CENTRALAGENT =
#HOSTUSERNAME =
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
#INSTANCENAME = "orcl1"
#OBFUSCATEDPASSWORDS = FALSE
SYSDBAUSERNAME = "sys"
#SYSDBAPASSWORD = "password"
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
INSTANCENAME = "orcl11g"
#OBFUSCATEDPASSWORDS = FALSE
SYSDBAUSERNAME = "sys"
#SYSDBAPASSWORD = "password"

Como este arquivo é um pouco mais complexo do que o arquivo de instalação do software, sugiro ler o mesmo com calma e alterar os parâmetros conforme você deseja.
Vamos aos parametros que alterei para instalar o meu banco.
OPERATION_TYPE = “createDatabase” # aqui você define se vai criar um banco criar um template deletar um banco etc. Na minha opinião este é o principal parâmetro a que devemos nos preocuparmos, pois é baseado nele nossas próximas escolhas.
# Valid values : “createDatabase” \ “createTemplateFromDB” \ “createCloneTemplate” \ “deleteDatabase” \ “configureDatabase” \ “addInstance” (RAC-only) \ “deleteInstance” (RAC-only)

GDBNAME = “dbteste” # como vamos criar um database existe um parametro acima dizendo [CREATEDATABASE] tudo que estiver abaixo de [CREATEDATABASE] e até [createTemplateFromDB]  é necessário devido a opção operation_type, ter sido escolhida como createDatabase.

SID = “dbteste”
TEMPLATENAME = “base_de_testes_estudo.dbc”
DATAFILEDESTINATION = /u01/oradata/dbteste # Este parâmetro é comentado, mas devemos descomentar.
#CHARACTERSET = “US7ASCII”
#NATIONALCHARACTERSET= “UTF8”
MEMORYPERCENTAGE = “40” # Descomentar este Parametro.
SYSPASSWORD = “oracle” # Este parâmetro vira comentado
SYSTEMPASSWORD = “oracle” # Este parâmetro vira comentado


[oracle@fuscabala response]$ dbca -silent -responseFile /orainstall/database/response/dbca.rsp
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/dbteste/dbteste.log" for further details.

[oracle@fuscabala response]$ export ORACLE_SID=dbteste
[oracle@fuscabala response]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Tue Sep 11 11:03:53 2012

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

Connected to an idle instance.

SQL> startup;
ORACLE instance started.

Total System Global Area 757465088 bytes
Fixed Size 1339204 bytes
Variable Size 448790716 bytes
Database Buffers 301989888 bytes
Redo Buffers 5345280 bytes
Database mounted.
Database opened.
SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
dbteste

SQL>

Banco de dados instalado com sucesso.

Existem diversas formas de instalar o seu banco de dados via dbca, nem mesmo é necessário efetuar via o arquivo de resposta, mas acho que é interessante sabermos dessas opções, pois em uma maquina considerada lenta, a economia de tempo é impressionante.

Qualquer duvida estou a disposição.

%name Criar o Database com o dbca via linha de comando (silent mode)

Autor: Leandro Lana

Trabalho com banco de dados Oracle desde 2006, já trabalhei com as plataformas 9i, 10G, 11G e 12C.

Trabalhando atualmente como consultor Oracle na MigraTI Soluções em TI como administrador de banco de dados Oracle, SQL-Server e DB2.

Contato: leandro.lana@migrati.com.br

Fone: (47) 9191-6052 / (47) 3328 0996

Certificações:

OCA 10G.

OCP 10G.

OCE Linux.

OCE RAC/Cluster.

MCP SQL-Server 2008.

MCITP SQL-Server 2008.

DB2 Fundamentals.