Chủ Nhật, 29 tháng 11, 2020

Quản lý datafile trong Oracle Database

1.CHECK

-- Kiểm tra trạng thái:

--187 11167039014814 1/20/2014 10:57:50 AM 595 187 RECOVER READ WRITE 13503656762637 5/5/2022 2:53:37 PM 13391571876700 12/16/2021 9:07:13 PM 13408963390301 13408988992234 1/4/2022 3:15:15 PM 19373490176 2364928 10737418240 8192 0 8192 NONE 0 --> Mặc dù read write nhưng là RECOVER nên phải recover datafile này

select * from v$datafile where file#=187;

-- 187 DATA AVAILABLE 187 RECOVER -> Mặc dù AVAILABLE nhưng là RECOVER nên phải recover datafile này

select * from dba_data_files where file_id=187;

select * from v$datafile where status='RECOVER';

-- Dung luợng DB tính mỗi datafile (ngoài ra còn redo log, archived log, backup, flashback log,...)
select round(sum(bytes)/1024/1024/1024,2) "GB" from dba_data_files;

Sửa bài viết

Quản lý Archied Redo Log Files trong Oracle Database

Note: Khi enable chế độ archive log thì redo log sẽ không bị ghi đè khi đầy, khi đó sẽ đẩy vào archive redo logs (hay còn gọi archived logs)
Sửa bài viết

Quản lý Archied Redo Log Files trong Oracle Database

Note: Khi enable chế độ archive log thì redo log sẽ không bị ghi đè khi đầy, khi đó sẽ đẩy vào archive redo logs (hay còn gọi archived logs)
Sửa bài viết

[VIP5] Quản lý Online Redo Log Files trong Oracle Database từ A-Z

--1. Check
set echo off
set feedback off
set linesize 120
set pagesize 35
set trim on
set trims on
set lines 120
col group# format 999
col thread# format 999
col member format a70 wrap
col status format a10
col archived format a10
col fsize format 999 heading "Size (MB)"

select l.group#, l.thread#,
f.member,
l.archived,
l.status,
(bytes/1024/1024) fsize
from
v$log l, v$logfile f
where f.group# = l.group#
order by 1,2

SELECT * FROM V$LOG
--where status  in ('INACTIVE','ACTIVE','CURRENT')
order by group#;

SELECT thread#, count(*) FROM V$LOG group by thread#;

SELECT * FROM V$LOGFILE order by group#;

SQL> COL DAY FORMAT a15;
SQL> COL HOUR FORMAT a4;
SQL> COL TOTAL FORMAT 999;

SELECT TO_CHAR(FIRST_TIME,'YYYY-MM-DD') DAY,
    TO_CHAR(FIRST_TIME,'HH24') HOUR,
    COUNT(*) TOTAL
    FROM V$LOG_HISTORY
    WHERE first_time >= sysdate - 1
    GROUP BY TO_CHAR(FIRST_TIME,'YYYY-MM-DD'),TO_CHAR(FIRST_TIME,'HH24')
    ORDER BY TO_CHAR(FIRST_TIME,'YYYY-MM-DD'),TO_CHAR(FIRST_TIME,'HH24')
    desc;
Sửa bài viết

Các câu lệnh hay sử dụng để quản trị TABLESPACE trong Oracle Database

--1. CHECK
--Hiển thị dung lượng trống của tablespace
SELECT  a.tablespace_name,100 - ROUND ( (NVL (b.bytes_free, 0) / a.bytes_alloc) * 100) "%Usage",
    ROUND (a.bytes_alloc / 1024 / 1024) "Size MB",
    ROUND (a.bytes_alloc / 1024 / 1024)- ROUND (NVL (b.bytes_free, 0) / 1024 / 1024) "Used MB",
    ROUND (NVL (b.bytes_free, 0) / 1024 / 1024) "Free MB",
    --ROUND ( (NVL (b.bytes_free, 0) / a.bytes_alloc) * 100) "%Free", 
    ROUND (maxbytes / 1048576)  "Max MB", 
    round(maxbytes/1048576-(ROUND (a.bytes_alloc / 1024 / 1024)- ROUND (NVL (b.bytes_free, 0) / 1024 / 1024)),0) "Free_MB_Max",
    ROUND (ROUND ( (a.bytes_alloc - NVL (b.bytes_free, 0)) / 1024 / 1024)/  ROUND (maxbytes / 1048576) * 100) "%Used of Max"
    FROM (SELECT f.tablespace_name, SUM (f.bytes) bytes_alloc,  SUM (DECODE (f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes
            FROM dba_data_files f
            GROUP BY tablespace_name) a,
        (SELECT f.tablespace_name, SUM (f.bytes) bytes_free  FROM dba_free_space f  GROUP BY tablespace_name) b
 WHERE a.tablespace_name = b.tablespace_name(+)  and  (a.tablespace_name in ('TEMP1','DATA201511','DATA2016','INDX','INDX2016'))
 order by "%Used of Max" desc;
Sửa bài viết

Các câu lệnh hay sử dụng để quản trị TABLESPACE trong Oracle Database

--1. CHECK
--Hiển thị dung lượng trống của tablespace
SELECT  a.tablespace_name,100 - ROUND ( (NVL (b.bytes_free, 0) / a.bytes_alloc) * 100) "%Usage",
    ROUND (a.bytes_alloc / 1024 / 1024) "Size MB",
    ROUND (a.bytes_alloc / 1024 / 1024)- ROUND (NVL (b.bytes_free, 0) / 1024 / 1024) "Used MB",
    ROUND (NVL (b.bytes_free, 0) / 1024 / 1024) "Free MB",
    --ROUND ( (NVL (b.bytes_free, 0) / a.bytes_alloc) * 100) "%Free", 
    ROUND (maxbytes / 1048576)  "Max MB", 
    round(maxbytes/1048576-(ROUND (a.bytes_alloc / 1024 / 1024)- ROUND (NVL (b.bytes_free, 0) / 1024 / 1024)),0) "Free_MB_Max",
    ROUND (ROUND ( (a.bytes_alloc - NVL (b.bytes_free, 0)) / 1024 / 1024)/  ROUND (maxbytes / 1048576) * 100) "%Used of Max"
    FROM (SELECT f.tablespace_name, SUM (f.bytes) bytes_alloc,  SUM (DECODE (f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes
            FROM dba_data_files f
            GROUP BY tablespace_name) a,
        (SELECT f.tablespace_name, SUM (f.bytes) bytes_free  FROM dba_free_space f  GROUP BY tablespace_name) b
 WHERE a.tablespace_name = b.tablespace_name(+)  and  (a.tablespace_name in ('TEMP1','DATA201511','DATA2016','INDX','INDX2016'))
 order by "%Used of Max" desc;
Sửa bài viết

[VIP5]Các lệnh hay sử dụng khi chuyển dữ liệu sử dụng DataPump (expdp, impdp) từ A-Z trong Oracle Database

Mục đích: Các lệnh hay sử dụng khi chuyển dữ liệu sử dụng DataPump (expdp, impdp) trong Oracle Database
Sửa bài viết

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master