conn sys/oracle as sysdba ou sqlplus sys/oracle as sysdba
Localizar o spfile
SHOW PARAMETER spfile;no prompt do SO
vi /opt/oracle/product/12cR1/db/dbs/spfileajmsolutions.ora
Diferenciar o tipo de escopo com o SPFILE - SPFILE fica ativo somente em memória
SHOW PARAMETER db_cache_size;ALTER SYSTEM SET db_cache_size=32m SCOPE=memory;
SHOW PARAMETER db_cache_size;
SHUTDOWN IMMEDIATE;
STARTUP;
SHOW PARAMETER db_cache_size
Diferenciar o tipo de escopo com o SPFILE - SPFILE fica ativo a partir do próximo startup
ALTER SYSTEM SET db_cache_size=32m SCOPE=spile;
SHOW PARAMETER db_cache_size;
SHUDOWN IMMEDIATE;
STARTUP;
SHOW PARAMETER db_cache_size;
Diferenciar o tipo de escopo com o SPFILE - BOTH (fica ativo na memória e a partir do proximo startup
ALTER SYSTEM SET db_cache_size=32m SCOPE=both;
SHOW PARAMETER db_cache_size;
SHUTDOWN IMMEDIATE;
STARTUP;
SHOW PARAMETER db_cache_size;
Alguns parâmetros necessitam de um SHUTDOWN
ALTER SYSTEM SET log_archive_start=true; /*(erro)*/
ALTER SYSTEM SET log_archive_start=true SCOPE=spfile;
ALTER SYSTEM SET sag_max_size=256m SCOPE=spfile;
SHUTDOWN IMMEDIATE;
STARTUP;
SHOW PARAMETER SGA_MAX_SIZE;
SHOW PARAMETER log_archive_start;
Verificar estados do Banco / Mudar os estados do banco
SHUTDOWN IMMEDIATE;STARTUP NOMOUNT;
SELECT instance_name, host_name
FROM v$instance;
SELECT name, open_mode
FROM v$database; /*(erro)*/
STARTUP MOUNT; /*(erro)*/
ALTER DATABASE MOUNT;
SELECT name, open_mode
FROM v$database;
SELECT owner, table_name
FROM dba_tables
WHERE owner = 'AJMSOLUTIONS'; /*(erro)*/
ALTER DATABASE OPEN;
SELECT owner, table_name
FROM dba_tables
WHERE owner = 'AJMSOLUTIONS';
ALTER DATABASE MOUNT; /*(erro)*/
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
Subir o Banco como somente leitura
ALTER DATABASE OPEN READ ONLY;
CREATE TABLE teste (id number); /*(erro)/
SHUTDOWN IMMEDIATE;
STARTUP;
CREATE TABLE teste (id number);
Subir Banco em modo restrito
conn sys/oracle as sysdba;SHUTDOWN IMMEDIATE;
STARTUP RESTRICT;
abrir uma sessão com ajmsolutions /*(erro)*/
sqlplus ajmsolutions/ajmsolutions
SHUTDOWN IMMEDIATE;
STARTUP;
abrir 2 sessões uma com o sys e outra com o ajmsolutions
na sessão do sys
Matar sessão dos usuários
na sessão do sysSELECT sid, serial#, username
FROM v$session
WHERE username IS NOT NULL;
ALTER SYSTEM KILL SESSION 'sid,serial#';
ir na sessão do ajmsolutions e tentar fazer alguma coisa
Para testar os vários tipos de shutdown
Abrir duas sessões uma com o SYS e outra como AJMSOLUTIONSna sessão do SYS
SHUTDOWN;
---------------------------------------
na sessão do AJMSOLUTIONS
CREATE TABLE xpto (ID NUMBER);
INSERT INTO xpto (1);
COMMIT;
Observar o que acontece na sessão do SYS.
exit
---------------------------------------
na sessão SYS
STARTUP;
--------------------------------------
Abrir a sessão do AJMSOLUTIONS
--------------------------------------
na sessão do SYS
SHUTDOWN TRANSACTIONAL
---------------------------------------
na sessão do AJMSOLUTIONS
INSERT INTO XPTO VALUES (1);
COMMIT;
---------------------------------------
na sessão do SYS
Observar o que acontece na sessão do SYS
STARTUP;
SHUTDOWN ABORT;
STARTUP FORCE;
Arquivo de alerta / rastreamento
SHOW PARAMETER background_dump_dest /* (arquivo de alerta/arquivo de rastreamento - processo de segundo plano) */No Sistema Operacional
#> vi /opt/oracle/diag/rdbms/ajmsolutions/AJMSOLUTIONS/trace/alert_AJMSOLUTIONS.log
#> cd /opt/oracle/diag/rdbms/ajmsolutions/AJMSOLUTIONS/trace
#> ls -a
Listar todas as views de desempenho dinâmico
SELECT name
FROM v$fixed_table
WHERE name LIKE 'V$%'
ORDER BY 1;
Listar todas as views de dicionário de dados DBA_
SELECT object_nameFROM dba_objects
WHERE object_name LIKE 'DBA_%'
ORDER BY 1;
Listar todas views de dicionários de dados ALL_
SELECT object_nameFROM dba_objects
WHERE object_name LIKE 'ALL_%'
ORDER BY 1;
Listar todas as views de dicionário de dados USER_
SELECT object_name
FROM dba_objects
WHERE object_name LIKE 'USER_%'
ORDER BY 1;