Q Performing a Rolling Upgrade

If replication is configured in your Oracle Internet Directory environment, follow the procedure in this appendix to perform a rolling upgrade. This appendix contains references to Oracle Fusion Middleware Patching Guide.

In order to upgrade your Oracle home directories in a Directory Replication Group (DRG), you must shut down all the replication servers in the DRG and upgrade each Oracle home to the latest version individually. If you do not shut down the replication servers, you might encounter issues when upgrading the Middleware Oracle home directories. To avoid the downtime and loss of service associated with this process, Oracle recommends following a rolling upgrade procedure, where each Oracle home directory is upgraded individually while the other Oracle Internet Directory nodes and the corresponding replication servers in the DRG remain up and running.

This appendix contains the following topics:

Q.1 Prerequisites for Rolling Upgrade

Depending on your DRG version, you must apply the following one-off patches to each Oracle home in the DRG before starting the rolling upgrade procedure to upgrade the remtool and oidrepld binaries:

  • If you have Oracle Internet Directory Version 11.1.1.2.0, apply the fix for bug number 10431688 on each Middleware Oracle home.

  • If you have Oracle Internet Directory Version 11.1.1.3.0, apply the fix for bug number 10431664 on each Middleware Oracle home.

Q.2 Rolling Upgrade Instructions

Follow the instructions in this section to upgrade an Oracle Internet Directory DRG:

  1. Stop the replication server on the first node you want to upgrade.

  2. Suspend the replication from the first node to each of the other nodes:

    remtool -psuspendrepl -fromnode first_node_host:first_node_port
    

    This command lists out the replica IDs of all the Oracle Internet Directory nodes along with their respective directory version numbers. You must either specify the replica ID of each of the other nodes as prompted or enter all which suspends replication to all the other nodes.

    See "remtool" in Oracle Fusion Middleware Reference for Oracle Identity Management for more information.

  3. Validate that replication has been suspended from the first node to all the other nodes in the DRG by running the following ldapsearch command:

    ldapsearch -h first_node_host -p OID_port  -b "" -s base "(objectclass=orclReplAgreementEntry)" orcllastappliedchangenumber
    

    Look for orcllastappliedchangenumber from the first node to the other nodes with subtype status.It should have value 0. It will be of the form:

    orcllastappliedchangenumber;status$replica_id_of_first_node$replica_id_of_other_node;transport
    

    and

    orcllastappliedchangenumber;apply;status$replica_id_of_first_node$replica_id_of_other_node
    

    If there are any discrepancies, you should repeat Step 2.

  4. Stop Oracle Internet Directory on the node you are about to upgrade.

  5. Patch the node to Release 11.1.1.4.0. Refer to the instructions in the Oracle Fusion Middleware Patching Guide:

  6. Start Oracle Internet Directory on the node you have just upgraded.

  7. Because no other nodes have been upgraded yet, do not resume replication between the first node and any other node.

  8. Stop the replication server on the second node you want to upgrade.

  9. Suspend replication from the second node to each of the nodes that have not been upgraded.

    remtool -psuspendrepl -fromnode second_node_host:second_node_port
    

    This command lists out the replica IDs of all the Oracle Internet Directory nodes along with their respective directory version numbers. You must specify the replica ID of each of the other nodes that have not been upgraded.

  10. Validate that replication has been suspended from the node you are about to upgrade to each node that has not been upgraded, using the same command as in Step 3 against the second node.

  11. Stop Oracle Internet Directory on the node you are about to upgrade.

  12. Patch the node to Release 11.1.1.4.0 as in Step 5.

  13. Start Oracle Internet Directory on the node you have just upgraded.

  14. Now two nodes have been upgraded, so resume replication from the first node you upgraded to the second node you upgraded.

    remtool -presumerepl -fromnode  first_upgraded_replica_host:port -tonode second_upgraded_replica_host:port
    
  15. Validate that replication has been resumed from first upgraded node to the second upgraded nodes in DRG by running the following ldapsearch command:

    ldapsearch -p OID_port -h first_upgraded_OID_host -b "" -s base "(objectclass= orclReplAgreementEntry)" orcllastappliedchangenumber
    

    Look for orcllastappliedchangenumber from the first upgraded Oracle Internet Directory node to the second upgraded node with subtype status; it should have a value of 1.

    Repeat this ldapsearch command against all other earlier upgraded nodes. If there are any discrepancies, repeat Step 14.

  16. Start replication server on the second upgraded replica.

  17. Shut down the replication server on the third node you want to upgrade.

  18. Suspend replication from the third node to each node that has not yet been upgraded, if any.

  19. Validate that replication has been suspended from the third node to each node that has not been upgraded.

  20. Stop Oracle Internet Directory and other processes on the third node to be upgraded.

  21. Patch the node to Release 11.1.1.4.0 as in Step 5.

  22. Start Oracle Internet Directory on the third node.

  23. Resume replication from each node that has already been upgraded to the third node.

  24. Validate that replication has been resumed from each upgraded node to the third node.

  25. Start replication on the third node

