Clone database, duplicate database – Restore Oracle Database to New Server using Rman

Bài viết này sẽ hướng dẫn các bạn cách để Restore Oracle database từ bản backup piece sang 1 server mới (nhân bản CSDL) sử dụng RMAN trong Oracle Database 19c.

Clone database – Restore Oracle Database to New Server using Rman Oracle Database 19c

Cài đặt Oracle database: https://datalinks.vn/huong-dan-cai-dat-oracle-database-19c-tren-oracle-linux/

CHI TIẾT DB:

clone database 2

Ở đây tôi sẽ sử dụng IP lần lượt là 192.168.68.11 và 192.168.68.12 cho trùng với dải IP của tôi, các bạn cũng có thể đặt theo dải IP thực tế của các bạn.

SRV1 – server tôi đặt là Nguồn nhân bản, đã cài đặt cấu hình DB hoàn chỉnh.

SRV2 – server tôi đặt là DB sau khi nhân bản, chỉ cải đặt Software.

Mục tiêu là nhân bản Database từ SRV1 sang SRV2, không thay đổi thông tin gì về DB name….

Trên 2 SRV: cài đặt hosts file, và hostname như sau

vi /etc/hosts

192.168.68.11 srv1.localdomain srv1
192.168.68.12 srv2.localdomain srv2

trên SRV1:
hostnamectl set-hostname srv1.localdomain

trên SRV2:
hostnamectl set-hostname srv2.localdomain

Ping kiểm tra kết nối giữa 2 host:

ping srv2 -c 5
ping srv1 -c 5

SRV1 + SRV2: Tắt firewall trên cả Source và Target (quan trọng nếu không sẽ không tnsping được) (sử dụng user root)

systemctl stop firewalld.service
systemctl disable firewalld.service

SRV1 – Source: Open database và check thông tin sơ bộ, tạo parameter file từ spfile

su oracle
cd
. .bash_profile
sqlplus / as sysdba
startup
select open_mode, name from v$database;
create pfile from spfile;

– Copy password file sang SRV2 target từ SRV1:

exit
cd /u01/app/oracle/product/19.3.0/dbhome_1/dbs
scp orapwduodb oracle@srv2:/u01/app/oracle/product/19.3.0/dbhome_1/dbs/orapwduodb

– Copy pfile sang SRV2 target từ SRV1:

scp initduodb.ora oracle@srv2:/u01/app/oracle/product/19.3.0/dbhome_1/dbs/initduodb.ora

– Tạo bản babckup database:

mkdir -p /u01/backup
sqlplus / as sysdba
startup
exit
rman target /
backup database format '/u01/backup/full_db_backup';
backup archivelog all format '/u01/backup/archivelog';
backup current controlfile format '/u01/backup/controlfile';

– Copy backup sang SRV2 target từ SRV1:

SRV2: tạo thư mục backup trên server để lưu file backup piece từ SRV1:

su oracle
mkdir -p /u01/backup

Srv1: thực hiện copy (thay tên file theo thông tin file của bạn hiện tại)

cd /u01/backup

ls

scp archivelog oracle@srv2:/u01/backup/archivelog

scp controlfile oracle@srv2:/u01/backup/controlfile

scp full_db_backup oracle@srv2:/u01/backup/full_db_backup

SRV2 – Target:

– Tạo đường dẫn cần thiết, tương thích với pfile (xem các đường dẫn cần thiết trong pfile, các đường dẫn phải chính xác và đầy đủ, rất quan trọng nếu không sẽ fail khi duplicate)

su oracle

mkdir -p /u01/app/oracle/oradata/DUODB
mkdir -p /u01/app/oracle/oradata/DUODB/controlfile
mkdir -p /u01/app/oracle/fast_recovery_area/DUODB
mkdir -p /u01/app/oracle/archive/DUODB
mkdir -p /u01/app/oracle/admin/duodb/adump

– Tạo biến bash_profile môi trường cho DUODB database

cd
vi .bash_profile
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
ORACLE_SID=duodb
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID

– Open Target database trong NOMount State:

cd
. .bash_profile
sqlplus / as sysdba
startup nomount pfile ='/u01/app/oracle/product/19.3.0/dbhome_1/dbs/initduodb.ora'
create spfile from pfile;
shut immediate
startup nomount;
!ps -ef | grep pmon

SRV2 – Target: tiến hành restore và recover, thay controlfile_ bằng tên file backup hiện tại của bạn nhé

exit
ls /u01/backup/
-- kiểm tra tên file controlfile backup ở bên trên sau đó đưa vào file bên dưới thực hiện restore lại hệ thống.

rman target /
run {
restore controlfile from '/u01/backup/controlfile';
alter database mount;
restore database;
restore archivelog all;
recover database;
}
alter database open resetlogs;

SRV2 – Target: login vao SQLplus test db

exit

sqlplus / as sysdba
select open_mode, name from v$database;

[oracle@srv2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 – Production on Thu May 9 12:26:27 2024

Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

Connected to:

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production

Version 19.3.0.0.0

SQL> select open_mode, name from v$database;

OPEN_MODE NAME

——————– ———

READ WRITE DUODB

Restore Database sang New server thành công.

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA - https://www.youtube.com/@DuoDBA) tác giả của blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn muốn có người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
5 1 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận