Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Nhân bản Oracle EBS với Cơ sở dữ liệu phiên bản 19c

Bài đăng này thảo luận về quy trình sao chép từng bước với Oracle®E-Business Suite® (EBS) R12.2 tại chỗ trên Cơ sở dữ liệu phiên bản 19c bằng cách sử dụng Sao lưu nóng Recovery Manager (RMAN) trên Red Hat® Enterprise Linux® may chủ. Các bước này cũng áp dụng cho các hệ điều hành khác nhau.

Nhân bản EBS

Để thực hiện nhân bản EBS, bạn cần hoàn thành các bước cấp cao sau:

  1. Chạy tiện ích sao chép trước trên cơ sở dữ liệu nguồn và các nút ứng dụng.
  2. Sao lưu toàn bộ cơ sở dữ liệu Cơ sở dữ liệu vùng chứa (CDB) với các kho lưu trữ bằng cách sử dụng bản sao lưu RMAN Hot và sao chép nó vào nút đích.
  3. Dọn dẹp cơ sở dữ liệu đích và nút ứng dụng.
  4. Sao chép mã nhị phân ứng dụng nguồn và mã nhị phân cơ sở dữ liệu vào nút đích.
  5. Định cấu hình $ Oracle_Home trên nút cơ sở dữ liệu đích.
  6. Khôi phục và khôi phục cơ sở dữ liệu.
  7. Thực hiện các bước sau khôi phục trên nút cơ sở dữ liệu Target.
  8. Định cấu hình ứng dụng trên nút ứng dụng đích.
  9. Thực hiện các bước sau sao chép trên nút ứng dụng.
  10. Bắt đầu các dịch vụ ứng dụng mục tiêu.

Dưới đây là các bước chi tiết:

1. Chạy tiện ích sao chép trước

Chạy tiện ích sao chép trước trên nút cơ sở dữ liệu nguồn và nút ứng dụng để tạo trình điều khiển và tệp cấu hình. Tiện ích này định cấu hình cơ sở dữ liệu và các tệp nhị phân ứng dụng trên các nút đích trước khi sao chép các tệp nhị phân cơ sở dữ liệu và ứng dụng vào nút đích.

một. Chạy các lệnh sau để tạo nguồn cho tệp môi trường cơ sở dữ liệu có thể cắm thêm (PDB) trên nút cơ sở dữ liệu tại $ ORACLE_HOME:

cd $ORACLE_HOME
. <PDB_NAME>_hostname.env
cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
perl adpreclone.pl dbTier

b. Chạy các lệnh sau trên nút ứng dụng:

. EBSApps run (Source RUN FS)
cd $ADMIN_SCRIPTS_HOME
perl adpreclone.pl appsTier

2. Sao lưu CDB

Sao lưu toàn bộ cơ sở dữ liệu CDB với các kho lưu trữ bằng cách sử dụng sao lưu RMAN Hot và sao chép nó vào nút mục tiêu:

một. Chạy các lệnh sau để tạo nguồn tệp môi trường CDB tại $ ORACLE_HOME:

cd $ORACLE_HOME
. <CDB_NAME>_hostname.env
connect target /

b. Chạy các lệnh sau để hoàn thành bước này:

run {
 allocate channel d1 type disk;
 allocate channel d2 type disk;
 allocate channel d3 type disk;
 allocate channel d4 type disk;

 BACKUP as compressed backupset FULL FILESPERSET 10 FORMAT '<Backup location>/<SID>_bk_%s_%p_%t.bak' DATABASE;
 BACKUP as compressed backupset filesperset 10 FORMAT '<Backup location>/<SID>_arch_%s_%p_%t.bak' ARCHIVELOG ALL skip inaccessible;
 BACKUP FORMAT '<Backup location>/<SID>_cntrl_%s_%p_%t.bak' CURRENT CONTROLFILE;
 
 RELEASE CHANNEL d1;
 RELEASE CHANNEL d2;
 RELEASE CHANNEL d3;
 RELEASE CHANNEL d4;
}

Sau khi hoàn tất sao lưu, hãy di chuyển đến vị trí đích hoặc Hệ thống tệp mạng (NFS) chia sẻ điểm gắn kết sao lưu với nút đích để tiết kiệm thời gian.

3. Dọn dẹp

Dọn dẹp cơ sở dữ liệu đích và nút ứng dụng.

Chạy các bước sau trên nút cơ sở dữ liệu:

một. Hãy sao lưu các thư mục và tệp cấu hình quan trọng sau đây trước khi bạn xóa chúng:

  • $ CONTEXT_FILE
  • tệp môi trường
  • dbs
  • Các thư mục $ TNS_ADMIN.

