####### Erros previstos:
No asm:
SQL> startup;
ORA-01078: failure in processing system parameters
ORA-29701: unable to connect to Cluster Synchronization Service
executar o comando abaixo:
cd $ORACLE_HOME/bin
./crsctl start resource ora.cssd
quinta-feira, 20 de abril de 2017
terça-feira, 18 de abril de 2017
Verificar Jobs do Oracle
Verificar Jobs do Oracle
desc DBA_SCHEDULER_JOB_RUN_DETAILS ;
SQL> desc DBA_SCHEDULER_JOB_RUN_DETAILS ;
Name Null? Type
----------------------------------------- -------- ----------------------------
LOG_ID NUMBER
LOG_DATE TIMESTAMP(6) WITH TIME ZONE
OWNER VARCHAR2(30)
JOB_NAME VARCHAR2(65)
JOB_SUBNAME VARCHAR2(65)
STATUS VARCHAR2(30)
ERROR# NUMBER
REQ_START_DATE TIMESTAMP(6) WITH TIME ZONE
ACTUAL_START_DATE TIMESTAMP(6) WITH TIME ZONE
RUN_DURATION INTERVAL DAY(3) TO SECOND(0)
INSTANCE_ID NUMBER
SESSION_ID VARCHAR2(30)
SLAVE_PID VARCHAR2(30)
CPU_USED INTERVAL DAY(3) TO SECOND(2)
ADDITIONAL_INFO VARCHAR2(4000)
-- vendo os detalhes das falhas
select *from dba_scheduler_job_RUN_DETAILS where JOB_NAME like 'NOME_DO_JOB';
select job_name,status,error# from DBA_SCHEDULER_JOB_RUN_DETAILS where job_name='NOME_DO_JOB';
-- Identificar Jobs com falhas e agendamentos duplicados.
SET PAGES 999;
SET LINES 999;
SELECT * FROM (
SELECT SCHEMA_USER, BROKEN, SUM(FAILURES) FAILURES, COUNT(1) FROM DBA_JOBS
GROUP BY SCHEMA_USER, BROKEN)
WHERE BROKEN = 'Y' OR FAILURES > 0;
SELECT WHAT FROM DBA_JOBS WHERE BROKEN = 'Y' OR FAILURES > 0;
--Quantidade de falhas
select OWNER,JOB_NAME,FAILURE_COUNT, to_char(LAST_START_DATE,'DD-MM-RRRR HH24:MI:SS') ultima_execucao
from dba_scheduler_jobs where FAILURE_COUNT <>0;
desc DBA_SCHEDULER_JOB_RUN_DETAILS ;
SQL> desc DBA_SCHEDULER_JOB_RUN_DETAILS ;
Name Null? Type
----------------------------------------- -------- ----------------------------
LOG_ID NUMBER
LOG_DATE TIMESTAMP(6) WITH TIME ZONE
OWNER VARCHAR2(30)
JOB_NAME VARCHAR2(65)
JOB_SUBNAME VARCHAR2(65)
STATUS VARCHAR2(30)
ERROR# NUMBER
REQ_START_DATE TIMESTAMP(6) WITH TIME ZONE
ACTUAL_START_DATE TIMESTAMP(6) WITH TIME ZONE
RUN_DURATION INTERVAL DAY(3) TO SECOND(0)
INSTANCE_ID NUMBER
SESSION_ID VARCHAR2(30)
SLAVE_PID VARCHAR2(30)
CPU_USED INTERVAL DAY(3) TO SECOND(2)
ADDITIONAL_INFO VARCHAR2(4000)
-- vendo os detalhes das falhas
select *from dba_scheduler_job_RUN_DETAILS where JOB_NAME like 'NOME_DO_JOB';
select job_name,status,error# from DBA_SCHEDULER_JOB_RUN_DETAILS where job_name='NOME_DO_JOB';
-- Identificar Jobs com falhas e agendamentos duplicados.
SET PAGES 999;
SET LINES 999;
SELECT * FROM (
SELECT SCHEMA_USER, BROKEN, SUM(FAILURES) FAILURES, COUNT(1) FROM DBA_JOBS
GROUP BY SCHEMA_USER, BROKEN)
WHERE BROKEN = 'Y' OR FAILURES > 0;
SELECT WHAT FROM DBA_JOBS WHERE BROKEN = 'Y' OR FAILURES > 0;
--Quantidade de falhas
select OWNER,JOB_NAME,FAILURE_COUNT, to_char(LAST_START_DATE,'DD-MM-RRRR HH24:MI:SS') ultima_execucao
from dba_scheduler_jobs where FAILURE_COUNT <>0;
sexta-feira, 6 de janeiro de 2017
atualizar ASM
instalar o oracle asm na versão do kernel
sudo yum --nogpgcheck install oracleasm-`uname -r`
sudo yum --nogpgcheck install oracleasm-`uname -r`
quinta-feira, 22 de dezembro de 2016
Memória do banco Oracle
O max_target tem que ser maior que o memory_target
alter system set memory_max_target=20G scope=both; ou scope=spfile
alter system set memory_target=17G scope=both;
Restartar a instância e ver o parâmetro de memória
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address integer 0
memory_max_target big integer 1G
memory_target big integer 1G
shared_memory_address integer 0
alter system set memory_max_target=20G scope=both; ou scope=spfile
alter system set memory_target=17G scope=both;
Restartar a instância e ver o parâmetro de memória
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address integer 0
memory_max_target big integer 1G
memory_target big integer 1G
shared_memory_address integer 0
terça-feira, 13 de setembro de 2016
Export - Import resumido
Passos para o export e import no oracle - Resumo pessoal
1 - identificar as tablespaces de origem e destino
select TABLESPACE_NAME from dba_tablespaces where TABLESPACE_NAME like 'nome_schema_origem';
TABLESPACE_OWNER_ORIGEM
select TABLESPACE_NAME from dba_tablespaces where TABLESPACE_NAME like 'nome_schema_destino';
TABLESPACE_OWNER_DESTINO
2 - checar na origem e destino o diretório do oracle
select *from dba_directories - irá gerar no nome do diretório, no nosso caso DIR_EXP
3 - FAZER O EXPORT NA ORIGEM e backup no destino:
expdp user_dba schemas=nome_schema_origem directory=DIR_EXP dumpfile=exp_nome_owner_origem.dmp logfile=exp_nome_owner_origem.log
4 - se necessário fazer o scp para outro servidor:
scp /u01/app/oracle/admin/local_do_dump oracle@host_destino:/u01/app/oracle/admin/local_destino_do_dump/exp_nome_owner_origem.dmp
5 - fazer a limpeza do schema destino (fazer o backup antes, conforme o item 3)
select 'drop '|| object_type || ' nome_schema_destino.' || object_name || ' cascade constraints ; '
from dba_objects
where owner='nome_schema_destino'
and object_type like '%TABLE%';
select 'drop '|| object_type || ' nome_schema_destino.' || object_name || ' ; ' from dba_objects
where owner='nome_schema_destino'
and object_type!='LOB';
6 - fazer o import do dump com a opção REMAP:
SE FOR PARA A MESMA TABLESPACE:
impdp user_dba remap_schema=nome_schema_origem:nome_schema_origem remap_tablespace=TABLESPACE_OWNER_ORIGEM:TABLESPACE_OWNER_ORIGEM directory=DIR_EXP dumpfile=exp_nome_owner_origem.dmp logfile=exp_nome_owner_origem_log TABLE_EXISTS_ACTION=append
SE FOR PARA TABLESPACE DIFERENTE:
impdp user_dba remap_schema=nome_schema_origem:nome_schema_destino remap_tablespace=TABLESPACE_OWNER_ORIGEM:TABLESPACE_OWNER_DESTINO directory=DIR_EXP dumpfile=exp_nome_owner_origem.dmp logfile=exp_nome_owner_origem_TO_nome_schema_destino.log TABLE_EXISTS_ACTION=append
terça-feira, 21 de junho de 2016
DICAS PARA ARRUMAR EMPREGO MAIS RAPIDAMENTE
DICAS PARA ARRUMAR EMPREGO MAIS RAPIDAMENTE
(Repasse o post completo)
Amigos, hoje o post é um pouco longo, mas devido á situação que muitos brasileiros se encontram, gostaria de ajudar no que posso, com uso da tecnologia.
Estas dicas são para o Rio de Janeiro, mas podem ser usadas com outros estados.
Caso alguma empresa de consultoria se ofenda, me perdoem, porém estou no meu direito constitucional de expressar minha opinião.
Desejo boa sorte e que o Senhor te abençoe rapidamente. Ele é fiel e não nos desampara.
Com estas dicas, os empregos serão enviados automaticamente para seu e-mail e a abrangência será ampliada de maneira exponencial, sem a necessidade de ficar enfrentando filas ou andando para um lado para o outro, perdendo um tempo valioso
(Repasse o post completo)
Amigos, hoje o post é um pouco longo, mas devido á situação que muitos brasileiros se encontram, gostaria de ajudar no que posso, com uso da tecnologia.
Estas dicas são para o Rio de Janeiro, mas podem ser usadas com outros estados.
Caso alguma empresa de consultoria se ofenda, me perdoem, porém estou no meu direito constitucional de expressar minha opinião.
Desejo boa sorte e que o Senhor te abençoe rapidamente. Ele é fiel e não nos desampara.
Com estas dicas, os empregos serão enviados automaticamente para seu e-mail e a abrangência será ampliada de maneira exponencial, sem a necessidade de ficar enfrentando filas ou andando para um lado para o outro, perdendo um tempo valioso
Sintam-se a vontade para compartilhar onde quiserem. Se tiver sucesso, seria ótimo darem retorno nesta postagem. Se apenas um conseguir, já ficarei feliz.
--> cadastre o currículo e configure o alerta de vagas para receber no seu e-mail:
http://www.indeed.com.br/
http://empregos.trovitbrasil.com.br/
https://www.vagas.com.br/ --> atentar para este, você pode manter o currículo no banco de dados das empresas também (selecionando a empresa) dentro do vagas
https://br.linkedin.com/ -- > o mais importante de todos - pode fazer buscas dentro do site de vagas dentro do seu perfil
https://www.curriculum.com.br/vagas-emprego
http://www.infojobs.com.br/empregos-em-rio-janeiro.aspx
http://www.empregacarioca.com/
http://www.balcaodeempregos.com.br/…/P…/3631/Rio-de-Janeiro…
http://www.bne.com.br/vagas-de-emprego-em-rio-de-janeiro-rj
http://www.personale.com.br/
http://www.careerjet.com.br/
http://empregocerto.uol.com.br/vagas/rio-de-janeiro-rj.html…
http://riodeempregos.com.br/ -- esse custa 10 reais, mas se entrar nas vagas, você vai ver o e-mail de contato da vaga requisitada, copie o e-mail e mande o currículo (apresentando-se é claro)
http://www.indeed.com.br/
http://empregos.trovitbrasil.com.br/
https://www.vagas.com.br/ --> atentar para este, você pode manter o currículo no banco de dados das empresas também (selecionando a empresa) dentro do vagas
https://br.linkedin.com/ -- > o mais importante de todos - pode fazer buscas dentro do site de vagas dentro do seu perfil
https://www.curriculum.com.br/vagas-emprego
http://www.infojobs.com.br/empregos-em-rio-janeiro.aspx
http://www.empregacarioca.com/
http://www.balcaodeempregos.com.br/…/P…/3631/Rio-de-Janeiro…
http://www.bne.com.br/vagas-de-emprego-em-rio-de-janeiro-rj
http://www.personale.com.br/
http://www.careerjet.com.br/
http://empregocerto.uol.com.br/vagas/rio-de-janeiro-rj.html…
http://riodeempregos.com.br/ -- esse custa 10 reais, mas se entrar nas vagas, você vai ver o e-mail de contato da vaga requisitada, copie o e-mail e mande o currículo (apresentando-se é claro)
-- Pesquisem diariamente as vagas dentro do seu perfil:
https://www.riovagas.com.br/
http://www.sine.com.br/vagas-empregos-em-rio-de-janeiro-rj
http://classificadosodia.com.br/anuncios/empregos
http://www.vagasamais.com.br/
Busquem outros sites de busca também !!!
https://www.riovagas.com.br/
http://www.sine.com.br/vagas-empregos-em-rio-de-janeiro-rj
http://classificadosodia.com.br/anuncios/empregos
http://www.vagasamais.com.br/
Busquem outros sites de busca também !!!
Observações:
-- Todos os sites citados fazem buscas em sites de vagas de emprego e pode-se cadastrar alertas para enviar para você automaticamente e gratuitamente
-- O ideal é entrar nestes sites diariamente também para acompanhar as vagas, tem vaga que surge de tarde (os resumos configurados são enviados de manhã cedo ou madrugada)
-- Uma simples busca no professor google(agência de emprego RJ) pode fazer um milagre que vocês não fazem idéia.
-- Mantenha SEMPRE o currículo atualizado e com uma ótima foto, de preferência com gravata (ou mulheres, sempre social).
-- Não desista , ás vezes pode demorar um pouco, mas é melhor que bater perna e gastar dinheiro de passagem, tempo, etc.. e é mais efetivo do que isso
-- NÃO PAGUE A NENHUM SITE PARA MANTER O CURRÍCULO. Todos estes sites que passei possuem pacotes gratuitos e pagos também, usem as opções gratuitas !!!
-- NÃO PAGUE A NENHUM "consultor" ou "orientador de recolocação", estas coisas mais ou menos. São empresas que vivem disso e não te garantem a recolocação no mercado.
Recuse educadamente qualquer reunião que queiram agendar ou propostas que não estejam claras. Furada na certa. A opção é sua de pagar ou não.
-- Não pague a ninguém que esteja condicionando o emprego a um pagamento
-- Caso for a alguma entrevista de emprego, procure ir de social e bem vestido, chegar antecipadamente no local e evitar gírias ou críticas aos antigos empregos.
-- Se achar o e-mail nas vagas descritas, não tenha vergonha de pegar o e-mail e pedir o emprego, mandando o currículo. Pedir emprego não é vergonha.
Tipo: eu tenho este perfil, etc, tenho x anos de experiência, etc e caso não for possível no momento, gostaria que me considerasse para as futuras oportunidades conforme meu perfil..
-- Todos os sites citados fazem buscas em sites de vagas de emprego e pode-se cadastrar alertas para enviar para você automaticamente e gratuitamente
-- O ideal é entrar nestes sites diariamente também para acompanhar as vagas, tem vaga que surge de tarde (os resumos configurados são enviados de manhã cedo ou madrugada)
-- Uma simples busca no professor google(agência de emprego RJ) pode fazer um milagre que vocês não fazem idéia.
-- Mantenha SEMPRE o currículo atualizado e com uma ótima foto, de preferência com gravata (ou mulheres, sempre social).
-- Não desista , ás vezes pode demorar um pouco, mas é melhor que bater perna e gastar dinheiro de passagem, tempo, etc.. e é mais efetivo do que isso
-- NÃO PAGUE A NENHUM SITE PARA MANTER O CURRÍCULO. Todos estes sites que passei possuem pacotes gratuitos e pagos também, usem as opções gratuitas !!!
-- NÃO PAGUE A NENHUM "consultor" ou "orientador de recolocação", estas coisas mais ou menos. São empresas que vivem disso e não te garantem a recolocação no mercado.
Recuse educadamente qualquer reunião que queiram agendar ou propostas que não estejam claras. Furada na certa. A opção é sua de pagar ou não.
-- Não pague a ninguém que esteja condicionando o emprego a um pagamento
-- Caso for a alguma entrevista de emprego, procure ir de social e bem vestido, chegar antecipadamente no local e evitar gírias ou críticas aos antigos empregos.
-- Se achar o e-mail nas vagas descritas, não tenha vergonha de pegar o e-mail e pedir o emprego, mandando o currículo. Pedir emprego não é vergonha.
Tipo: eu tenho este perfil, etc, tenho x anos de experiência, etc e caso não for possível no momento, gostaria que me considerasse para as futuras oportunidades conforme meu perfil..
-- HONESTIDADE: SEMPRE !!! - Não candidatem-se a vagas fora do seu perfil. Porém nada impede que possam se aperfeiçoar durante o tempo do desemprego.
Lembrem-se:
O Senhor sustenta a todos os que caem, e levanta a todos os abatidos.
Os olhos de todos esperam em ti, e lhes dás o seu mantimento a seu tempo.
Salmos 145:14,15
O Senhor sustenta a todos os que caem, e levanta a todos os abatidos.
Os olhos de todos esperam em ti, e lhes dás o seu mantimento a seu tempo.
Salmos 145:14,15
quinta-feira, 2 de junho de 2016
Upgrade Oracle database 11g para Oracle database 12c - RAC
===============================================================================================
===============================================================================================
Roteiro resumido
00- Pedir backup para a equipe responsável para manter por uma semana dos arquivos do filesystem, (Caso for possível)
1 - Instalar os binários do 12c com novo oracle_home
2 - ATUALIZAR PRIMEIRO O GRID PARA 12.1.0.2.0 (verificar documentação da Oracle)
3 - atualizar banco para 12c , incluir steps para RAC (já neste procedimento)
===============================================================================================
===============================================================================================
****************************************************************************************************
1 - Instalar os binários do 12c com novo oracle_home - PRÉ UPGRADE
****************************************************************************************************
usuário ORACLE
0.0) PEGAR O STATUS DOS OBJETOS INVÁLIDOS ANTES DO UPGRADE E GUARDAR COMO EVIDÊNCIA
To show the current state of the dictionary, execute a SQL query similar to the following example:
SQL>
spool /tmp/regInvalid_pre_upgrade.out
set echo on
-- query registry
col COMP_NAME format a60
col COMP_ID format a20
set lines 100 pages 200
select substr(comp_id,1,15) comp_id,substr(comp_name,1,30)
comp_name,substr(version,1,10) version,status
from dba_registry order by modified;
To query invalid objects, execute a SQL query similar to:
SQL> select substr(owner,1,12) owner,substr(object_name,1,30) object,substr(object_type,1,30) type, status
from dba_objects where status <> 'VALID'order by owner, type;
SQL> spool off
SQL> set echo off
*******************************************************
PRÉ UPGRADE:
*******************************************************
0.0-->>>- Criar um ponto de restauração do banco antes do upgrade caso desejar:
CREATE RESTORE POINT grpt_bf_upgr GUARANTEE FLASHBACK DATABASE;
--Depois de criado o ponto de restauração, checar com a query abaixo:
SELECT * FROM V$RESTORE_POINT where name = 'GRPT_BF_UPGR';
Dropar o ponto de restauração após o upgrade com sucesso
DROP RESTORE POINT GRPT_BF_UPGR;
1)run pre-upgrade script: (4.1.2. Pre-Upgrade Information Tool) - vai salvar o arquivo de spool no arquivo upgrade_info.log no /home/oracle
cd $ORACLE_HOME/rdbms/admin/
sqlplus / as sysdba
SPOOL upgrade_info.log
@utlu121i.sql;
--REVISAR AS INFORMAÇÕES PRÉ UPGRADE PARA TOMAR AS AÇÕES NECESSÁRIAS
2) Checar as roles de conexão (Verificar se algum usuário irá precisar do "create session")
SELECT grantee FROM dba_role_privs
WHERE granted_role = 'CONNECT' and
grantee NOT IN (
'SYS', 'OUTLN', 'SYSTEM', 'CTXSYS', 'DBSNMP',
'LOGSTDBY_ADMINISTRATOR', 'ORDSYS',
'ORDPLUGINS', 'OEM_MONITOR', 'WKSYS', 'WKPROXY',
'WK_TEST', 'WKUSER', 'MDSYS', 'LBACSYS', 'DMSYS',
'WMSYS', 'EXFSYS', 'SYSMAN', 'MDDATA',
'SI_INFORMTN_SCHEMA', 'XDB', 'ODM');
3)Verificar permissões para usar: UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP, and UTL_INADDR
select distinct (privilege) from all_tab_privs;
4) Verificar se os refreshs de MVIEWS COMPLETARAM - AGUARDAR O FIM
SELECT * FROM sys.obj$ o, sys.user$ u, sys.sum$ s
WHERE o.type# = 42 AND bitand(s.mflags, 8) = 8;
5)Certificar que nenhum arquivo necessita de recuperação de mídia
SELECT * FROM v$recover_file;
6)Certificar que não há arquivos em modo backup
SELECT * FROM v$backup WHERE status != 'NOT ACTIVE';
7)efetuar um purge na Recycle Bin
PURGE dba_recyclebin;
*******************************************************
INÍCIO DO UPGRADE:
*******************************************************
fazer o upload o instalador e rodar o instalador
- Instalar os binários do ORACLE 12C no diretório criado (verificar postagem de upgrade de single instance:
/home/oracle
unzip linuxamd64_12102_database_1of2.zip
unzip linuxamd64_12102_database_2of2.zip
irá criar a pasta database, entrar nela e rodar o instalador
cd database
HOSTNAME[oracle] ~/database $ pwd
/home/oracle/database
HOSTNAME[oracle] ~/database $ ls
install response rpm runInstaller sshsetup stage welcome.html
HOSTNAME[oracle] ~/database $
Rodar o instalador dos binários do oracle database
./runInstaller
[oracle@HOSTNAME:/u01/app/oracle/orainstall/12.1.0.2/database] $ ls
install readme.html response rpm runInstaller sshsetup stage welcome.html
>>>> rodar o instalador e selecionar atualizar um banco existente- alterar o caminho do software location de 11.0.4 para 12.0.1
o novo ORACLE_HOME irá ficar como:
/u01/app/oracle/product/12.1.0.2/db_1
Exemplo da configuração do bash_profile:
NPAA1495[oracle] ~ $ env | grep ora
USER=oracle
LD_LIBRARY_PATH=/u01/app/oracle/product/12.1.0.2/db_1/lib:/lib:/usr/lib
ORACLE_BASE=/u01/app/oracle
MAIL=/var/spool/mail/oracle
PATH=/u01/app/oracle/product/12.1.0.2/db_1/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin
PWD=/home/oracle
DIAGNOSTIC_DEST=/u01/app/oracle
HOME=/home/oracle
LOGNAME=oracle
CLASSPATH=/u01/app/oracle/product/12.1.0.2/db_1/jlib:/u01/app/oracle/product/12.1.0.2/db_1/rdbms/jlib
ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
8)UPGRADE manualmente
>>>> NÃO REQUERIDO Atualizar a package caso necessário yum update nome_da_package, caso o instalador solicitar.
8.1)backup
8.2)copiar parâmetros do banco para novo dbs (NOVO DBS: /u01/app/oracle/product/11.2.0.4/db_1/dbs) para /u01/app/oracle/product/12.1.0.2/db_1/dbs/
8.3)criar backup do spfile (por segurança, nas duas instâncias RAC)
cd $ORACLE_HOME/dbs
/u01/app/oracle/product/11.2.0.4/db_1/dbs
[oracle@HOSTNAME:/u01/app/oracle/product/11.2.0.4/db_1/dbs] $ ls
hc_NOME_INSTANCIA_RAC_A.dat initNOME_INSTANCIA_RAC_A.ora initNOME_INSTANCIA_RAC_A.ora.bkp orapwNOME_INSTANCIA_RAC_A
cp * /u01/app/oracle/product/11.2.0.4/db_1/dbs/ /u01/app/oracle/product/12.1.0.2/db_1/dbs/ --(fazer backup antes da cópia dos arquivos do dbs no oracle 12)
----------------------------ou ---------------------------
SQL> SHOW PARAMETER SPFILE;
spfile string /u01/app/oracle/product/11.2.0.4/db_1/dbs/spfileDB11G.ora
SQL> create pfile='/tmp/spfileDB11GBKP1.ora' from spfile;
8.4)Baixar o banco (as duas instâncias rac):
SQL> shutdown immediate;
8.4.1) SOLICITAR O BACKUP DOS FILESYSTEMS APÓS BAIXAR AS INSTÂNCIAS DE RAC E GRID (NOME_INSTANCIA_A/NOME_INSTANCIA_B e GRID):
<<<<<<<<<<<<< ATENÇÃO para o BACKUP A SOLICITAR caso necessário>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
SOLICITAR O BACKUP DOS FILESYSTEMS APÓS BAIXAR OS BANCOS
************************************************************************************************************
************************************************************************************************************
OBS: como é RAC, colocar o parâmetro cluster_database to false antes do upgrade e depois mover para true
VERIFICAR O DOCUMENTO
112030_to_112043_upgrade_release_aplicacao_PSU.pdf - PÁGINA 6
link do documento caso tiver dúvida:
http://dbafurushima.com.br/112030_to_112043/112030_to_112043_upgrade_release_aplicacao_PSU.pdf
o arquivo encontra-se em
oracle@HOSTNAME:
cd /u01/app/oraInventory/ContentsXML
/u01/app/oraInventory/ContentsXML
************************************************************************************************************
************************************************************************************************************
subir o banco e salvar o pfile
8.5)configurar oratab e ORACLE_HOME -- depois, verificar se usa ORATAB na incialização
--checar o BASH_PROFILE
env | grep ORA
copiar os parâmetros do arquivo
editar com o novo ORACLE_HOME (VERIFICAR ABAIXO:)
vi .bash_profile
fazer a edição de:
ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_1
para o novo oracle home:
ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
salvar com o comando abaixo:
. .bash_profile
SINTAXE:
/u01/app/oracle/product/12.1.0.2/db_1/scripts/oraenv.sh
8.5.1) copiar arquivos $ORACLE_HOME/dbs antigo para o novo HOME (ARQUIVOS DE CONFIGURAÇÃO DO BANCO - PFILE e arquivos de senha)--
-------executar somente caso o user/grupo estiver fora do padrão conforme abaixo, conforme a documentação da oracle: --------
8.6)4.If there is a different user and group for Grid Infrastructure and Oracle Database, then run the setasmgidwrap script,
which is located in the GRID_HOME/bin directory, against the new ORACLE_HOME/bin/oracle directory with the -o option as shown in the following example:
$GRID_HOME/bin/setasmgidwrap o=ORACLE_HOME/bin/oracle
-------fim executar somente caso o user/grupo estiver fora do padrão conforme abaixo:--------
8.7)ATENÇÃO - navegar para
cd $ORACLE_HOME/rdbms/admin <<<<<<<<<<<============
8.8) Startar o banco em modo upgrade
SQL> STARTUP UPGRADE;(http://docs.oracle.com/cd/E11882_01/server.112/e23633/upgrade.htm)
8.9) gerar o upgrade.log e
SQL>SPOOL upgrade.log
8.9) EXECUTAR executar o script catupgrd.sql,que é o que efetivamente faz o upgrade do banco:
SQL>@catupgrd.sql
Obs: LEVA EM MÉDIA 40 MINUTOS A UMA HORA DEPENDENDO DA INSTÂNCIA
obs: Atenção para caso necessitar reverter a partir daqui:
If you receive any of these errors, issue the SHUTDOWN ABORT statement, revert to the original Oracle home directory, and run the Pre-Upgrade Information Tool (utlu112i.sql)
as described in "Using the Pre- Upgrade Information Tool".
8.10) Restart the instance to reinitialize the system parameters for normal operation.
obs:the database shutdown performed as part of the catupgrd.sql script
(OBS, O BANCO ESTARÁ EM SHUTDOWN DEVIDO AO SCRIPT ANTERIOR, NECESSÁRIO FAZER O STARTUP)
SQL>startup;
8.11) EXECUTAR @utlu112s.sql
SQL>@utlu121s.sql;
(15.Run utlu112s.sql, the Post-Upgrade Status Tool, which provides a summary of the upgrade at the end of the spool log)
8.12) 16.Run catuppst.sql to perform upgrade actions that do not require the database to be in UPGRADE mode
SQL>@catuppst.sql;
8.13) 17.Run utlrp.sql para recompilar os objetos stored PL/SQL and Java code.(AGUARDAR ATÉ O FIM DA RECOMPILAÇÃO) <<<<<<<<<<<============
SQL>@utlrp.sql;
8.14) Verify that all expected packages and classes are valid:
SELECT count(*) FROM dba_invalid_objects;
SELECT distinct object_name FROM dba_invalid_objects;
8.15)configurar oratab e ORACLE_HOME -- depois -- >> caso houver na inicialização, é necessário configurar os parametros e configurar com o novo ORACLE_HOME
cat/etc/oratab
8.16)19.If you are upgrading a cluster database from releases 10.2, 11.1, or 11.2, then upgrade the database configuration in Oracle Clusterware using the following command:
srvctl upgrade database -d db-unique-name -o oraclehome
usar a sintaxe abaixo para atualizar o banco para a nova versão
srvctl upgrade database -d DATABASE_UNIQUE_NAME -o /u01/app/oracle/product/12.1.0.2/db_1
exemplo: o database_unique_name é orcl, então:
srvctl upgrade database -d orcl -o /u01/app/oracle/product/12.1.0.2/db_1
Para identificar o nome do database_unique_name, usar o comando abaixo:
srvctl config database -d
EXEMPLO DE SAÍDA:
HOSTNAME[oracle] ~ $ srvctl config database
orcl
HOSTNAME[oracle] ~ $
8.17 - VOLTAR O PARÂMETRO cluster_database para false
*******************************************************
PÓS UPGRADE:
*******************************************************
9) POST-UPGRADE TASKS
9.1)To show the current state of the dictionary, execute a SQL query similar to the following example:
SQL>
spool /tmp/regInvalid.out
set echo on
-- query registry
set lines 80 pages 100
select substr(comp_id,1,15) comp_id,substr(comp_name,1,30)
comp_name,substr(version,1,10) version,status
from dba_registry order by modified;
To query invalid objects, execute a SQL query similar to:
SQL> select substr(owner,1,12) owner,substr(object_name,1,30) object,substr(object_type,1,30) type, status
from dba_objects where status <> 'VALID'order by owner, type;
SQL> spool off
SQL> set echo off
---------compilando o objeto inválido (exemplo, apareceu o WMSYS.LTADM) :
alter package WMSYS.LTADM compile; (checar o owner do objeto inválido)
9.2) Atualizar o catálogo do rman
rman target /
UPGRADE CATALOG;
9.3) Create Password File with ORAPWD (If the REMOTE_LOGIN_PASSWORDFILE initialization parameter is set to either exclusive or shared, create a password file with ORAPWD.)
navegar no $ORACLE_HOME/dbs e fazer um backup do ORAPWD E criar outro através do comando
UNIX syntax:
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=the_secret_password
UNIX exemplo: (checar o home do DBS), não precisa usar o parâmetro password, então:
orapwd file=/u01/app/oracle/product/11.2.0/db_1/dbs/Nome_arquivo_passwd
password=SENHA_DO_SYS
SQL> show parameter REMOTE_LOGIN_PASSWORDFILE;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE
SQL>
Users NO SERVIDOR com perfil de dba:
SQL> select *from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS TRUE TRUE FALSE
USER1 TRUE FALSE FALSE
USERN TRUE FALSE FALSE
.........
SQL>
--------quando acabar a migração dos dois bancos, verificar o oratab
8.15)configurar oratab e ORACLE_HOME -- depois -- >> verificar se usa oratab - copiar os parametros e configurar com o novo ORACLE_HOME
cat/etc/oratab
Conteúdo do oratab:
HOSTNAME[root] ~ # cat /etc/oratab
#Backup file is /u01/app/oracle/product/11.2.0/db_2/srvm/admin/oratab.bak.HOSTNAME line added by Agent
#
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
+ASM1:/u01/app/grid/product/11.2.0.4/grid_infra_1:N # line added by Agent
*:/u01/app/oracle/product/11.1.0/agent_1/agent11g:N
DATABASE_UNIQUE_NAME:/u01/app/oracle/product/11.2.0/db_2:N # line added by Agent
HOSTNAME[root] ~ #
9.4) Upgrade Oracle Text caso necessário (VERIFICAR DOCUMENTAÇÃO DA ORACLE)
*****************************************************************
--PROBLEMAS PREVISTOS:
*****************************************************************
listener - caso precisar editar (configuração atual):
ou copiar o tnsnames.ora para o novo oracle_home
o novo estará em:
/u01/app/oracle/product/12.1.0.2/db_1/network/admin
depois que configurar, opcional fazer o reload do listener
lsnrctl reload listener
cd $ORACLE_HOME/network/admin
LISTENER_ORCL_O =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = NOME_INSTANCIA_B.DOMAIN.com.br)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
SID_LIST_LISTENER_ORCL_O=
(SID_LIST=
(SID_DESC=
(SID_NAME=NOME_INSTANCIA_RAC_A)
(GLOBAL_DBNAME=DATABASE_UNIQUE_NAME.DOMAIN.com.br)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_2)
)
)
[oracle@HOSTNAME:/u01/app/oracle/product/11.2.0/db_2/network/admin] $
Bem, é isso.
Lembrando que este procedimento não é oficial e posso dizer que, desculpem a dureza nas palavras: o uso é por sua conta e risco e não posso me responsabilizar por seus atos ou resultados provindas da execução do mesmo.
Reforço que quando houver dúvidas, sempre consultem na documentação oficial para ter segurança na execução de qualquer atividade.
Sempre digo que oracle não é para curiosos, mas a documentação na internet e principalmente no site do fabricante é muito abrangente e considero um mundo fantástico !!
Este procedimento eu testei e ao menos para mim deu certo, durante meu trabalho.
Caso encontrem erros, críticas e sugestões serão sembre bem vindas.
Sucesso a todos !!!
===============================================================================================
Roteiro resumido
00- Pedir backup para a equipe responsável para manter por uma semana dos arquivos do filesystem, (Caso for possível)
1 - Instalar os binários do 12c com novo oracle_home
2 - ATUALIZAR PRIMEIRO O GRID PARA 12.1.0.2.0 (verificar documentação da Oracle)
3 - atualizar banco para 12c , incluir steps para RAC (já neste procedimento)
===============================================================================================
===============================================================================================
****************************************************************************************************
1 - Instalar os binários do 12c com novo oracle_home - PRÉ UPGRADE
****************************************************************************************************
usuário ORACLE
0.0) PEGAR O STATUS DOS OBJETOS INVÁLIDOS ANTES DO UPGRADE E GUARDAR COMO EVIDÊNCIA
To show the current state of the dictionary, execute a SQL query similar to the following example:
SQL>
spool /tmp/regInvalid_pre_upgrade.out
set echo on
-- query registry
col COMP_NAME format a60
col COMP_ID format a20
set lines 100 pages 200
select substr(comp_id,1,15) comp_id,substr(comp_name,1,30)
comp_name,substr(version,1,10) version,status
from dba_registry order by modified;
To query invalid objects, execute a SQL query similar to:
SQL> select substr(owner,1,12) owner,substr(object_name,1,30) object,substr(object_type,1,30) type, status
from dba_objects where status <> 'VALID'order by owner, type;
SQL> spool off
SQL> set echo off
*******************************************************
PRÉ UPGRADE:
*******************************************************
0.0-->>>- Criar um ponto de restauração do banco antes do upgrade caso desejar:
CREATE RESTORE POINT grpt_bf_upgr GUARANTEE FLASHBACK DATABASE;
--Depois de criado o ponto de restauração, checar com a query abaixo:
SELECT * FROM V$RESTORE_POINT where name = 'GRPT_BF_UPGR';
Dropar o ponto de restauração após o upgrade com sucesso
DROP RESTORE POINT GRPT_BF_UPGR;
1)run pre-upgrade script: (4.1.2. Pre-Upgrade Information Tool) - vai salvar o arquivo de spool no arquivo upgrade_info.log no /home/oracle
cd $ORACLE_HOME/rdbms/admin/
sqlplus / as sysdba
SPOOL upgrade_info.log
@utlu121i.sql;
--REVISAR AS INFORMAÇÕES PRÉ UPGRADE PARA TOMAR AS AÇÕES NECESSÁRIAS
2) Checar as roles de conexão (Verificar se algum usuário irá precisar do "create session")
SELECT grantee FROM dba_role_privs
WHERE granted_role = 'CONNECT' and
grantee NOT IN (
'SYS', 'OUTLN', 'SYSTEM', 'CTXSYS', 'DBSNMP',
'LOGSTDBY_ADMINISTRATOR', 'ORDSYS',
'ORDPLUGINS', 'OEM_MONITOR', 'WKSYS', 'WKPROXY',
'WK_TEST', 'WKUSER', 'MDSYS', 'LBACSYS', 'DMSYS',
'WMSYS', 'EXFSYS', 'SYSMAN', 'MDDATA',
'SI_INFORMTN_SCHEMA', 'XDB', 'ODM');
3)Verificar permissões para usar: UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP, and UTL_INADDR
select distinct (privilege) from all_tab_privs;
4) Verificar se os refreshs de MVIEWS COMPLETARAM - AGUARDAR O FIM
SELECT * FROM sys.obj$ o, sys.user$ u, sys.sum$ s
WHERE o.type# = 42 AND bitand(s.mflags, 8) = 8;
5)Certificar que nenhum arquivo necessita de recuperação de mídia
SELECT * FROM v$recover_file;
6)Certificar que não há arquivos em modo backup
SELECT * FROM v$backup WHERE status != 'NOT ACTIVE';
7)efetuar um purge na Recycle Bin
PURGE dba_recyclebin;
*******************************************************
INÍCIO DO UPGRADE:
*******************************************************
fazer o upload o instalador e rodar o instalador
- Instalar os binários do ORACLE 12C no diretório criado (verificar postagem de upgrade de single instance:
/home/oracle
unzip linuxamd64_12102_database_1of2.zip
unzip linuxamd64_12102_database_2of2.zip
irá criar a pasta database, entrar nela e rodar o instalador
cd database
HOSTNAME[oracle] ~/database $ pwd
/home/oracle/database
HOSTNAME[oracle] ~/database $ ls
install response rpm runInstaller sshsetup stage welcome.html
HOSTNAME[oracle] ~/database $
Rodar o instalador dos binários do oracle database
./runInstaller
[oracle@HOSTNAME:/u01/app/oracle/orainstall/12.1.0.2/database] $ ls
install readme.html response rpm runInstaller sshsetup stage welcome.html
>>>> rodar o instalador e selecionar atualizar um banco existente- alterar o caminho do software location de 11.0.4 para 12.0.1
o novo ORACLE_HOME irá ficar como:
/u01/app/oracle/product/12.1.0.2/db_1
Exemplo da configuração do bash_profile:
NPAA1495[oracle] ~ $ env | grep ora
USER=oracle
LD_LIBRARY_PATH=/u01/app/oracle/product/12.1.0.2/db_1/lib:/lib:/usr/lib
ORACLE_BASE=/u01/app/oracle
MAIL=/var/spool/mail/oracle
PATH=/u01/app/oracle/product/12.1.0.2/db_1/bin:/usr/sbin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin
PWD=/home/oracle
DIAGNOSTIC_DEST=/u01/app/oracle
HOME=/home/oracle
LOGNAME=oracle
CLASSPATH=/u01/app/oracle/product/12.1.0.2/db_1/jlib:/u01/app/oracle/product/12.1.0.2/db_1/rdbms/jlib
ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
8)UPGRADE manualmente
>>>> NÃO REQUERIDO Atualizar a package caso necessário yum update nome_da_package, caso o instalador solicitar.
8.1)backup
8.2)copiar parâmetros do banco para novo dbs (NOVO DBS: /u01/app/oracle/product/11.2.0.4/db_1/dbs) para /u01/app/oracle/product/12.1.0.2/db_1/dbs/
8.3)criar backup do spfile (por segurança, nas duas instâncias RAC)
cd $ORACLE_HOME/dbs
/u01/app/oracle/product/11.2.0.4/db_1/dbs
[oracle@HOSTNAME:/u01/app/oracle/product/11.2.0.4/db_1/dbs] $ ls
hc_NOME_INSTANCIA_RAC_A.dat initNOME_INSTANCIA_RAC_A.ora initNOME_INSTANCIA_RAC_A.ora.bkp orapwNOME_INSTANCIA_RAC_A
cp * /u01/app/oracle/product/11.2.0.4/db_1/dbs/ /u01/app/oracle/product/12.1.0.2/db_1/dbs/ --(fazer backup antes da cópia dos arquivos do dbs no oracle 12)
----------------------------ou ---------------------------
SQL> SHOW PARAMETER SPFILE;
spfile string /u01/app/oracle/product/11.2.0.4/db_1/dbs/spfileDB11G.ora
SQL> create pfile='/tmp/spfileDB11GBKP1.ora' from spfile;
8.4)Baixar o banco (as duas instâncias rac):
SQL> shutdown immediate;
8.4.1) SOLICITAR O BACKUP DOS FILESYSTEMS APÓS BAIXAR AS INSTÂNCIAS DE RAC E GRID (NOME_INSTANCIA_A/NOME_INSTANCIA_B e GRID):
<<<<<<<<<<<<< ATENÇÃO para o BACKUP A SOLICITAR caso necessário>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
SOLICITAR O BACKUP DOS FILESYSTEMS APÓS BAIXAR OS BANCOS
************************************************************************************************************
************************************************************************************************************
OBS: como é RAC, colocar o parâmetro cluster_database to false antes do upgrade e depois mover para true
VERIFICAR O DOCUMENTO
112030_to_112043_upgrade_release_aplicacao_PSU.pdf - PÁGINA 6
link do documento caso tiver dúvida:
http://dbafurushima.com.br/112030_to_112043/112030_to_112043_upgrade_release_aplicacao_PSU.pdf
o arquivo encontra-se em
oracle@HOSTNAME:
cd /u01/app/oraInventory/ContentsXML
/u01/app/oraInventory/ContentsXML
************************************************************************************************************
************************************************************************************************************
subir o banco e salvar o pfile
8.5)configurar oratab e ORACLE_HOME -- depois, verificar se usa ORATAB na incialização
--checar o BASH_PROFILE
env | grep ORA
copiar os parâmetros do arquivo
editar com o novo ORACLE_HOME (VERIFICAR ABAIXO:)
vi .bash_profile
fazer a edição de:
ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_1
para o novo oracle home:
ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
salvar com o comando abaixo:
. .bash_profile
SINTAXE:
/u01/app/oracle/product/12.1.0.2/db_1/scripts/oraenv.sh
8.5.1) copiar arquivos $ORACLE_HOME/dbs antigo para o novo HOME (ARQUIVOS DE CONFIGURAÇÃO DO BANCO - PFILE e arquivos de senha)--
-------executar somente caso o user/grupo estiver fora do padrão conforme abaixo, conforme a documentação da oracle: --------
8.6)4.If there is a different user and group for Grid Infrastructure and Oracle Database, then run the setasmgidwrap script,
which is located in the GRID_HOME/bin directory, against the new ORACLE_HOME/bin/oracle directory with the -o option as shown in the following example:
$GRID_HOME/bin/setasmgidwrap o=ORACLE_HOME/bin/oracle
-------fim executar somente caso o user/grupo estiver fora do padrão conforme abaixo:--------
8.7)ATENÇÃO - navegar para
cd $ORACLE_HOME/rdbms/admin <<<<<<<<<<<============
8.8) Startar o banco em modo upgrade
SQL> STARTUP UPGRADE;(http://docs.oracle.com/cd/E11882_01/server.112/e23633/upgrade.htm)
8.9) gerar o upgrade.log e
SQL>SPOOL upgrade.log
8.9) EXECUTAR executar o script catupgrd.sql,que é o que efetivamente faz o upgrade do banco:
SQL>@catupgrd.sql
Obs: LEVA EM MÉDIA 40 MINUTOS A UMA HORA DEPENDENDO DA INSTÂNCIA
obs: Atenção para caso necessitar reverter a partir daqui:
If you receive any of these errors, issue the SHUTDOWN ABORT statement, revert to the original Oracle home directory, and run the Pre-Upgrade Information Tool (utlu112i.sql)
as described in "Using the Pre- Upgrade Information Tool".
8.10) Restart the instance to reinitialize the system parameters for normal operation.
obs:the database shutdown performed as part of the catupgrd.sql script
(OBS, O BANCO ESTARÁ EM SHUTDOWN DEVIDO AO SCRIPT ANTERIOR, NECESSÁRIO FAZER O STARTUP)
SQL>startup;
8.11) EXECUTAR @utlu112s.sql
SQL>@utlu121s.sql;
(15.Run utlu112s.sql, the Post-Upgrade Status Tool, which provides a summary of the upgrade at the end of the spool log)
8.12) 16.Run catuppst.sql to perform upgrade actions that do not require the database to be in UPGRADE mode
SQL>@catuppst.sql;
8.13) 17.Run utlrp.sql para recompilar os objetos stored PL/SQL and Java code.(AGUARDAR ATÉ O FIM DA RECOMPILAÇÃO) <<<<<<<<<<<============
SQL>@utlrp.sql;
8.14) Verify that all expected packages and classes are valid:
SELECT count(*) FROM dba_invalid_objects;
SELECT distinct object_name FROM dba_invalid_objects;
8.15)configurar oratab e ORACLE_HOME -- depois -- >> caso houver na inicialização, é necessário configurar os parametros e configurar com o novo ORACLE_HOME
cat/etc/oratab
8.16)19.If you are upgrading a cluster database from releases 10.2, 11.1, or 11.2, then upgrade the database configuration in Oracle Clusterware using the following command:
srvctl upgrade database -d db-unique-name -o oraclehome
usar a sintaxe abaixo para atualizar o banco para a nova versão
srvctl upgrade database -d DATABASE_UNIQUE_NAME -o /u01/app/oracle/product/12.1.0.2/db_1
exemplo: o database_unique_name é orcl, então:
srvctl upgrade database -d orcl -o /u01/app/oracle/product/12.1.0.2/db_1
Para identificar o nome do database_unique_name, usar o comando abaixo:
srvctl config database -d
EXEMPLO DE SAÍDA:
HOSTNAME[oracle] ~ $ srvctl config database
orcl
HOSTNAME[oracle] ~ $
8.17 - VOLTAR O PARÂMETRO cluster_database para false
*******************************************************
PÓS UPGRADE:
*******************************************************
9) POST-UPGRADE TASKS
9.1)To show the current state of the dictionary, execute a SQL query similar to the following example:
SQL>
spool /tmp/regInvalid.out
set echo on
-- query registry
set lines 80 pages 100
select substr(comp_id,1,15) comp_id,substr(comp_name,1,30)
comp_name,substr(version,1,10) version,status
from dba_registry order by modified;
To query invalid objects, execute a SQL query similar to:
SQL> select substr(owner,1,12) owner,substr(object_name,1,30) object,substr(object_type,1,30) type, status
from dba_objects where status <> 'VALID'order by owner, type;
SQL> spool off
SQL> set echo off
---------compilando o objeto inválido (exemplo, apareceu o WMSYS.LTADM) :
alter package WMSYS.LTADM compile; (checar o owner do objeto inválido)
9.2) Atualizar o catálogo do rman
rman target /
UPGRADE CATALOG;
9.3) Create Password File with ORAPWD (If the REMOTE_LOGIN_PASSWORDFILE initialization parameter is set to either exclusive or shared, create a password file with ORAPWD.)
navegar no $ORACLE_HOME/dbs e fazer um backup do ORAPWD E criar outro através do comando
UNIX syntax:
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=the_secret_password
UNIX exemplo: (checar o home do DBS), não precisa usar o parâmetro password, então:
orapwd file=/u01/app/oracle/product/11.2.0/db_1/dbs/Nome_arquivo_passwd
password=SENHA_DO_SYS
SQL> show parameter REMOTE_LOGIN_PASSWORDFILE;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE
SQL>
Users NO SERVIDOR com perfil de dba:
SQL> select *from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS TRUE TRUE FALSE
USER1 TRUE FALSE FALSE
USERN TRUE FALSE FALSE
.........
SQL>
--------quando acabar a migração dos dois bancos, verificar o oratab
8.15)configurar oratab e ORACLE_HOME -- depois -- >> verificar se usa oratab - copiar os parametros e configurar com o novo ORACLE_HOME
cat/etc/oratab
Conteúdo do oratab:
HOSTNAME[root] ~ # cat /etc/oratab
#Backup file is /u01/app/oracle/product/11.2.0/db_2/srvm/admin/oratab.bak.HOSTNAME line added by Agent
#
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
+ASM1:/u01/app/grid/product/11.2.0.4/grid_infra_1:N # line added by Agent
*:/u01/app/oracle/product/11.1.0/agent_1/agent11g:N
DATABASE_UNIQUE_NAME:/u01/app/oracle/product/11.2.0/db_2:N # line added by Agent
HOSTNAME[root] ~ #
9.4) Upgrade Oracle Text caso necessário (VERIFICAR DOCUMENTAÇÃO DA ORACLE)
*****************************************************************
--PROBLEMAS PREVISTOS:
*****************************************************************
listener - caso precisar editar (configuração atual):
ou copiar o tnsnames.ora para o novo oracle_home
o novo estará em:
/u01/app/oracle/product/12.1.0.2/db_1/network/admin
depois que configurar, opcional fazer o reload do listener
lsnrctl reload listener
cd $ORACLE_HOME/network/admin
LISTENER_ORCL_O =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = NOME_INSTANCIA_B.DOMAIN.com.br)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
SID_LIST_LISTENER_ORCL_O=
(SID_LIST=
(SID_DESC=
(SID_NAME=NOME_INSTANCIA_RAC_A)
(GLOBAL_DBNAME=DATABASE_UNIQUE_NAME.DOMAIN.com.br)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_2)
)
)
[oracle@HOSTNAME:/u01/app/oracle/product/11.2.0/db_2/network/admin] $
Bem, é isso.
Lembrando que este procedimento não é oficial e posso dizer que, desculpem a dureza nas palavras: o uso é por sua conta e risco e não posso me responsabilizar por seus atos ou resultados provindas da execução do mesmo.
Reforço que quando houver dúvidas, sempre consultem na documentação oficial para ter segurança na execução de qualquer atividade.
Sempre digo que oracle não é para curiosos, mas a documentação na internet e principalmente no site do fabricante é muito abrangente e considero um mundo fantástico !!
Este procedimento eu testei e ao menos para mim deu certo, durante meu trabalho.
Caso encontrem erros, críticas e sugestões serão sembre bem vindas.
Sucesso a todos !!!
Assinar:
Postagens (Atom)
-
Verificar Jobs do Oracle desc DBA_SCHEDULER_JOB_RUN_DETAILS ; SQL> desc DBA_SCHEDULER_JOB_RUN_DETAILS ; Name ...
-
Analisando SQL traces em Bancos de Dados Oracle - Parte 1 Fonte: http://www.fabioprado.net/2013/09/analisando-traces-em-bancos-de-da...
-
Documentação 11G GPO http://www.ora-code.com/ http://tahiti.oracle.com/ runningoracle.com Psoug.org Oracle Base http://ss64.co...