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 /u08 file system đầy 99-100% thì cần chuyển GẤP sang phân vùng khác (/u06) kẻo treo ứng dụng theo

--Check OS
df -h |sort

-- 0. Off autoextend datafile vào /u08 theo script:

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

-- 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;

=============================
* 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
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 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: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Đị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

=============================
Quy trình Chuyển datafile sang phân vùng khác khi đầy ổ 100%, oracle tutorial, 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,sql tutorial, khóa học pl/sql tutorial, 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 multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

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