Gần đây tôi đã phải làm việc với SysAdmin của mình để nâng cấp hệ điều hành nhỏ trên cụm RAC hai nút. Tôi đang chạy Oracle Grid Infrastructure 11.2.0.2 với Oracle RDBMS 11.2.0.2 và chúng tôi đang nâng cấp từ Oracle Enterprise Linux 5.2 lên 5.8.
Như hầu hết các DBA của Oracle đều biết, bạn nên biên dịch lại phần mềm Oracle sau khi nâng cấp hệ điều hành. Đối với phần mềm Oracle RDMBS, điều này đơn giản như “$ ORACLE_HOME / bin / liên kết lại tất cả”. Nhưng còn phần mềm Cơ sở hạ tầng lưới thì sao?
Nếu bạn đọc Metalink Note 220970.1 RAC:Câu hỏi thường gặp, nó nói rằng đối với 11.2 trở lên, bạn nên liên kết lại sau khi nâng cấp hệ điều hành (Các phiên bản thấp hơn không cần liên kết lại). Tuy nhiên, tôi nghĩ rằng các bước có một chút sai lệch khi tôi phát hiện ra đêm qua. Các bước mà ghi chú này đưa ra như sau:
As root:
cd $GRID_HOME/crs/install
perl rootcrs.pl -unlock
As GRID_HOME owner ("oracle" in my case):
export ORACLE_HOME=$GRID_HOME
$ORACLE_HOME/bin/relink
As root:
cd $GRID_HOME/crs/install
perl rootcrs.pl -patch
Điều mà hướng dẫn không cho bạn biết là lệnh gọi cuối cùng tới rootcrs.pl sẽ bắt đầu Cơ sở hạ tầng lưới, đối với hầu hết mọi người, điều này có nghĩa là tự động khởi động lại các phiên bản đang chạy dưới sự kiểm soát của GI. Nhưng chờ một chút! Tôi không có cơ hội biên dịch lại phần mềm Oracle RDBMS! Vì vậy, đây là các bước đã sửa đổi của tôi để biên dịch lại mọi thứ:
As root:
cd $GRID_HOME/crs/install
perl rootcrs.pl -unlock
As GRID_HOME owner ("oracle" in my case):
export ORACLE_HOME=$GRID_HOME
$ORACLE_HOME/bin/relink
export ORACLE_HOME={rdbms home}
$ORACLE_HOME/bin/relink all
As root:
cd $GRID_HOME/crs/install
perl rootcrs.pl -patch
Theo cách này, chúng tôi biên dịch lại phần mềm Cơ sở hạ tầng lưới và sau đó là phần mềm RDBMS. Sau đó, lệnh gọi cuối cùng tới rootcrs.pl sẽ bắt đầu GI và bắt đầu các phiên bản.