CHUYỂN TABLESPACE THÔNG THƯỜNG VỚI FILE SYSTEM
TT |
Tên công việc/thao tác |
I |
BACKUP DỮ LIỆU |
|
Backup cơ sở dữ liệu của hệ thống |
II |
THỦ TỤC (Thực hiện trên
từng phân vùng dữ liệu, ví dụ từng vùng /u02 xong thì làm /u03,..., tablespace, 5h chuyển đổi được 1.8TB dữ liệu) |
1 |
Read only tablespace Select 'alter
tablespace ' || tablespace_name || ' read only;' from dba_tablespaces where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%') and
file_name like ‘/u02%’; |
2 |
Copy datafile sang phân vùng mới select 'cp ' || file_name || ' /u02_new/' || substr(file_name,18,23) from dba_data_files where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%') and
file_name like ‘/u02%’ order by file_name desc; |
3 |
Offline tablespace Select 'alter
tablespace ' || tablespace_name || ' offline;' from dba_tablespaces where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%’) and
file_name like ‘/u02%’ ; |
4 |
Lấy danh sách các datafile cần xóa select 'rm ' || file_name || ' ;' from dba_data_files where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%') and
file_name like ‘/u02%’; |
5 |
Rename datafile sang đường dẫn mới select 'alter
tablespace ' || substr(file_name,18,14) || ' rename
datafile ''' || file_name || ''' to ' ||
'''/u02_new/' || substr(file_name,18,23) ||'''' from dba_data_files where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%') and
file_name like ‘/u02%’ order by file_name desc; |
6 |
Online tablespace Select 'alter
tablespace ' || tablespace_name || ' online;' from dba_tablespaces where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%') and
file_name like ‘/u02%’
Select 'alter
tablespace ' || tablespace_name || ' read only;' from dba_tablespaces where (tablespace_name like 'INDX%' or tablespace_name like 'DATA%') and
file_name like ‘/u02%’ |
7 |
Check 1 partition bất kỳ đảm bảo cùng
check point time 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 like 'INDX%' or a.tablespace_name like 'DATA%') and
file_name like ‘/u02%’ order by tablespace_name,file_name; -- Check dữ liệu Select * from app_owner.tab1 partition(DATA201206) |
8 |
Xóa datafile ở đường dẫn cũ |
9 III |
Theo dõi CSDL, ứng dụng trước, trong và sau khi các
lệnh trên được thực hiện THỦ TỤC QUAY VỀ CẤU HÌNH BAN ĐẦU (ROLLBACK) Rollback các file đã backup
|
CHUYỂN CONTROFILE, UNDO , SYSTEM SYSAUX TABLESPACE VỚI FILE SYSTEM
TT |
Tên công việc/thao
tác |
I |
BACKUP DỮ LIỆU |
|
Backup cơ sở dữ liệu của hệ thống |
II |
THỦ TỤC CHUYỂN CONTROL FILES |
1 |
Kiểm tra thông tin select * from v$parameter where name
like 'control%'; Lấy thông tin hiện
tại của database select
name from v$controlfile; NAME ----------------------------------------------------------- /u02/oracle/oradata/dbaviet/control01.ctl /u03/oracle/oradata/dbaviet/control02.ctl /u04/oracle/oradata/dbaviet/control03.ctl Kiểm tra thư mục dự
kiến tạo control file đã có chưa và tạo nếu chưa tồn tại mkdir
-p /u12/oradata/oradata /u13/oracle/oradata/ /u14/oracle/oradata/ |
2 |
Thiết lập thông tin control file mới alter system set control_files ='/u12/oracle/oradata/dbaviet/control01.ctl, /u13/oracle/oradata/dbaviet/control02.ctl, /u14/oracle/oradata/dbaviet/control03.ctl scope=spfile sid='*'; |
3 |
Tắt database srvctl stop database -d prepaid -o
immediate Copy control file sang đường dẫn mới cp /u02/oracle/oradata/dbaviet/control01.ctl /u12/oracle/oradata/dbaviet/control01.ctl; cp
/u03/oracle/oradata/dbaviet/control01.ctl /u13/oracle/oradata/dbaviet/control01.ctl; cp /u04/oracle/oradata/dbaviet/control01.ctl /u14/oracle/oradata/dbaviet/control01.ctl; |
4 |
Bật database srvctl start database -d prepaid Kiểm tra lại: Đảm bảo đã nhận được đường dẫn mới /u02 select name from v$controlfile; $ lsnrctl status |
5 |
Roolback: Thay đổi về control file cũ trên /u02, /u03, /u04 và restart lại DB |
III |
THỦ TỤC TẠO LẠI UNDO |
1 |
Kiểm tra UNDO select * from dba_data_Files where
tablespace_name in ('UNDOTBS01','UNDOTBS02'); /u03/oracle/oradata/dbaviet/UNDOTBS01_002.dbf 416 UNDOTBS01 23864541184 /u02/oracle/oradata/dbaviet/UNDOTBS01_001.dbf 415 UNDOTBS01 24555552768 /u05/oracle/oradata/dbaviet/UNDOTBS01_004.dbf 418 UNDOTBS01 24946671616 /u04/oracle/oradata/dbaviet/UNDOTBS01_003.dbf 417 UNDOTBS01 24381489152 /u05/oracle/oradata/dbaviet/UNDOTBS02_004.dbf 423 UNDOTBS02 30576541696 /u04/oracle/oradata/dbaviet/UNDOTBS02_003.dbf 422 UNDOTBS02 31532843008 /u03/oracle/oradata/dbaviet/UNDOTBS02_002.dbf 421 UNDOTBS02 34358755328 /u02/oracle/oradata/dbaviet/UNDOTBS02_001.dbf 420 UNDOTBS02 25673400320 |
2 |
Tạo UNDO create undo tablespace UNDOTBS11
datafile '/u12/oradata/dbaviet /undotbs01.dbf' size 1g autoextend on next
100m; create undo tablespace UNDOTBS22
datafile '/u12/oradata/dbaviet/undotbs02.dbf' size 1g autoextend on next
100m; Set undo về instance 1, instance 2 select * From gv$instance; alter system set
undo_tablespace=UNDOTBS11 sid='dbaviet1'; alter system set
undo_tablespace=UNDOTBS22 sid='dbaviet2'; |
3 |
Kiểm tra lại kết quả select * from gv$parameter where name
like '%undo%' |
4 |
Restart lại từng instance |
5 |
Kiểm tra lại thông tin các UNDOTBS đảm bảo đã nhận UNDOTBS11,
UNDOTBS12 |
6 |
Drop UNDO DROP TABLESPACE UNDOTBS01 including
contents and datafiles; DROP TABLESPACE UNDOTBS02 including
contents and datafiles; |
IV |
THỦ TỤC CHUYỂN TABLESPACE SYSTEM, SYSAUX |
1 |
Kiểm tra dung lượng tablespace select round(sum(bytes)/1024/1024, 2) from dba_data_files where tablespace_name in ('SYSTEM','SYSAUX') order by file_name desc; Kiểm tra đảm bảo file_name năm hết trên phân vùng /u02 select * from dba_data_files where tablespace_name in ('SYSTEM','SYSAUX') order by file_name desc; /u02/oracle/oradata/dbaviet/system02.dbf 267 SYSTEM 1140850688 /u02/oracle/oradata/dbaviet/system01.dbf 1 SYSTEM 2150629376 /u02/oracle/oradata/dbaviet/sysaux02.dbf 268 SYSAUX 1073741824 /u02/oracle/oradata/dbaviet/sysaux01.dbf 3 SYSAUX 10768875520 |
2 |
Shutdown database, start ở chế độ mount srvctl stop database prepaid -o
immediate; startup mount; |
3 |
Copy datafile sang phân
vùng mới select 'cp ' || file_name || ' /u02/oracle/oradata/dbaviet ' || substr(file_name,23,23) ||';' from dba_data_files where tablespace_name in ('SYSTEM','SYSAUX') and file_name not like '/u12%' order by file_name desc; cp /u02/oracle/oradata/dbaviet/system01.dbf /u12/oracle/oradata/dbaviet/system01.dbf; cp /u02/oracle/oradata/dbaviet/sysaux01.dbf /u12/oracle/oradata/dbaviet/sysaux01.dbf; Monitoring: Khi nao het IO la OK Khi nao khong con tien trinh cp la
OK oracle@prepaid01 # ps -ef |grep cp; du
-ks /u02/oradata/prepaid/ prepaid01# iostat -xnd 30 |
4 |
Lấy danh sách các datafile cần xóa, rename tên, sau 1 ngày xóa --> Xóa cuối cùng select 'mv ' || file_name || ' ' ||
file_name ||'.bkp;' from dba_data_files where tablespace_name in ('SYSTEM','SYSAUX') ;
--mv /u02/oracle/oradata/dbaviet/sysaux01.dbf /u02/oracle/oradata/dbaviet/sysaux01.dbf.bkp; --mv /u02/oracle/oradata/dbaviet/system01.dbf /u02/oracle/oradata/dbaviet/system01.dbf.bkp; |
5 |
Rename data files sang đường dẫn mới select 'alter database' || ' rename
file ''' || file_name || ''' to ' ||
'''/u02/oracle/oradata/dbaviet' || substr(file_name,23,23) ||''';' from dba_data_files where tablespace_name in ('SYSTEM','SYSAUX') and file_name like '/data%' order by file_name desc;
--alter database rename file ' /u02/oracle/oradata/dbaviet/system01.dbf' to '/u12/oracle/oradata/dbaviet/system01.dbf'; --alter database rename file '/u02/oracle/oradata/dbaviet/sysaux01.dbf'
to '/u12/oracle/oradata/dbaviet/sysaux01.dbf'; |
6 |
OPEN database alter database open; |
7 |
Kiểm tra Đảm bảo File_Name đều nằm trong /u12 Đả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 ('SYSTEM','SYSAUX') --and a.file_name not like '/u12%' 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 ('SYSTEM','SYSAUX') and file_name not like '%u02%' order by file_name desc; Check danh sách các segment select * from dba_segments where tablespace_name in ('SYSTEM','SYSAUX') and segment_type like 'TABLE%' and owner ='SYSAUX' order by segment_type; select dữ liệu tại 1 số partition bất kỳ, đảm bảo có dữ liệu Select * from GPRS.CELL_RP_DAILY_DSC partition(DATA20160301) where
rownum<10; Select * from SYS.UNDO$ where
rownum<10; |
8 |
Rollback Copy lại các file .bkp và Read write lại
tablespace |
KHI CHUYỂN SAN VỚI ASM THÌ ĐƠN GIẢN HƠN
TT |
Tên công việc/thao tác |
I |
BACKUP DỮ LIỆU |
|
Backup cơ sở dữ liệu của hệ thống |
II |
THỦ TỤC |
1 |
Thêm đĩa mới vào phân vùng DATA, RECO, BACKUP SQL-ASM> ALTER DISKGROUP RECO ADD DISK
'/dev/rdsk/c15t6005076307FFD2BD0000000000000018d0s6'; SQL-ASM> ALTER DISKGROUP RECO ADD DISK
'/dev/rdsk/c15t6005076307FFD2BD0000000000000115d0s6'; SQL-ASM> ALTER DISKGROUP DATA ADD DISK
'/dev/rdsk/c15t6005076307FFD2BD0000000000000017d0s6'; SQL-ASM> ALTER DISKGROUP DATA ADD DISK
'/dev/rdsk/c15t6005076307FFD2BD0000000000000114d0s6'; Có thể dùng 1 câu lệnh ghép chung cho mỗi đíkgroup: ALTER DISKGROUP RECO ADD DISK '/dev/rdsk/c15t6005076307FFD2BD0000000000000018d0s6', '/dev/rdsk/c15t6005076307FFD2BD0000000000000115d0s6'; ALTER DISKGROUP DATA ADD DISK '/dev/rdsk/c15t6005076307FFD2BD0000000000000017d0s6', '/dev/rdsk/c15t6005076307FFD2BD0000000000000114d0s6'; |
2 |
Drop đĩa khỏi DATA, RECO, BACKUP |
|
ALTER DISKGROUP DATA DROP DISK DATA_0000; ALTER DISKGROUP RECO DROP DISK RECO_0000; |
3 |
Theo dõi CSDL, ứng dụng trước, trong và sau khi các lệnh trên được thực hiện đặc biệt là IO và tải active session iostat -xnd 5 SELECT /*1.ActiveSession*/ distinct s.inst_id i#, s.username, s.SID SID, s.osuser, s.machine,DECODE(S.WAIT_TIME, 0, S.EVENT, 'CPU') ACTION, s.sql_id/*,S.PREV_EXEC_START*/, s.logon_time, SUBSTR(DECODE(SS.SQL_TEXT, NULL, AA.NAME, SS.SQL_TEXT), 1, 1000) SQLTEXT,s.p1text, S.P1, s.p2text, S.P2, s.p3text, S.P3 FROM GV$SESSION S, GV$SQLSTATS SS, AUDIT_ACTIONS AA WHERE S.STATUS = 'ACTIVE' AND S.SQL_ID = SS.SQL_ID (+) AND AA.ACTION = S.COMMAND and s.type != 'BACKGROUND' AND S.TYPE = 'USER' and s.username NOT in ('SYS','SYSMAN','DBSNMP','GGATE','GOLDENGATE','GGADMIN') --AND username in 'BINH' --and DECODE(S.WAIT_TIME, 0, S.EVENT, 'CPU') like '%cell single block physical read%' and lower(ss.sql_text) not like lower('%***%') --and lower(ss.sql_text) like lower('%TAB1') --and s.sid=5923 --and s.machine like '%BINHTV%' --and s.sql_id ='ccwg0nqr1zbu7' ORDER BY username,sql_id --order by S.PREV_EXEC_START; ; |
III |
THỦ TỤC QUAY VỀ CẤU HÌNH BAN ĐẦU
(ROLLBACK) |
|
Rollback quá trình trên ALTER DISKGROUP DATA UNDROP DISKS; ALTER DISKGROUP RECO UNDROP DISKS; |
* 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: 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, 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 multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty