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
rman TARGET sys/passwd@ntest AUXILIARY sys/passwd@ntest1Lưu ý
DUPLICATE TARGET DATABASE TO ntest FROM ACTIVE DATABASE NOFILENAMECHECK;
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