fev 282012
 

1º Encontro GUOB 2012

Oi pessoal.

Neste ano a agenda do GUOB será bem diferente, não teremos apenas um único evento, e não será apenas em São Paulo.

O primeiro deles ocorrerá em 24/03/2012, no próprio auditório da Oracle, em São Paulo. Por ser no auditório da Oracle, as vagas são bem limitadas.

Neste encontro teremos 3 palestras, a seguir:

Craig A. Shallahamer: Unit of Work Time Based Performance Analysis
Most Oracle performance analysis is now time-based with the focus on “total time”: Time to process a SQL statement, a batch process, or the CPU consumed plus Oracle wait time that occurred over an interval. With just a couple twists, we can unit Operations Research queuing theory with Oracle time-based analysis, opening up an entirely new arena for performance analysis. Starting with an AWR/Statspack report, this presentation will teach you how to a perform a Unit of Work Time Based Analysis, show examples of how Oracle systems behave surprisingly as operations research indicates, and introduce how to inject your performance solutions into the analysis.

Craig A. Shallahamer: Introduction To Oracle Buffer Cache Internals
While Oracle’s buffer cache consists entirely of database blocks, the buffer headers and the supporting lists/chains are what makes the buffer cache a consistent topic of importance, interest, and challenge. Using creative visualizations, the presentation begins by introducing the key buffer cache structures followed by Craig role playing as a server process performing a variety of server process related activities. This naturally leads into when and how CPU is consumed and how the various buffer cache related wait events manifest, such as free buffer waits, read by other session, and cache buffer chain and LRU latch contention. Both new and experienced Oracle DBAs will find this presentation informative, practical, and entertaining.

Flávio Artur Piffero Rangel – Diretor Técnico – Fusion Solutions
Forms-UP® – A forma mais fácil de migrar Oracle Forms (3.0, 4.5 6i) para Oracle Forms 11g
Mostraremos na prática como migrar os aplicativos Oracle Forms (3.0, 4.5 6i) para Oracle Forms 11g de forma automática com o Forms-UP®, uma ferramenta genuinamente brasileira, com o Forms-UP® a migração torna-se rápido, muito fácil, seguro e com redução de até 80% dos custos.Você determina como será o resultado do upgrade, incluindo ou substituindo características da aplicação.

Maiores informações: http://www.guob.com.br

Inscrições: http://www.adaltech.com.br/sigeventos/guob2012/inscricao/index.asp?eveId=1

fev 092012
 

Este é o primeiro de uma séria de postagens sobre a MAA, ou Maximum Availability Architecture.

Então você tem Oracle RAC, e acha que tem alta disponibilidade?

E se acabar a luz? E se um arquivo for corrompido? Se o Storage sofrer uma falha?

Mas você tem RAC e Data Guard, e acha que assim está protegido.

Mas e se um Redo Log se corromper (isto acontece)? Você ficará sem os dois ambientes.

E se um objeto for removido, intencionalmente ou não?

Para cobrir todas estas possibilidades, a Oracle possui todo um conjunto de tecnologias, que devem ser aplicadas de forma coesa, dependendo de cada cenário, quando se quer atingir a máxima disponibilidade:

  • Fast-Start Fault Recovery
  • Oracle Restart
  • Oracle Real Application Clusters and Oracle Clusterware
  • Oracle RAC One Node
  • Oracle Data Guard
  • Oracle GoldenGate and Oracle Streams
  • Oracle Flashback Technology
  • Oracle Automatic Storage Management
  • Fast Recovery Area
  • Recovery Manager
  • Data Recovery Advisor
  • Oracle Secure Backup
  • Oracle Security Features
  • LogMiner
  • Oracle Exadata Storage Server Software (Exadata Cell)
  • Oracle Exadata Database Machine
  • Oracle Database File System (DBFS)
  • Client Failover
  • Automatic Block Repair
  • Corruption Prevention, Detection, and Repair‏
fev 012012
 
[oracle@OracleDG02 ~]$ cat database/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=
oracle.install.db.config.starterdb.globalDBName=
oracle.install.db.config.starterdb.SID=
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
[oracle@OracleDG02 ~]$
fev 012012
 

Adoro a instalação mínima do OEL (Oracle Enterprise Linux) 6. Este tipo de instalação existia na fonte (RHEL – Red Hat Enterprise Linux) na versão 4, mas sumiu na 5, para voltar na 6. Esta instalação vem até sem unzip, por isso os pacotes adicionais aos pré-requisitos do Oracle Database 11gR2.
Atenção aos parâmetros de kernel, eles podem ser diferentes para cada máquina.

