Showing posts with label corrigindo. Show all posts
Showing posts with label corrigindo. Show all posts

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

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.