Thứ Tư, 17 tháng 2, 2021

Quy trình Chuyển datafile sang phân vùng khác khi đầy ổ 100%

Mục đích: Khi 1 phân vùng file system đầy 99-100% thì cần chuyển GẤP sang phân vùng khác kẻo treo ứng dụng theo quy trình sau:

--0.Check OS
df -h |sort

-- 1.Kiểm tra dung lượng tablespace
-- 803.726 MB
select round(sum(bytes)/1024/1024) 
from dba_data_files 
where file_name like '/u08%'
order by file_name desc;

--DATA_APP 598648

select  tablespace_name,round(sum(bytes)/1024/1024) "GB"
from dba_data_files 
where file_name like '/u08%'
group by  tablespace_name
order by "GB" desc;

-- Kiểm tra đảm bảo file_name năm hết trên phân vùng /data

-- 2.Read only tablespace
-- Chuyen tablespace ve che do read only, sau do offline

Select 'alter tablespace ' || tablespace_name || ' read only;' 
from dba_tablespaces 
where tablespace_name like 'DATA_APP';

alter tablespace DATA_APP read only;

-- 3.Copy datafile  sang phân vùng mới: Chia làm 4 tab trên 2 node để copy

cp /u08/oracle/data/dbaviet/data_APP_153.dbf /u06/oracle/data/dbaviet/epd/data_APP_153.dbf;
cp /u08/oracle/data/dbaviet/data_APP_151.dbf /u06/oracle/data/dbaviet/epd/data_APP_151.dbf;
cp /u08/oracle/data/dbaviet/data_APP_149.dbf /u06/oracle/data/dbaviet/epd/data_APP_149.dbf;
cp /u08/oracle/data/dbaviet/data_APP_147.dbf /u06/oracle/data/dbaviet/epd/data_APP_147.dbf;
cp /u08/oracle/data/dbaviet/data_APP_145.dbf /u06/oracle/data/dbaviet/epd/data_APP_145.dbf;


select 'cp ' || file_name || ' /u06/oracle/data/dbaviet/' || substr(file_name,27,23)  ||';'
from dba_data_files  
where tablespace_name like 'DATA_APP'
and file_name like '/u08%'
and rownum<6
order by file_name desc;

--select * from dba_data_files where file_name in('indx2015_001.dbf','data2015_011.dbf')

--+ Monitoring: Khi nao het IO la OK
dbaviet01$du -ks /u06/oracle/data/dbaviet/
dbaviet01# iostat -xnd 30
-- Read 290MB/s, Write 290MB/s --> 18GB/p --> 180G mat 10p
 r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device
   0.8  380.7    2.2 295067.8  1.8  6.1    4.8   16.0  10  59 c7t60060E80056F530000006F5300000621d0 --> u02
  299.5    0.4 293690.6    4.8  0.0  4.1    0.0   13.7   0  98 c7t60060E80056F530000006F5300000660d0 --> /u08

-- Khi nao khong con tien trinh cp la OK    
oracle@dbaviet02 # ps -ef |grep cp
  oracle  2976  2835   1 15:39:03 pts/7       0:52 cp /u08/oracle/data/dbaviet/data_APP_147.dbf /u06/oracle/data/dbaviet/data_p    
  oracle  1922  1343   1 15:38:26 pts/4       1:21 cp /u08/oracle/data/dbaviet/data_APP_151.dbf /u06/oracle/data/dbaviet/data_p
  oracle  2422  2006   1 15:38:49 pts/5       1:03 cp /u08/oracle/data/dbaviet/data_APP_149.dbf /u06/oracle/data/dbaviet/data_p  
  oracle  1117 17584   1 15:38:11 pts/3       1:05 cp /u08/oracle/data/dbaviet/data_APP_153.dbf /u06/oracle/data/dbaviet/data_p
  oracle  3450  3208   1 15:39:22 pts/8       0:57 cp /u08/oracle/data/dbaviet/data_APP_145.dbf /u06/oracle/data/dbaviet/data_p
  oracle 12657  7889   0 15:45:18 pts/9       0:00 grep cp  

-- 4.Offline tablespace
alter tablespace DATA_APP offline;

Select 'alter tablespace ' || tablespace_name || ' offline;' 
from dba_tablespaces 
where tablespace_name like 'DATA_APP' ;

-- 5.Lấy danh sách các datafile cần xóa, rename tên, sau 1 ngày xóa (buoc 9)
select 'mv ' || file_name || ' ' || file_name ||'.bkp;' 
from dba_data_files  
where tablespace_name like 'DATA_APP'
and file_name like '/u08%'
and rownum<6
order by file_name desc;

-- 5.Lấy danh sách các datafile cần rename, chạy cuối cùng (buoc 9)
--select 'rm -rf ' || file_name || ' ;' 
--from dba_data_files 
--where tablespace_name like 'DATA_APP'
--and file_name like '/u08%'
--and rownum<6;

