Thứ Sáu, 19 tháng 7, 2013

Duplicate database from active database

Giới thiệu
Nhân bản csdl là cách sử dụng lệnh DUPLICATE để lưu toàn bộ dữ liệu của csdl nguồn. Hoạt động của csdl đích toàn toàn độc lập với nguồn.

Mục đích
Kiểm tra phương thức backup & recovery, kiểm thử bản update mới của Oracle, kiểm tra hiệu suất csdl, tạo mới standby database (dataGuard), sinh báo cáo.

Khái niệm cơ bản
Source host là máy chứa csdl gốc. Source database instance là instance tương ứng với csdl gốc.
Destination host là máy chứa csdl được nhân bản. Source host và destination host có thể cũng hoặc khác máy chủ. Instance tương ứng với csdl đích được gọi là auxiliary instance.

Kỹ thuật nhân bản csdl
Để nhân đôi database RMAN cung cấp hai cách căn bản: nhân bản trực tiếp từ csdl đang hoạt động và qua backup.


Duplicate database from active database
Overview:
on the source  host
- Create Pfile from source database
- Create an entry in tnsnames.ora for duplictae database on target host on port 1522
on the target host
- Add a line in the file /etc/oratab to reflect the database instance you are going to copy
- create folders
- Copy the initialization parameter file from the source database add edit it.
- Copy the password file
- Create a listener in database home on port 1522 and register duplicate database statically with it
- Startup the target database in nomount mode using modified parameter file
- Using RMAN  connect to the source database(orcl) as target database and duplicate database (orclt) as auxiliary instance
- duplicate the target database

TRIỂN KHAI

Cấu hình NET LISTENER trên 2 server
NTEST =  (DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = primary.contoso.com)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = ntest)    )  )NTEST1 =  (DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = standby.contoso.com)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = ntest)    )  )
Source database

Tạo PFILE
CREATE PFILE=’/tmp/initntest.ora’ FROM SPFILE;


Destination database

Tạo các thư mục cần thiết
mkdir -p /u01/app/oracle/oradata/ntestmkdir -p /u01/app/oracle/flash_recovery_area/ntestmkdir -p /u01/app/oracle/admin/ntest/adumpmkdir -p /u01/app/oracle/admin/ntest/dpdump
Copy PFILE và Password file từ source database
scp oracle@192.168.1.100:/tmp/initntest.ora /tmpscp oracle@192.168.1.100:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwntest /u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwntest
Khởi động destination instance (auxiliary instance)
sqlplus / as sysdbastartup nomount pfile=''/tmp/initntest.ora";create spfile from pfile=''/tmp/initntest.ora";
Cấu hình listener
SID_LIST_LISTENER =  (SID_LIST =    (SID_DESC =      (GLOBAL_DBNAME = ntest)      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)      (SID_NAME = ntest)    )  )

LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))      (ADDRESS = (PROTOCOL = TCP)(HOST = standby.contoso.com)(PORT = 1521))    )  )
ADR_BASE_LISTENER = /u01/app/oracle
Sử dụng RMAN để nhân bản db:
rman TARGET sys/passwd@ntest AUXILIARY sys/passwd@ntest1
DUPLICATE TARGET DATABASE TO ntest FROM ACTIVE DATABASE NOFILENAMECHECK;
Lưu ý
Source db: mount hoặc open
Dest db: startup nomount
Bài này lưu nháp phòng quên :D

Không có nhận xét nào:

Đăng nhận xét