Краткое изложение распространенных примеров операций Oracle

Краткое изложение распространенных примеров операций Oracle

Посмотреть размер табличного пространства

SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size 
FROM dba_tablespaces t, dba_data_files d 
WHERE t.tablespace_name = d.tablespace_name 
GROUP BY t.tablespace_name;

Просмотр имени и размера физических файлов табличного пространства.

SELECT tablespace_name, 
file_id, 
file_name, 
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files 
ORDER BY tablespace_name;

Просмотр имени и размера сегмента отката

SELECT segment_name,
       tablespace_name,
       r.status,
       (initial_extent / 1024) initialextent,
       (next_extent / 1024) nextextent,
       max_extents,
       v.curext curextent
  FROM dba_rollback_segs r, v$rollstat v
 WHERE r.segment_id = v.usn(+)
 ORDER BY segment_name;

Посмотреть управляющий файл

SELECT NAME FROM v$controlfile; 

Просмотр файлов журналов

SELECT MEMBER FROM v$logfile; 

Просмотр использования табличного пространства

SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name 
FROM dba_free_space 
GROUP BY tablespace_name;
 
SELECT a.tablespace_name, 
a.bytes total, 
b.bytes used, 
c.bytes free, 
(b.bytes * 100) / a.bytes "% USED ", 
(c.bytes * 100) / a.bytes "% FREE " 
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c 
WHERE a.tablespace_name = b.tablespace_name 
AND a.tablespace_name = c.tablespace_name; 



select a.tablespace_name,
       a.total_G,
       b.fee_G,
       (a.total_G - b.fee_G) / a.total_G as "used%"
  from (select a.tablespace_name,
               sum(a.bytes) / 1024 / 1024 / 1024 As total_G
          from dba_data_files a
         group by a.tablespace_name) a
  left join (select a.tablespace_name,
                    sum(a.bytes) / 1024 / 1024 / 1024 as fee_G
               from dba_free_space a
              group by a.tablespace_name) b
    on a.tablespace_name = b.tablespace_name
 order by 4 desc;


select a.tablespace_name,
       a.bytes / 1024 / 1024 "Sum MB",
       (a.bytes - b.bytes) / 1024 / 1024 "used MB",
       b.bytes / 1024 / 1024 "free MB",   
       round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "percent_used %"
  from (select tablespace_name, sum(bytes) bytes
          from dba_data_files
         group by tablespace_name) a,      
       (select tablespace_name, sum(bytes) bytes, max(bytes) largest
          from dba_free_space
         group by tablespace_name) b
 where a.tablespace_name = b.tablespace_name
 order by ((a.bytes - b.bytes) / a.bytes) desc;

Просмотр объектов базы данных

SELECT owner, object_type, status, COUNT(*) count#
  FROM all_objects
 GROUP BY owner, object_type, status;

Посмотреть версию базы данных

SELECT version
  FROM product_component_version
 WHERE substr(product, 1, 6) = 'Oracle';

Просмотр даты создания и метода архивации базы данных

SELECT created, log_mode, log_mode FROM v$database; 

Использование временного табличного пространства

Select f.tablespace_name,
       sum(f.bytes_free + f.bytes_used) / 1024 / 1024 / 1024 "total GB",
       sum((f.bytes_free + f.bytes_used) - nvl(p.bytes_used, 0)) / 1024 / 1024 / 1024 "Free GB",
       sum(nvl(p.bytes_used, 0)) / 1024 / 1024 / 1024 "Used GB"
  from sys.v_$temp_space_header f,
       dba_temp_files           d,
       sys.v_$temp_extent_pool  p
 where f.tablespace_name(+) = d.tablespace_name
   and f.file_id(+) = d.file_id
   and p.file_id(+) = d.file_id
 group by f.tablespace_name;

Специально для использования временного табличного пространства определенного SID.

select b.tablespace,
       b.segfile#,
       b.segblk#,
       b.blocks,
       b.blocks * 32 / 1024 / 1024,
       a.sid,
       a.serial#,
       a.username,
       a.osuser,
       a.status,
       c.sql_text,
       b.contents
  from v$session a, v$sort_usage b, v$sql c
 where a.saddr = b.session_addr
   and a.sql_address = c.address(+)
 order by b.blocks desc;

Просмотр имени табличного пространства, идентификатора, места хранения файлов, начального размера

