Blog này mô tả cách sao chép cơ sở dữ liệu từ cơ sở dữ liệu dự phòng vật lý.
Nhân bản cơ sở dữ liệu sao chép cơ sở dữ liệu đích qua mạng đến đích phụ và sau đó tạo cơ sở dữ liệu trùng lặp. Bạn không cần các bản sao lưu và sao lưu RMAN có sẵn.
Cơ sở dữ liệu trùng lặp từ chế độ chờ vật lý được hỗ trợ từ Oracle® 11grelease 2 trở đi.
Để thực hiện nhân bản hoạt động RMAN từ chế độ chờ vật lý, bạn cần những điều sau đây:
- Cơ sở dữ liệu:Oracle 11g lên phiên bản mới nhất
- Nền tảng:Linux® 7
- Tên DB ở chế độ chờ:
PROD_DR
- Tên DB mục tiêu:
TEST
Mở cơ sở dữ liệu chờ ở chế độ chỉ đọc
Dừng khôi phục ở cơ sở dữ liệu dự phòng vật lý, sau đó mở cơ sở dữ liệu ở chế độ chỉ đọc để cho phép sao chép.
Sử dụng lệnh sau để kiểm tra trạng thái của cơ sở dữ liệu dự phòng:
PROD_DR> select name, open_mode, log_mode from v$database;
Bạn sẽ thấy đầu ra tương tự như sau:
NAME OPEN_MODE LOG_MODE
--------- -------------------- ------------
PROD_DR MOUNTED ARCHIVELOG
Sử dụng lệnh sau để dừng khôi phục cơ sở dữ liệu dự phòng:
SQL> alter database recover managed standby database cancel;
Database altered.
Sau đó, mở cơ sở dữ liệu ở chế độ chỉ đọc:
SQL> alter database open read only;
Database altered.
Kiểm tra lại trạng thái của cơ sở dữ liệu để xem nó ở chế độ chỉ đọc thay vì được gắn kết:
PROD_DR> select name, open_mode,log_mode from v$database;
NAME OPEN_MODE LOG_MODE
--------- -------------------- ------------
PROD_DR READ ONLY ARCHIVELOG
Chuẩn bị máy chủ đích
Trong phần này, chúng tôi sẽ sao chép toàn bộ mã nhị phân gia đình Oracle ở chế độ chờ sang máy chủ phiên bản mục tiêu, chuẩn bị pfile từ cơ sở dữ liệu nguồn và thực hiện các thay đổi theo tên cơ sở dữ liệu mới.
Lưu ý: Nếu bạn đang sao chép cơ sở dữ liệu vào cùng một máy chủ, bạn phải sử dụng các giá trị thích hợp cho DB_NAME
, DB_UNIQUE_NAME
, DB_FILE_NAME_CONVERT
và LOG_FILE_NAME_CONVERT
.
Trước tiên, hãy chuẩn bị pfile bằng cách sử dụng các lệnh sau:
cd $ORACLE_HOME/dbs
initTEST.ora
*.control_files='+DATA/cntrl01.dbf', '+DATA/cntrl02.dbf'
*.db_create_file_dest='+DATA'
*.db_file_name_convert='+PROD_DR_DATA','+DATA'
*.db_name='TEST'
*.db_unique_name='TEST'
*.diagnostic_dest='/u01/app/diag'
*.log_file_name_convert='+PROD_DR_DATA','+DATA'
Sao chép tệp mật khẩu dự phòng hiện có và đổi tên nó để khớp với SID được sử dụng cho cơ sở dữ liệu TEST hoặc bạn có thể tạo tệp mật khẩu mới trên máy chủ đích với cùng một mật khẩu nguồn.
cd $ORACLE_HOME/dbs
cp orapwPROD_DR orapwTEST
Định cấu hình trình nghe tĩnh
Sử dụng các bước sau để định cấu hình trình nghe tĩnh cho testdatabase:
cd $ORACLE_HOME/network/admin
cat listener.ora
ADR_BASE_LISTENER_LOCAL = /u01/app/oracle
LISTENER_LOCAL =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = TEST.ras.com)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER_LOCAL = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = DGNEER) (ORACLE_HOME = /u01/app/oracle/product/12.1.0.2/dbhome_1) (SID_NAME = TEST)))
Khởi động trình nghe bằng cách sử dụng lệnh sau:
lsnrctl status listener_local
Bạn sẽ thấy đầu ra tương tự như ví dụ sau:
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 09-JUN-2020 02:57:35
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST= TEST.ras.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias listener_local
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 04-JAN-2020 04:53:15
Uptime 156 days 21 hr. 4 min. 19 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/12.1.0.2/dbhome_1/admin/diag/tnslsnr/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= TEST.ras.com)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "TEST" has 2 instance(s).
Instance "TEST", status UNKNOWN, has 1 handler(s) for this service...
Instance "TEST", status READY, has 1 handler(s) for this service...
The command completed successfully
Tạo bí danh Oracle Net
Tiếp theo, bạn cần tạo bí danh Oracle Net để truy cập cơ sở dữ liệu dự phòng:
PROD_DR=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST= standbydb.ras.com)(PORT=1523))
(CONNECT_DATA=
(SID=PROD_DR)
)
)
Khởi động cơ sở dữ liệu đích
Sau đó, bạn cần khởi động cơ sở dữ liệu đích trong nomount
trạng thái bằng cách sử dụng các lệnh sau:
sqlplus "/ as sysdba"
startup nomount
SQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ----------- -------------
db_name string TEST
SQL> show parameter uniq
NAME TYPE VALUE
------------------------------------ ----------- -------------
db_unique_name string TEST
Sử dụng RMAN để kiểm tra kết nối
Sau khi cơ sở dữ liệu đích đang chạy trong nomount
trạng thái, sử dụng RMAN để kiểm tra kết nối:
[[email protected] dbs]$ rman target sys@PROD_DR auxiliary sys@TEST
Recovery Manager: Release 12.1.0.2.0 - Production on Thu Jun 09 03:25:22 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
target database Password:
connected to target database: PROD_DR (DBID=4252464621)
auxiliary database Password:
connected to auxiliary database: TEST (not mounted)
Khôi phục và sao chép cơ sở dữ liệu
Sử dụng các lệnh sau để khôi phục và sao chép cơ sở dữ liệu dự phòng vào cơ sở dữ liệu mục tiêu:
RMAN> target sys@PROD_DR auxiliary sys@TEST
RMAN> duplicate target database to TEST from active database nofilenamecheck;
Sau khi hoàn thành lệnh trùng lặp, bạn cần khởi động lại cơ sở dữ liệu dự phòng và bật lại khôi phục bằng cách sử dụng các lệnh sau:
PROD_DR> shut immediate
PROD_DR> startup mount;
PROD_DR> alter database recover managed standby database disconnect from session;
Kiểm tra trạng thái cơ sở dữ liệu đích
Sử dụng các lệnh sau để kiểm tra trạng thái của cơ sở dữ liệu đích:
[[email protected] dbs]$ sqlplus "/ as sysdba"
SQL*Plus: Release 12.1.0.2.0 Production on Tue Jun 9 05:15:53 2020
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options
SQL> select name, open_mode, log_mode , database_role from v$database;
NAME OPEN_MODE LOG_MODE DATABASE_ROLE
--------- -------------------- ------------ ----------------
TEST READ WRITE ARCHIVELOG PRIMARY
Kết luận
Trong blog này, chúng tôi đã sao chép cơ sở dữ liệu từ chế độ chờ vật lý mà không cần thực hiện nhiều bản sao lưu vật lý và chúng tôi đã khôi phục cơ sở dữ liệu đích thành bản lưu trữ mới nhất được áp dụng trong cơ sở dữ liệu dự phòng.
Tham chiếu
- Thực hiện sao chép RMAN từ chế độ chờ để tạo bản sao mới (Doc ID 1665784.1)
Tìm hiểu thêm về Cơ sở dữ liệu.
Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào. Bạn cũng có thể nhấp vào Trò chuyện bán hàng để trò chuyện ngay bây giờ và bắt đầu cuộc trò chuyện.