b. Xóa mục tiêu OH và bỏ cơ sở dữ liệu.

c. Xóa nội dung của oraInventory .

Lưu ý rằng UTL thư mục không được có liên kết tượng trưng. Nếu các liên kết tượng trưng tồn tại, hãy xóa chúng và tạo cấu trúc thư mục vật lý.

Chạy các bước sau trên nút ứng dụng:

một. Sao lưu RUN PATCH $ CONTEXT_FILE $ TNS_ADMIN thư mục của RUN FS .b. Ghi lại nút đích RUN FS trước khi dọn dẹp nút ứng dụng.c. Làm sạch FS1 , FS2 , FS_NE oraInventory thư mục.

4. Sao chép các tệp nhị phân

Thực hiện các bước sau để sao chép mã nhị phân ứng dụng nguồn và mã nhị phân cơ sở dữ liệu vào nút đích.

một. Trên nút cơ sở dữ liệu, sao chép và chuyển các tệp nhị phân phiên bản 19.0.0 (19c) sang máy chủ cơ sở dữ liệu đích.

b. Trên nút ứng dụng, chỉ chuyển Ứng dụng EBS thư mục của RUN FS từ nguồn đến nút đích trong mục tiêu RUN FS .

5. Định cấu hình $ Oracle_Home

Định cấu hình $ Oracle_Home trên nút cơ sở dữ liệu đích.

Trước khi chạy adcfgclone.pl để định cấu hình $ Oracle_Home, hãy dọn dẹp oraInventory danh mục. Nếu bạn đang nhân bản lần đầu tiên trên một máy chủ mới, thì chỉ chạy các bước tiếp theo và cung cấp giá trị cho tất cả các đầu vào. Thực hiện các bước sau:

một. Tạo tệp ngữ cảnh:

cd $ORACLE_HOME/appsutil/clone/bin
perl adclonectx.pl contextfile=<Source database context file> template=$ORACLE_HOME/appsutil/template/adxdbctx.tmp [pairsfile=<Pairs file Path>]

perl adcfgclone.pl dbTechStack <Full Path of CONTEXT_FILE>

b. Tạo listener.ora tnsnames.ora :

cd $ORACLE_HOME/appsutil
./txkSetCfgCDB.env -dboraclehome=<ORACLE_HOME>

cd $ORACLE_HOME/appsutil/bin
perl txkGenCDBTnsAdmin.pl -dboraclehome=$ORACLE_HOME -cdbname=<target CDB NAME> \
-cdbsid=<SID> -dbport=<Target DB port> -outdir=$ORACLE_HOME/appsutil/log \
-israc=<yes/no> [-virtualhostname=<virtual hostname>]

c. Nếu đây là phiên bản sao chép lặp lại, hãy sử dụng CONTEXT_FILE sao lưu để định cấu hình nhị phân cơ sở dữ liệu mục tiêu:

cd <RDBMS ORACLE_HOME>/appsutil/clone/bin
perl adcfgclone.pl dbTechStack <Full Path of CONTEXT_FILE backup location>

d. Nếu đây là bản sao được lặp lại, hãy hoàn nguyên dbs TNS để các tệp cấu hình và thông số init còn nguyên vẹn sau khi cấu hình.

e. Khởi động trình nghe.

6. Khôi phục và khôi phục cơ sở dữ liệu.

Sau khi bạn định cấu hình $ Oracle_Home, hãy bắt đầu khôi phục cơ sở dữ liệu đích bằng cách sử dụng bản sao lưu mà bạn đã thực hiện trước đó:

một. Trước khi khôi phục, hãy kiểm tra xem các thông số sau có đúng trong nút đích không.

  • db_file_name_convert
  • log_file_name_convert

b. Khởi động cơ sở dữ liệu đích trong nomount trạng thái và chạy lệnh RMAN sau để khôi phục cơ sở dữ liệu:

Rman auxiliary /
run
{
   allocate auxiliary channel d1 device type disk;
   allocate auxiliary channel d2 device type disk;
   allocate auxiliary channel d3 device type disk;
   duplicate database to '<CDB NAME>' backup location '<RMAN backup     location>' nofilenamecheck;
   release channel d1;
   release channel d2;
   release channel d3;
}

7. Nhắm mục tiêu các bước sau khôi phục

Thực hiện các bước sau lưu trữ trên nút cơ sở dữ liệu đích.