select tablespace_name, file_id, file_name, bytes/1024/1024/1024
  from dba_data_files
 order by file_id;

Изменить размер табличного пространства

alter database datafile '/u01/app/oracle/oradata/prod/useSpacer.dbf' resize 1000M;

Изменить размер табличного пространства: добавить файлы данных

alter tablespace USERSPACE add datafile '/u01/app/oracle/oradata/prod/USERSPACE2.dbf' size 500M  autoextend on next 10M maxsize 20G;;

Создать пользователя

create user smart identified by smart default tablespace MAODOUDATA temporary tablespace MAODOUTEMP;

Создать файл данных

create tablespace MAODOUDATA datafile '/u01/app/oracle/oradata/prod/data_01.dbf'
size 32g autoextend on next 10M maxsize 2048m;

Создать временное табличное пространство

create temporary tablespace MAODOUTEMP tempfile '/u01/app/oracle/oradata/prod/temp_01.dbf' 
size 20m 
autoextend on next 10M maxsize 50m;

Создать индексное табличное пространство

create tablespace MAODOUINDEX  datafile '/u01/app/oracle/oradata/prod/index.dbf' 
size 20g
autoextend on next 10M maxsize  1024m;

Изменить табличное пространство пользовательских данных

select 'alter table  '|| table_name ||'  move tablespace MAODOUDATA;'  from user_tables;

Изменить табличное пространство пользовательского индекса

select 'alter index '|| index_name ||' rebuild tablespace tablespacename;' from user_indexes;

Удалить пользовательские и каскадные связи также удаляются.

drop user 用户名称 cascade;

Удалить табличное пространство

drop tablespace USERSPACE;

Удалите табличное пространство — и соответствующие файлы табличного пространства также будут удалены.

drop tablespace 表空间名称 including contents and datafiles cascade constraint;

Просмотр текущего каталога журнала архива

SQL> show parameter recovery

Изменить каталог журнала архива

SQL> alter system set db_recovery_file_dest='/u01/app/oracle/archivelog' scope=spfile;

Изменить размер каталога журнала архива

SQL> alter system set db_recovery_file_dest_size=4096m scope=spfile;

Проверьте статус образца Oracle

select instance_name,host_name,startup_time,status,database_status from v$instance;

Проверьте статус онлайн-журнала Oracle

select group#,status,type,member from v$logfile; 

Проверьте состояние табличного пространства Oracle

select tablespace_name,status from dba_tablespaces; 

Проверьте состояние всех файлов данных Oracle

select name,status from v$datafile;

Разблокируйте права пользователя-администратора

alter user scott account unlock;

Блокировка прав пользователя-администратора

alter user scott account lock;

монитор

Начать мониторинг
SQL>lsnrctl начать
остановить мониторинг
SQL>lsnrctl остановить
Просмотр состояния мониторинга
SQL>lsnrctl status

Запустить базу данных

SQL>запуск,
остановка базы данных
SQL>завершение немедленного
удаленного подключения к базе данных
SQL>sqlplus /nolog
SQL>conn system/oracle@ip:port/sid, поскольку
запуск sysdba напрямую
запускает сценарий базы данных
dbstart

Изменить количество подключений к базе данных

Количество подключений
Изменить количество подключений
изменить систему установить процессы = 1000 область = spfile;
немедленное завершение работы;
запуск;
просмотреть текущее количество подключений пользователя
. выбрать count(*) из sys.v_$session;

Запустите экземпляр Oracle, используя pfile

Использование примера pfile oracle
lsnrctl start
sqlplus /nolog
conn user@instance в качестве пароля sysdba
создайте spfile из pfile='/Oracle/instance/pfile/init.ora.789456123';
запуск

Просмотр операторов таблицы блокировки Oracle

select object_name, machine, s.sid, s.serial#

  from v$locked_object l, dba_objects o, v$session s

where l.object_id  =  o.object_id

  and l.session_id = s.sid;

Метод таблицы разблокировки Oracle

 ALTER system kill session 'sid, serial#';
 ALTER system kill session 'sid, serial#' immediate;
 如:ALTER system kill session '324, 23212';
 or
 	ALTER system kill session '324, 23212' immediate;

Guess you like

Origin blog.csdn.net/weixin_38717886/article/details/115271759