Repeat this procedure for all the nodes. Before upgrading a node, suspend replication from that node to each of the nodes that has not yet been upgraded and validate that it is suspended. Stop Oracle Internet Directory on the node you are about to upgrade. Upgrade the node. Start Oracle Internet Directory on the node you just upgraded. Resume replication from nodes that are already upgraded to the node you just upgraded. Start replication on the node you just upgraded.

Q.3 Rolling Upgrade Example

In this example, there are three Oracle Internet Directory nodes, A, B, and C, in a mulimaster DRG. All of them of are running 11g Release 1 (11.1.1.3.0). They need to be upgraded to 11g Release 1 (11.1.1.4.0) by using the rolling upgrade procedure.

We will upgrade Node A first, followed by B and C.

Before starting the rolling upgrade procedure, apply the patch for 11g Release 1 (11.1.1.3.0) on all nodes to patch the oidrepld and remtool binaries. See Section Q.1, "Prerequisites for Rolling Upgrade."

Follow these steps to upgrade the nodes:

  1. Stop the replication server on Node A.

  2. Suspend the replication from:

    • Node A to OID Node B

    • Node A to OID Node C

    remtool -psuspendrepl  -fromnode  HostA:PortA
    

    This command displays the replica IDs of all three Oracle Internet Directory nodes. Provide the replica IDs of Node B and Node C as input to remtool. Alternatively, you can enter all, which causes remtool to automatically select the replica IDs of B and C.

  3. Validate that replication has been suspended from Node A to Node B by running the following ldapsearch command:

    ldapsearch -p  PortA  -h  hostA  -b  "" -s  base "(objectclass=orclReplAgreementEntry)" orcllastappliedchangenumber
    

    Look for orcllastappliedchangenumber with subtype status. It has value 0 and is of the form:

    orcllastappliedchangenumber;apply;status$replica_id_of_node A$replica_id_of_node_B
    orcllastappliedchangenumber:status$replicaid_of_node_A$replicaid_of_nodeB;transport
    

    If there is any discrepancy in the status value, repeat Step2.

    Similarly, validate that replication has been suspended from Node A to Node C.

  4. Stop Oracle Internet Directory and other processes on Node A.

  5. Run the PSA on Node A to upgrade it to 11g Release 1 (11.1.1.4.0).

  6. Bring up Oracle Internet Directory and the replication server on Node A. Note that there is no node with which Node A should resume replication.

  7. Stop the replication server on Node B.

  8. Suspend replication from Node B to Node C by executing the following command:

    remtool -psuspendrepl -fromnode HostB:PortB -tonode HostC:PortC
    
  9. Validate that replication has been suspended from Node B to Node C by running the following ldapsearch command:

    ldapsearch -p  PortB  -h  hostB  -b  "" -s  base "(objectclass=orclReplAgreementEntry)" orcllastappliedchangenumber
    

    Look for orcllastappliedchangenumber with subtype status. It has value 0 and is of the form:

    orcllastappliedchangenumber;apply;status$replica_id_of_node_B$replica_id_of_node_C
    orcllastappliedchangenumber:status$replicaid_of_node_B$replicaid_of_node_C;transport
    

    If there is any discrepancy in the status value, repeat Step 8.

  10. Stop Oracle Internet Directory and other processes on Node B.

  11. Run the PSA on Node B to upgrade it to 11g Release 1 (11.1.1.4.0).

  12. Bring up Oracle Internet Directory on Node B.

    Resume replication from Node A to Node B

     remtool -presumerepl -fromnode HostA:PortA -tonode HostB:PortB
    
  13. Validate that replication has been resumed from Node A to Node B by running the following ldapsearch command:

    ldapsearch -p OID_port -h hostA -b "" -s base "(objectclass= orclReplAgreementEntry)" orcllastappliedchangenumber
    

    Look for orcllastappliedchangenumber from the upgraded Node A to Node B with subtype status. It should have value 1.

    If there is any discrepancy in the status value, repeat Step12.

  14. Bring up the replication server on Node B.

  15. Shut down the replication server on Node C.

  16. There is no other node to be upgraded so there is no need to suspend replication. Stop Oracle Internet Directory and other processes on Node C.

  17. Run PSA on Node C to upgrade it to 11g Release 1 (11.1.1.4.0).

  18. Bring up Oracle Internet Directory on Node C.

    Resume replication from Node A to Node C.

    remtool -presumerepl -fromnode HostA:PortA -tonode HostC:PortC
    

    Resume replication from Node B to Node C.

    remtool -presumerepl -fromnode HostB:PortB -tonode HostC:PortC
    
  19. Validate that replication has been resumed successfully by performing an ldapsearch on Node A and Node B similar to Step 13. Validate replication:

    • From Node A to Node C

    • From Node B to Node C

  20. Bring up the replication server on Node C.