-- 6.Rename data files sang đường dẫn mới 
select 'alter database' || ' rename file ''' || file_name || ''' to ' || ''' /u06/oracle/data/dbaviet/' || substr(file_name,27,23)  ||''';' 
from dba_data_files  
where tablespace_name like 'DATA_APP'
and file_name like '/u08%'
and rownum<6
order by file_name desc;

alter database rename file '/u08/oracle/data/dbaviet/data_APP_153.dbf' to  '/u06/oracle/data/dbaviet/data_APP_153.dbf';
alter database rename file '/u08/oracle/data/dbaviet/data_APP_151.dbf' to  '/u06/oracle/data/dbaviet/data_APP_151.dbf';
alter database rename file '/u08/oracle/data/dbaviet/data_APP_149.dbf' to  '/u06/oracle/data/dbaviet/data_APP_149.dbf';
alter database rename file '/u08/oracle/data/dbaviet/data_APP_147.dbf' to  '/u06/oracle/data/dbaviet/data_APP_147.dbf';
alter database rename file '/u08/oracle/data/dbaviet/data_APP_145.dbf' to  '/u06/oracle/data/dbaviet/data_APP_145.dbf';


-- 7.Online, read only tablespace
alter tablespace DATA_APP online;

Select 'alter tablespace ' || tablespace_name || ' online;' 
from dba_tablespaces 
where tablespace_name like 'DATA_APP';

Select 'alter tablespace ' || tablespace_name || ' read only;' 
from dba_tablespaces 
where  tablespace_name like 'DATA_APP'
and file_name like '/u08%';

-- 8.Kiểm tra
--Đảm bỏa File_Name đều nằm trong /u08
-- Đảm bảo check point time giong nhau 
select a.file_name, a.file_id, a.tablespace_name,a.status,a.relative_fno,a.online_status,
b."CREATION_CHANGE#",b.enabled,b."CHECKPOINT_CHANGE#",b."LAST_CHANGE#",b.checkpoint_time
from dba_data_files a,v$datafile b
where a.file_id=b.file#
and (a.tablespace_name  in ('DATA_APP'))
--and a.file_name  like '/u08%'
order by tablespace_name,file_name;

-- Đảm bảo không còn row nào
--Select  file_name, tablespace_name from dba_data_files where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%')
--and tablespace_name  in ('DATA2016','INDX2016','DATA2015','INDX2015')
--and file_name not like '%u02%'
--order by file_name desc;

-- Check d/s các segment
select * from dba_segments 
where (tablespace_name like 'DATA_APP')
and segment_type like 'TABLE%'
order by segment_type;

-- select du lieu tại 1 số partition bất kỳ, đảm bảo có dữ liệu
Select * from BINHTV.APP partition(DATA20201120) where rownum<10;
Select * from BINHTV.APP partition(DATA20210201) where rownum<10;
Select * from BINHTV.APP partition(DATA20210215) where rownum<10;

-- 9.Đổi tên các datafile theo sript bước 4, sau 1 vài ngày theo dõi sẽ xóa
mv /u08/oracle/data/dbaviet/data_APP_153.dbf /u08/oracle/data/dbaviet/data_APP_153.dbf.bkp;
mv /u08/oracle/data/dbaviet/data_APP_151.dbf /u08/oracle/data/dbaviet/data_APP_151.dbf.bkp;
mv /u08/oracle/data/dbaviet/data_APP_149.dbf /u08/oracle/data/dbaviet/data_APP_149.dbf.bkp;
mv /u08/oracle/data/dbaviet/data_APP_147.dbf /u08/oracle/data/dbaviet/data_APP_147.dbf.bkp;
mv /u08/oracle/data/dbaviet/data_APP_145.dbf /u08/oracle/data/dbaviet/data_APP_145.dbf.bkp;

--10.Read Write tablespace
alter tablespace data_APP read write;

-- Nếu phân vùng nào đầy 99-100% thi off autoextend theo script:

select 'alter database datafile ' || file_id ||' autoextend off;' from dba_data_files 
where file_name like '/u07%'
order by file_name desc;


=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
hoặc
https://bit.ly/oaz_fp
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database
Các tìm kiếm liên quan đến học oracle
database
Tự học Oracle
Tài liệu Oracle 12c tiếng Việt
Hướng dẫn sử dụng Oracle Database
Oracle SQL cơ bản
Oracle SQL là gì
Khóa học Oracle Hà Nội
Học chứng chỉ Oracle ở đầu
Khóa học Oracle online
khóa học pl/sql
học dba
học dba ở việt nam
khóa học dba
khóa học dba sql
tài liệu học dba oracle
Khóa học Oracle online
học oracle sql
học oracle ở đâu tphcm
học oracle bắt đầu từ đâu
học oracle ở hà nội
oracle database tutorial
oracle database 12c
oracle database là gì
oracle database 11g
oracle download
oracle database 19c
oracle dba tutorial
oracle tunning
sql tunning
oracle 12c
oracle dataguard
oracle goldengate
oracle weblogic
oracle exadata
hoc solaris
hoc linux
hoc aix

ĐỌC NHIỀU

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