Oracle- Sga monitorando a memória livre

Para verificar o tamanho da Sga(System Global Area) disponível é muito simples basta acessar o sql plus e rodar as queries abaixo:


sqlplus> select * from v$sgastat where name = 'free memory';


POOL         NAME                            BYTES
------------ -------------------------- ----------
shared pool  free memory                 243958752
large pool   free memory                 244376096
java pool    free memory                  16777216


Verificando o tamanho em MB.

select pool, name, bytes, round(bytes/(1024*1024)) from v$sgastat where name = 'free memory'


POOL         NAME                            BYTES ROUND(BYTES/(1024*1024))
------------ -------------------------- ---------- ------------------------
shared pool  free memory                   243888232                      233
large pool   free memory                     244376096                      233
java pool    free memory                     16777216                       16

Error oracle- Corrigindo ORA-00845: MEMORY_TARGET not supported on this system

Esse erro acontece ao alteramormos o memory target no linux acima de 1G
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system


Para resolver esse problema basta seguir os passos abaixo:

Acesso o sqlplus e conecte-se ao banco:

sqlplus> conn sys / as sysdba

Execute os comando abaixo:

sqlplus> alter system set memory_target=2000m scope=spfile;
sqlplus>alter system set memory_MAX_target=2500M scope=spfile;
sqlplus>ALTER SYSTEM SET pga_aggregate_target=0 SCOPE=SPFILE;
sqlplus>ALTER SYSTEM SET sga_target=0 SCOPE=SPFILE;

sqlplus>shutdown immediate
sqlplus>startup

Agora altere novamente o tamanho da  pga_aggregate_target e da sga_target novamente para os parametros anteriores:
alter system set sga_max_size=1500M scope=spfile;
ALTER SYSTEM SET pga_aggregate_target=356m scope=spfile;

Faça um shutdown e um startup novamente no banco para que carregue novamente as configurações e resolva o problema.

sqlplus>shutdown immediate
sqlplus>startup



Error oracle- Corrigindo ORA-00384 insufficient memory to grow cache troubleshooting 11g

Esse erro acontece ao tentarmos alterar o tamanho do db_cache_size de um banco oracle e salvar as configurações no spfile.

Ex:


SQL>alter system set db_cache_size=50M scope=spfile
*
ERROR at line 1:
ORA-32017: failure in updating SPFILE
ORA-00384: Insufficient memory to grow cache

Vamos Verificar agora qual o tamanho do nosso parametro db_cache_size:

 SQL> show parameter db_cache_size
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_cache_size                        big integer 172M

Esse pametro provavelmente foi criado no seu arquivo init.ora no qual foi criado o seu spfile.

Resolvendo:

Altere o seu arquivo ini.ora adicionando o tamanho do db_cache_size desejado no nosso exemplo 512M termo em negrito abaixo.


#Arquivo init.ora

db_name='teste'
memory_target=2200M
memory_max_target=2500M
sga_max_size=1500M
shared_pool_size=512M
large_pool_size=256M
pga_aggregate_target=356M
processes = 150
audit_file_dest='/u01/app/oracle/admin/prodnew/adump'
audit_trail ='db'
db_block_size=8192
db_cache_size=512M
db_domain=''
db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=prodnew)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'

Salve o arquivo.

Acesse o sqlplus de um shutdown no banco e depois um start usando o arquivo pfile alterado:

 SQL>conn sys / as sysdba

Fazendo o shutdown no banco:

 SQL> shutdown immediate;

Iniciando o banco através do nosso arquivo ini.ora


SQL>startup pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/init.ora'

Verificando agora o dbcahe:


 SQL> show parameter db_cache_size
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_cache_size                        big integer 512M


Finalizando agora iremos criar novamente o arquivo spfile para que essa configuração continue nas próximas inicializações:

 SQL>create spfile from pfile;


Esse pode ser utilizado em outros parâmetros de inicialização do oracle.


ORA-28000 resolvendo o account locked ou locked time

Isso acontece porque o usuário está bloqueado pelo systema, seja pelo numero de logins inválidos ou por qualquer outro motivo da politica, para resolver siga os passo abaixo:
Abra o sqlplus e depois conect no banco:

sqlplus /nolog

sqlplus> conn sys@teste as sysdba

FAça um select e verifique o status da conta alterando meu_login para o login bloqueado.


sqlplus> select username, account_status, default_tablespace,
temporary_tablespace, profile
from dba_users
where username like upper('meu_login')
order by username;]

Agora altere o status da conta para unlocked para resolver o problema.

sqlplus> alter user meu_login account unlocked;

Caso o mesmo após altera e login volte a ser bloqueado novamente esse login deve estar errando a senha acima do permitido, altere a senha do usuário ou verifique na aplicação se a senha está correta.

oracle error- ORA-00335: online log string: No log with this number, log does not exist


ORA-00335:

online log string: No log with this number, log does not exist
Cause:Reporting filename for details of another error
Action:See associated error messages

Error oracle- Corrigindo ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

Esse erro acontece ao tentar conectar no banco com o usuário sys.

Isto acontece porque o parametro  O7_DICTIONARY_ACCESSIBILITY está setado como falso FALSE e para resolve-lo basta seta-lo pra TRUE.

Vejamos abaixo um exemplo:

SQL> conn sys/a
ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
Warning: You are no longer connected to ORACLE.

2)Conectando como sysdba e alterando o parametro O7_DICTIONARY_ACCESSIBILITY
SQL> conn / as sysdba
Connected.

