ORA-00845: 11G linux MEMORY_TARGET not supported on this system

Acontece que ao logar com o usuário sys no sql plus aparece a mensagem: Connected to an idle instance.

oracle@srv-db-01:/u01/app/oracle/product/11.2.0/db_1/dbs$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Fri Sep 23 11:23:42 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn sys@oracle as sysdba
Enter password:

SQL> conn sys / as sysdba
Enter password:
Connected to an idle instance.





Subindo banco

SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system



Para resolver o problema editei o arquivo init.ora da instância orcl:

nano oracle@srv-db-01:/u01/app/oracle/product/11.2.0/db_1/dbs/init.ora



Agora alteraremos  o memory_target de 1GB para 500M

memory_target=500M



Logue novamente no sqlplus, vamos iniciar o banco com o arquivo init.ora que alteramos:

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

ORACLE instance started.

Total System Global Area 523108352 bytes
Fixed Size 1337632 bytes
Variable Size 314574560 bytes
Database Buffers 201326592 bytes
Redo Buffers 5869568 bytes
Database mounted.
Database opened.



Finalizando Criaremos agora o spfile apartir do arquivo  init.ora, que modificamos o memory_target, para que na proxima inicializacao ele ja carregue com os novos parametros sem precisar setar o arquivo pfile:

SQL> create spfile from pfile=’/u01/app/oracle/product/11.2.0/db_1/dbs/init.ora’

File created.

Veja mais dicas sobre oracle aqui.

Oracle distinct sql- Distinct eliminando linhas duplicadas dos resultados

O sql possui a palavra chave distinct que pode ser muito útil na otimização das consultas sql, abaixo mostraremos um exemplo de uso:

sqlplus> select nrdepto from empregados;

nrdepto
______
         10
         20
         30
         10
         40
         40
Na consulta acima ele mostra o departamentos repetido por existir departamento com mais de um funcionario no banco e usando a palavra chave distinct iremos eliminar as linhas duplicadas do resultado.


sqlplus> select  distinct nrdepto from empregados;

nrdepto
______
         10
         20
         30
         40
       


Veja mais dicas sobre oracle aqui.
 

ORACLE_HOME: Setando a variavel ORACLE_HOME NO LINUX:

Nessa dica rápida irei mostra como setar a variável ambiente do oracle no linux:

oracle@databasesrv:# ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

Exportando a variável para que ela ficque global e todos os usuários da maquina tenham acesso:

oracle@databasesrv:# export ORACLE_HOME

Verificando a variável:

oracle@databasesrv:# echo $ORACLE_HOME


Veja mais dicas sobre oracle aqui.