Thứ Hai, 30 tháng 11, 2020

Thủ tục chuyển dữ liệu sang phân vùng SAN khác_file system

Mục đích: Cần chuyển các dữ liệu từ phân vùng cũ (/data) sang phân vùng mới (/u02)
- Phân vùng /data nằm trên SAN cũ, dùng > 5 năm, sắp hỏng hóc
- Phân vùng /u02 là SAN mới trang bị

-- 1.Kiểm tra dung lượng tablespace
-- 280376.95 MB
select round(sum(bytes)/1024/1024, 2) 
from dba_data_files 
where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%')
and tablespace_name  in ('DATA2016','INDX2016','DATA2015','INDX2015') 
order by file_name desc;

--361128
select round(sum(bytes)/1024/1024, 2) 
from dba_data_files 
where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%')
and tablespace_name  in ('DATA2017','INDX2017','DATA','INDX') 
order by file_name desc;

-- Kiểm tra đảm bảo file_name năm hết trên phân vùng /data
select *
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 '%data%'
order by file_name desc;

-- 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 'INDX%' or tablespace_name like 'DATA%')
and tablespace_name  in ('DATA2016','INDX2016','DATA2015','INDX2015') ;

-- 3.Copy datafile từ phân vùng cũ (/data) sang phân vùng mới (u02): Chia làm 2 node để cùng copy, tong 280GBTB, moi file 140GB
select 'cp ' || file_name || ' /u02/oradata/dbavietdb/' || substr(file_name,23,23)  ||';'
from dba_data_files  
where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%')
and tablespace_name  in ('DATA2016','INDX2016','DATA2015','INDX2015')  
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
dbavietdb01$du -ks /u02/oradata/dbavietdb/
dbavietdb01# iostat -xnd 30
-- Read 50MB/s, Write 50MB/s --> 180GB/h --> 280G mat 1.5h
 r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device
   51.5    4.6 56353.6   21.6  0.0  1.5    0.0   27.5   0  88 c7t60060E8004A53B000000A53B00000000d0 --> /data
    0.2   62.5    0.2 50790.3  0.0  0.3    0.0    4.5   0   4 c7t6005076307FFD2BD0000000000000022d0 --> /u02

-- Khi nao khong con tien trinh cp la OK    
oracle@dbavietdb02 # ps -ef |grep cp
  oracle 18526  4403   0 22:38:38 pts/3       0:05 cp /data/oradata/dbavietdb/data2015_453.dbf /u02/oradata/dbavietdb/data2015_453.dbf
  oracle  4403  3976   0 22:14:29 pts/3       0:00 sh ./3.cp_data_u02_2.sh    

-- 4.Offline tablespace
Select 'alter tablespace ' || tablespace_name || ' offline;' 
from dba_tablespaces 
where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%')
and tablespace_name  in ('DATA2016','INDX2016','DATA2015','INDX2015') ;

-- 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 'INDX%' or tablespace_name like 'DATA%')
and tablespace_name  in ('DATA2016','INDX2016','DATA2015','INDX2015') ;

-- 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 'INDX%' or tablespace_name like 'DATA%')
--and tablespace_name  in ('DATA2016','INDX2016','DATA2015','INDX2015') ;

-- 6.Rename data files sang đường dẫn mới 
select 'alter database' || ' rename file ''' || file_name || ''' to ' ||   '''/u02/oradata/dbavietdb/' || substr(file_name,23,23) ||''';' 
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 like '/data%'
order by file_name desc;

-- 7.Online, read only tablespace
Select 'alter tablespace ' || tablespace_name || ' online;' 
from dba_tablespaces 
where tablespace_name  in ('DATA2016','INDX2016','DATA2015','INDX2015');

Select 'alter tablespace ' || tablespace_name || ' read only;' 
from dba_tablespaces 
where  tablespace_name  in ('DATA2016','INDX2016','DATA2015','INDX2015');

-- 8.Kiểm tra
--Đảm bỏa File_Name đều nằm trong /u02
-- Đảm bảo check point time gần thời điểm nhau (chênh nhau 1p)
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 ('DATA2016','INDX2016','DATA2015','INDX2015'))
--and a.file_name not like '/u02%'
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 'INDX%' or tablespace_name like 'DATA%')
and tablespace_name  in ('DATA2016','INDX2016','DATA2015','INDX2015')
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.REG_LOG partition(DATA201501) where rownum<10;
Select * from binhtv.REG_LOG partition(DATA201502) where rownum<10;
Select * from binhtv.REG_LOG partition(DATA201503) where rownum<10;
Select * from binhtv.REG_LOG partition(DATA201504) where rownum<10;
Select * from binhtv.REG_LOG partition(DATA201505) where rownum<10;
Select * from binhtv.REG_LOG partition(DATA201506) where rownum<10;
Select * from binhtv.REG_LOG partition(DATA201507) where rownum<10;
Select * from binhtv.REG_LOG partition(DATA201508) where rownum<10;
Select * from binhtv.REG_LOG partition(DATA201509) where rownum<10;
Select * from binhtv.REG_LOG partition(DATA201510) where rownum<10;
Select * from binhtv.REG_LOG partition(DATA201511) where rownum<10;
Select * from binhtv.REG_LOG partition(DATA201512) where rownum<10;

Select * from binhtv.REG_LOG partition(DATA201608) 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


=============================
* 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

=============================
Thủ tục chuyển dữ liệu sang phân vùng SAN khác_file system, 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