Sau khi quá trình khôi phục cơ sở dữ liệu CDB kết thúc và bạn mở phiên bản CDB, hãy hoàn thành các bước sau:

một. Nguồn tệp env CDB và thay đổi tên PDB vì bạn đã khôi phục nó dưới dạng tên PDB nguồn. Sử dụng các lệnh sau để thay đổi tên PDB đích:

sqlplus / as sysdba
 SQL> alter pluggable database "<Source PDB Name>" close;
 SQL> alter pluggable database "<Source PDB Name>" unplug into '<ORACLE_HOME>/dbs/<Source PDB Name>_PDBDesc.xml';
 SQL> drop pluggable database "<Source PDB Name>";
 SQL> create pluggable database "<Target PDB Name>" using '<ORACLE_HOME>/dbs/<PDB Name>_PDBDesc.xml' NOCOPY SERVICE_NAME_CONVERT=('ebs_<Source PDB Name>','ebs_<Target PDB Name>','<Source PDB Name>_ebs_patch','<Target PDB Name>_ebs_patch');
 SQL> alter pluggable database "<Target PDB Name>" open read write;
 SQL> alter pluggable database all save state instances=all;
 SQL> sho pdbs

CON_ID CON_NAME                       OPEN MODE  RESTRICTED
------ ------------------------------ ---------- ----------
     2 PDB$SEED                       READ ONLY  NO
     4 <PDB Name>                     READ WRITE NO

b. Nguồn tệp env PDB và thực hiện lệnh sau để đặt mục tiêu UTL_FILE_DIR giá trị trong Cơ sở dữ liệu Oracle:

perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE -oraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -mode=getUtlFileDir

c. Chạy lệnh sau để chỉnh sửa _utlfiledir.txt tệp trong Oracle_Home / dbs và thay đổi Đường dẫn UTL cho phù hợp:

perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE -oraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -mode=setUtlFileDir

d. Chạy tập lệnh sau cho từng đường dẫn trong _utlfiledir.txt :

perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE -oraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -mode=createDirObject

perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE -oraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -mode=syncUtlFileDir -skipautoconfig=yes

cd $ORACLE_HOME/appsutil/install/$CONTEXT_NAME
sqlplus / as sysdba @adupdlib.sql <libext>

clean FND_NODE table

sqlplus apps/<Source Apps password>

EXEC FND_CONC_CLONE.SETUP_CLEAN;

Commit;

e. Sử dụng lệnh sau để chạy adautocfg.sh :

cd <$ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME>
sh adautocfg.sh

8. Định cấu hình ứng dụng đích

Định cấu hình ứng dụng trên nút ứng dụng đích:

một. Trước khi bắt đầu adcfgclone.pl , xóa PATCH FS , FS_NE oraInventory thư mục.

b. Chạy các lệnh sau để định cấu hình ứng dụng:

cd <COMMON_TOP>/clone/bin
export TIMEDPROCESS_TIMEOUT=-1
export T2P_JAVA_OPTIONS="-Djava.io.tmpdir=<Temp directory location>"
perl ./adcfgclone.pl appsTier dualfs

c. Cung cấp tất cả các đầu vào tại đây.

d. Nếu đây là trường hợp sao chép lặp lại, bạn cũng có thể sử dụng bản sao lưu của CONTEXT_FILE. Chạy lệnh sau:

perl ./adcfgclone.pl appsTier <location of CONTEXT_FILE backup> dualfs

9. Các bước sau khi sao chép ứng dụng

Thực hiện các bước sau sao chép trên nút Ứng dụng:

một. Sau khi bạn định cấu hình ứng dụng, hãy thay đổi ứng dụng, sysadmin và mật khẩu lược đồ tùy chỉnh, nếu có, bằng cách sử dụng FNDCPASS lệnh.

b. Sau khi thay đổi mật khẩu ứng dụng, hãy chạy Autoconfig trên nút cơ sở dữ liệu và nút ứng dụng.

c. Thực hiện các bước tùy chỉnh khác, nếu có, đối với các phiên bản sao chép.

10. Khởi động các dịch vụ ứng dụng đích

Giờ đây, bạn có thể khởi động tất cả các dịch vụ ứng dụng của bản sao đích và thực hiện kiểm tra toàn bộ đối với các bản sao.

Kết luận

Sử dụng các bước trước đó, bạn có thể sao chép hoặc làm mới phiên bản PROD sang các máy chủ không phải sản phẩm với cơ sở dữ liệu phiên bản 19c với kiến ​​trúc nhiều đối tượng.

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ể bắt đầu cuộc trò chuyện với chúng tôi.