Verificando a situação do parametro:

SQL> SHOW PARAMETER O7_DICTIONARY_ACCESSIBILITY
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
O7_DICTIONARY_ACCESSIBILITY boolean FALSE

Alterando o parametro no spfile:

SQL> ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=TRUE scope=spfile;
System altered.

Feito isso é necessário desativar e reativar a instancia para que as configurações sejam ativadas:

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 2019288 bytes
Variable Size 109051944 bytes
Database Buffers 50331648 bytes
Redo Buffers 6369280 bytes
Database mounted.
Database opened.

Agora tente novamente a conexão com o usuario sys.

SQL> conn sys/a
Connected.

SQL> show parameter O7_DICTIONARY_ACCESSIBILITY
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
O7_DICTIONARY_ACCESSIBILITY boolean TRUE

oracle error- ORA-00334: archived log: 'string'


ORA-00334:

archived log: 'string'
Cause:Reporting filename for details of another error
Action:See associated error messages

oracle error- ORA-00333: redo log read error block string count string


ORA-00333:

redo log read error block string count string
Cause:An IO error occurred while reading the log described in the accompanying error.
Action:Restore accessibility to file, or get another copy of the file.

ORA-01031: insufficient privileges- Login remoto como Sysdba Oracle database server

Resolvendo o insuficiente priveleges, basta criar o arquivo de senha do banco com o comando orapwd:

Veja um exemplo:

Criando o arquivo de password:


No linux/unix através do shell:

oracle@databsever:~ orapwd file=$ORACLE_HOME/dbs/orapw password=senhadosysdba


No windows via (Command Prompt) orapwd file=%ORACLE_HOME%\database\PWDsid_name.ora password=password_for_sys

Step 2. coloque a linha abaixo initservice_name.ora in UNIX, or init.ora in Windows:


REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

Step 3. Restart a instancia

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 2019288 bytes
Variable Size 109051944 bytes
Database Buffers 50331648 bytes
Redo Buffers 6369280 bytes
Database mounted.
Database opened.

Após isso conect no banco.


connect sys/senha_do_sys@nome_da_instancia as sysdba

Error oracle- Corrigindo ORA-32001: write to SPFILE requested but no SPFILE specified at startup

Esse erro acontece quando o spfile não está sendo usado no banco vejamos um exemplo abaixo:

sql> ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=TRUE scope=spfile;
ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=TRUE scope=spfile;
*
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE is in use

Para resolver esse problema primeiro vamos verificar se o spfile esta ou não sendo usado:


sqlplus /nolog

sql>Conn sys / as sysdba


sql>show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string

No exemplo acima vemos que o value está em branco  o que significa que não está sendo usado.

Criando o spfile:


sql> create spfile from pfile;

Após isso iremos desativar e ativar novamente a instancia para que a mesma carregue as informações do spfile:


sql> shutdown immediate

sql> startup

agora iremos ver se o spfile foi carregado:


sql> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/product/11.2.0
                                                 /db_1/dbs/spfileprodnew.ora



Agora basta rodar o comando novamente para que a opção seja alterada:

sql> ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=TRUE scope=spfile;
System altered.

oracle error- ORA-00332: archived log is too small - may be incompletely archived


ORA-00332:

archived log is too small - may be incompletely archived
Cause:The log is smaller than the space allocated in it. May be the result of a shutdown abort while it was being written by the archiver.
Action:Get a complete version of this log and use it for recovery. There should either be an online version of it or a copy that was successfully archived.

oracle error- ORA-00331: log version string incompatible with ORACLE version string


ORA-00331:

log version string incompatible with ORACLE version string
Cause:The log was written by incompatible version of Oracle.
Action:Recover the database with the compatible software, shut it down cleanly, then restart with current software.

oracle error- ORA-00330: archived log ends at change string, need change string


ORA-00330:

archived log ends at change string, need change string
Cause:The archived log is not the correct log. A later log is needed.
Action:Restore the correct log file.

Wan protocols- Frame Relay

frame relay: é uma tecnica de comutação de pacotes que opera nas amadas fisica e de enlace do modelo osi.

é uma maneira rapida e barata usada na comunicação de dados.

Divide as informações em quadros e enviando de um a multiplos destinos de um muitos endpoints, trabalha de maneira confiável com um serviço orientado a conexãono camada 2 do modelo OSI.

O frame relay hoje está em desuso sendo substituido por outras técnicas como adsl ou cable modem.

oracle error- ORA-00328: archived log ends at change string, need later change string


ORA-00328:

archived log ends at change string, need later change string
Cause:The archived log supplied for recovery was generated before the log that is needed. Can not use the log for applying redo.
Action:Find correct archived log.

oracle error- ORA-00329: archived log begins at change string, need change string


ORA-00329:

archived log begins at change string, need change string
Cause:The archived log is not the correct log. An earlier log is needed.
Action:Restore the correct log file.

oracle error- ORA-00326: log begins at change string, need earlier change string


ORA-00326:

log begins at change string, need earlier change string
Cause:The archived log supplied for recovery was generated after the log that is needed. Can not yet use the log for applying redo.
Action:Find correct archived log.

oracle error- ORA-00327: log string of thread string, physical size string less than needed string


ORA-00327:

log string of thread string, physical size string less than needed string
Cause:A log file has shrunk in size. This is likely to have been caused by operator or operating system error.
Action:Restore the log file from backup. If backup is not available, drop this log and re-create. If the database was shut down cleanly, no further action should be required; otherwise incomplete recovery may be required.