Neste artigo sera descrito o processo de instalacao do software de Banco de Dados 12c no ambiente Linux que foi preparado no artigo anterior - "Instalacao do Oracle Linux para Banco de Dados Oracle".Nos proximos artigos, serao apresentados a migracao do Oracle 11g em Windows para o 12c e depois a conversao de uma Banco de Dados padrao para um Pluggable Data Base, recurso novo no 12c, mas muito semelhante com o detach e attach do SQL Server.Diretrizes:Ja ter o S.O Oracle Linux devidamente instalado para o Oracle;Siga os passos em http://alecordeirosilva.blogspot.com.br/2014/08/instalacao-do-oracle-linux-para-banco.html para instalar o S.O da Oracle.Passos:1-Com usuario ROOT, crie as pasta da Instancia, neste caso o nome sera BDAGNUS;[root@OLXAGNUS ~]# mkdir -p /u01/app/oracle/product/12.1.0.2/cdbagnus[root@OLXAGNUS ~]# chown -R oracle:oinstall /u01/app/oracle[root@OLXAGNUS ~]# chmod -R 775 /u01/app/oracle2-Com usuario Oracle, adicione as variaveis de ambiente no arquivo .bash_profile. Neste exemplo o SID vai ter o mesmo nome do servidor do Windows.[root@OLXAGNUS ~]# su - oracle[oracle@OLXAGNUS ~]$ vi .bash_profileORACLE_BASE=/u01/app/oracle; export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/cdbagnus; export ORACLE_HOMEORACLE_SID=BDAGNUS; export ORACLE_SIDPATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH3 - Faca o download do Software Oracle, a versao usada e o 12.1.0.2.0.Foram baixados os arquivos "p17694377_121020_Linux-x86-64_1of8.zip", "p17694377_121020_Linux-x86-64_2of8.zip", "p17694377_121020_Linux-x86-64_3of8.zip" e "p17694377_121020_Linux-x86-64_4of8.zip" no Windows onde esta instalado o Oracle 11g na pasta compartilhada "Instaladores".Descompacte junto os 4 arquivos, voce tera duas pasta, a "database" e o "grid". Neste cenario sera usado somente a pasta "database".4 - Abra o terminal Putty com Xming, logando com usuario root e monte o compartilhamento Windows.[root@LXAGNUS ~]# mount -t cifs -o username=usuario,password=senha //192.168.56.1/Instaladores /mntCom usuario oracle va ate o diretorio onde se encontra a pasta "database".[root@LXAGNUS ~]# su - oracle[oracle@LXAGNUS ~]$ cd /mnt/Oracle/Linux/12.1.0.2/database5- Logue no Putty com usuario Oracle e Execute o instalador.[oracle@LXAGNUS ~]$ ./runInstaller6- Siga os passos da imagens para instalar o somente o Software. Neste momento, abra um novo terminal como root e execute os script solicitado pelo instalador.[root@LXAGNUS ~]# /u01/app/oraInventory/orainstRoot.shChanging permissions of /u01/app/oraInventory.Adding read,write permissions for group.Removing read,write,execute permissions for world.Changing groupname of /u01/app/oraInventory to oinstall.The execution of the script is complete.[root@LXAGNUS ~]# /u01/app/oracle/product/12.1.0.2/cdbagnus/root.shPerforming root user operation.The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/12.1.0.2/cdbagnusEnter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ...Creating /etc/oratab file...Entries will be added to the /etc/oratab file as needed byDatabase Configuration Assistant when a database is createdFinished running generic part of root script.Now product-specific root actions will be performed.[root@LXAGNUS ~]#Pronto, ja termos o Software Oracle 12c instalado, no proximo artigos, sera apresentado a restauracao do backup do 11g Windows neste novo ambiente. Toda transacao dentro do contexto de Sistema Gerenciador de Banco de Dados (SGBD) trabalha com o conceito de Atomicidade, ou seja, a transacao e indivisivel. Isso significa que, ou ela ocorre inteira ou nao ocorre. A linguagem de programacao PL/SQL da Oracle possui uma extensao nao muito conhecida, Transacao Autonoma, mas bem interessante e que pode ser muito util para resolver alguns casos. Este artigo detalha a explicacao teorica deste recurso, para tanto sera apresentado um exemplo real de como este recurso resolveu o problema e por fim serao demonstrados alguns casos nos quais nao