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
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)
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..
-- 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

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 !!!




restore total de banco