[root@OracleDG01 ~]# cat OraclePreReqs.sh
mount /dev/sr0 /mnt
cd /mnt/Packages
yum -y localinstall yum-utils-*.el6.noarch*
yum-complete-transaction
yum -y localinstall unzip-*.el6.x86_64.rpm sysstat-*.el6.x86_64* elfutils-libelf-devel-*.el6.x86_64* gcc-4.4.*.el6.x86_64* libaio-devel-*-10.el6.* kernel-uek-headers-*.el6uek.x86_64* compat-libstdc++-33-*.el6.* libstdc++-devel-*.el6.x86_64* libaio-*.el6.* glibc-headers-*.el6.x86_64* gcc-c++-4.*.el6.x86_64* cloog-ppl-*.el6.x86_64* libgomp-*.el6.x86_64* glibc-devel-*.el6.* ppl-*.el6.x86_64* cpp-*.el6.x86_64* mpfr-*.el6.x86_64* make-*.el6.x86_64* libgcc-*.el6.* libstdc++-*.el6.* binutils-2.*.el6.x86_64.rpm elfutils-libelf-*.el6.x86_64.rpm glibc-2.*.el6.* glibc-common-2.*.el6.x86_64.rpm nss-softokn-freebl-*.el6.* openssh-clients-*.el6.x86_64.rpm libedit-*.el6.x86_64.rpm perl-5.*.el6_1.1.x86_64.rpm perl-Module-Pluggable-*.el6_1.1.x86_64.rpm perl-libs-*.x86_64.rpm perl-Pod-Simple-*.el6_1.1.x86_64.rpm perl-Pod-Escapes-*.el6_1.1.x86_64.rpm perl-version-*.x86_64.rpm kernel-uek-devel-*.el6uek.x86_64.rpm libXext-1.*.el6.* libX11-1.*.el6.* libX11-common-1.*.el6.noarch.rpm libxcb-1.*.el6.* libXau-1.*.el6.*
yum-complete-transaction
yum -y localinstall unzip-*.el6.x86_64.rpm sysstat-*.el6.x86_64* elfutils-libelf-devel-*.el6.x86_64* gcc-4.4.*.el6.x86_64* libaio-devel-*-10.el6.* kernel-uek-headers-*.el6uek.x86_64* compat-libstdc++-33-*.el6.* libstdc++-devel-*.el6.x86_64* libaio-*.el6.* glibc-headers-*.el6.x86_64* gcc-c++-4.*.el6.x86_64* cloog-ppl-*.el6.x86_64* libgomp-*.el6.x86_64* glibc-devel-*.el6.* ppl-*.el6.x86_64* cpp-*.el6.x86_64* mpfr-*.el6.x86_64* make-*.el6.x86_64* libgcc-*.el6.* libstdc++-*.el6.* binutils-2.*.el6.x86_64.rpm elfutils-libelf-*.el6.x86_64.rpm glibc-2.*.el6.* glibc-common-2.*.el6.x86_64.rpm nss-softokn-freebl-*.el6.* openssh-clients-*.el6.x86_64.rpm libedit-*.el6.x86_64.rpm perl-5.*.el6_1.1.x86_64.rpm perl-Module-Pluggable-*.el6_1.1.x86_64.rpm perl-libs-*.x86_64.rpm perl-Pod-Simple-*.el6_1.1.x86_64.rpm perl-Pod-Escapes-*.el6_1.1.x86_64.rpm perl-version-*.x86_64.rpm kernel-uek-devel-*.el6uek.x86_64.rpmcd libXext-1.*.el6.* libX11-1.*.el6.* libX11-common-1.*.el6.noarch.rpm libxcb-1.*.el6.* libXau-1.*.el6.*
cd
umount /mnt

echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default=262144" >> /etc/sysctl.conf
echo "net.core.rmem_max=4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default=262144" >> /etc/sysctl.conf
echo "net.core.wmem_max=1048586" >> /etc/sysctl.conf
echo "oracle soft nproc 2047" >> /etc/security/limits.conf
echo "oracle hard nproc 16384" >> /etc/security/limits.conf
echo "oracle soft nofile 1024" >> /etc/security/limits.conf
echo "oracle hard nofile 65536" >> /etc/security/limits.conf
chkconfig iptables off
chkconfig lvm2-monitor off
chkconfig auditd off
chkconfig ip6tables off
chkconfig restorecond off
groupadd -g 1000 oinstall
groupadd -g 1200 dba
groupadd -g 1300 oper
useradd -u 1100 -g oinstall -G dba,oper oracle
mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u01/oradata
chown -R oracle:oinstall /u01/
chmod -R 775 /u01
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=nerv01.localdomain
export ORACLE_UNQNAME=ORCL
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ORCL
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
echo "export TMP=/tmp" >> /home/oracle/.bash_profile
echo "export TMPDIR=$TMP" >> /home/oracle/.bash_profile
echo "export ORACLE_HOSTNAME=nerv01.localdomain" >> /home/oracle/.bash_profile
echo "export ORACLE_UNQNAME=ORCL" >> /home/oracle/.bash_profile
echo "export ORACLE_BASE=/u01/app/oracle" >> /home/oracle/.bash_profile
echo "export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1" >> /home/oracle/.bash_profile
echo "export ORACLE_SID=ORCL" >> /home/oracle/.bash_profile
echo "export ORACLE_TERM=xterm" >> /home/oracle/.bash_profile
echo "export PATH=/usr/sbin:$PATH" >> /home/oracle/.bash_profile
echo "export PATH=$ORACLE_HOME/bin:$PATH" >> /home/oracle/.bash_profile
echo "export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib" >> /home/oracle/.bash_profile
echo "export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib" >> /home/oracle/.bash_profile
echo "if [ $USER = "oracle" ]; then" >> /home/oracle/.bash_profile
echo "if [ $SHELL = "/bin/ksh" ]; then" >> /home/oracle/.bash_profile
echo "ulimit -p 16384" >> /home/oracle/.bash_profile
echo "ulimit -n 65536" >> /home/oracle/.bash_profile
echo "else" >> /home/oracle/.bash_profile
echo "ulimit -u 16384 -n 65536" >> /home/oracle/.bash_profile
echo "fi" >> /home/oracle/.bash_profile
echo "fi" >> /home/oracle/.bash_profile
chown oracle:oinstall /home/oracle/.bash_profile
passwd oracle