Partition redistribution on node join

When a new node joins a distributed cache, I imagine that the partition assignment strategy will alter for the cluster in that some partitions must get assigned to the new node.
     This must mean that the primary location for some of the keys in the cache alters. What is the process for the data redistribution in this case for a distributed cache, i.e. when a new node joins?
     I have run a simple test, and it would appear that no redistribution occurs until some data is written / read. Is this always the case, or is there some background process that will migrate keys according to the new partition assignment?
     Is there someway to listen for re-assignment events, other than listening for individual get/remove actions on the keys in the backing maps as they get redistributed?
     Finally, how does the backup count for a distributed cache affect this? If it is set to 0 (no backups) is the process different?
     Any help gratefully received :)
     Regards
     Matt Searle

Matt,
     You are absolutely correct: when a new storage enabled node joins a partitioned cache service, the partition re-distribution protocol gets initiated and the new node will get a part of the overall load. The distribution algorithm is dynamic and adoptive, so as a matter of preference, the transfer affects cache parts that are not currently in active use.
     You can easily watch the process of cache data distribution by listening to the backing maps of the partitioned cache. Attached please find an example of cache configuration descriptor and a custom backing map listener class that would log all corresponding backing map events.
     Regards,
     Gene<br><br> <b> Attachment: </b><br>dist-listen.xml <br> (*To use this attachment you will need to rename 344.bin to dist-listen.xml after the download is complete.)<br><br> <b> Attachment: </b><br>BackingMapListener.java <br> (*To use this attachment you will need to rename 345.bin to BackingMapListener.java after the download is complete.)

Similar Messages

  • Cluster Node Joining other cluster

    Because of a network problem, two of our clusters shared their interconnects. This of course lead to duplicated IPs on the interconnects and reboots of the nodes. Now one of the cluster nodes of cluster a tried to join the ClusterB:
    cluster.name   
    cluster.state   enabled
    cluster.properties.cluster_id   0x48FDxxxx  [ Different from Node A ]
    cluster.properties.installmode  disabled
    cluster.properties.auth_joinlist_type   sys
    cluster.properties.auth_joinlist_hostslist      ,
    cluster.properties.cmm_version  1
    cluster.nodes.1.name    I am really surprised this node tried to join the other cluster, seems it got the ccr from there during one of the reboots.
    The real question i have now is jow to get out of this as soon as we have fixed the network problem, how can we bring back this node to the ClusterA, must we reinstall it.
    Fritz

    I'm surprised that an invalid node picked up a CCR update from a cluster that it wasn't part of. I would have expected the cluster ids to be different and thus prevent this, but to be honest I haven't checked to see how much prevention there is against this.
    Anyway, to get out of it you could hack the CCRs on the other clusters and try and put them onto a different subnet with different private addresses. You'll need to use ccradm. Messy though.
    Tim
    ---

  • DAG Node Join Fail–0x5b4

    hi
    Unable to add member to DAG
    A server side database availability group administrative operation operation failed with a transient error. 
    Please try the operation again. Error:  An error occured
    while attempting a cluster operation. Error: Cluster API failed "CreateCluster() failed with 0x5b4.
    Operation returned because timeout period expired
    I am using Exchange 2013 SP1 on win2012 R2
    Server1(MB CAS)
    MAPI- 192.168.1.10 Replication NIC : 10.0.0.1
    Server2(witness Server)
    MAPI -192.168.1.11 Replication NIC : 10.0.0.2
    i just assigned the ips to replication NIC thats it.Do i need to team the adapters on exchange and witness server?
    I hav created DAG with below settings
    New DAG name :MYDAG(disabled CNO in dsa.msc)
    Witness server : ws.mydomain.com
    witness directory : c:\dag01
    ip : is this right ip(i have assigned mapi ip of witness server i.e 192.168.1.11)
    please guide me

    add-databaseavailabiltygroupserver started on machine MAIL1.
    [2015-01-08T01:27:26] add-dagserver started
    [2015-01-08T01:27:26] commandline:         $scriptCmd = {& $wrappedCmd @PSBoundParameters }
    [2015-01-08T01:27:26] Option 'Identity' = 'EX2K13DAG01'.
    [2015-01-08T01:27:26] Option 'MailboxServer' = 'MAIL1'.
    [2015-01-08T01:27:26] Option 'DatabaseAvailabilityGroupIpAddresses' = ''.
    [2015-01-08T01:27:26] Option 'WhatIf' = ''.
    [2015-01-08T01:27:26] Process: w3wp w3wp.exe:9120.
    [2015-01-08T01:27:26] User context = 'NT AUTHORITY\SYSTEM'.
    [2015-01-08T01:27:26]   Member of group 'Everyone'.
    [2015-01-08T01:27:26]   Member of group 'BUILTIN\Pre-Windows 2000 Compatible Access'.
    [2015-01-08T01:27:26]   Member of group 'BUILTIN\Users'.
    [2015-01-08T01:27:26]   Member of group 'NT AUTHORITY\SERVICE'.
    [2015-01-08T01:27:26]   Member of group 'CONSOLE LOGON'.
    [2015-01-08T01:27:26]   Member of group 'NT AUTHORITY\Authenticated Users'.
    [2015-01-08T01:27:26]   Member of group 'NT AUTHORITY\This Organization'.
    [2015-01-08T01:27:26]   Member of group 'BUILTIN\IIS_IUSRS'.
    [2015-01-08T01:27:26]   Member of group 'LOCAL'.
    [2015-01-08T01:27:26]   Member of group 'IIS APPPOOL\MSExchangeECPAppPool'.
    [2015-01-08T01:27:26]   Member of group 'BUILTIN\Administrators'.
    [2015-01-08T01:27:26] Updated Progress 'Validating the parameters.' 2%.
    [2015-01-08T01:27:26] Working
    [2015-01-08T01:27:26] Mailbox server: value passed in = MAIL1, mailboxServer.Name = MAIL1, mailboxServer.Fqdn = mail1.mydomain.com
    [2015-01-08T01:27:26] LogClussvcState: clussvc is Stopped on mail1.mydomain.com. Exception (if any) = none
    [2015-01-08T01:27:26] The IP addresses for the DAG are (blank means DHCP): 192.168.1.50
    [2015-01-08T01:27:26] Looking up IP addresses for EX2K13DAG01.
    [2015-01-08T01:27:26]   EX2K13DAG01 = [ 192.168.1.50 ].
    [2015-01-08T01:27:26] Looking up IP addresses for mail1.
    [2015-01-08T01:27:26]   mail1 = [ fe80::5de4:72e2:a34a:59a8%12, 192.168.1.25, 169.254.43.31 ].
    [2015-01-08T01:27:26] Looking up IP addresses for mail1.mydomain.com.
    [2015-01-08T01:27:26]   mail1.mydomain.com = [ fe80::5de4:72e2:a34a:59a8%12, 192.168.1.25, 169.254.43.31 ].
    [2015-01-08T01:27:26] DAG EX2K13DAG01 has 0 servers:
    [2015-01-08T01:27:26] According to GetNodeClusterState(), the server MAIL1 is NotConfigured.
    [2015-01-08T01:27:26] Updated Progress 'Checking if Mailbox server 'MAIL1' is in a database availability group.' 4%.
    [2015-01-08T01:27:26] Working
    [2015-01-08T01:27:26] GetRemoteCluster() for the mailbox server failed with exception = An error occurred while attempting a cluster operation. 
    Error: Cluster API failed: "OpenCluster(mail1.mydomain.com) failed with 0x6d9. Error: There are no more endpoints available from the endpoint mapper". This is OK.
    [2015-01-08T01:27:26] Ignoring previous error, as it is acceptable if the cluster does not exist yet.
    [2015-01-08T01:27:26] DumpClusterTopology: Opening remote cluster EX2K13DAG01.
    [2015-01-08T01:27:26] DumpClusterTopology: Failed opening with Microsoft.Exchange.Cluster.Shared.AmGetFqdnFailedNotFoundException:
     The fully qualified domain name for node 'EX2K13DAG01' could not be found.
       at Microsoft.Exchange.Cluster.Shared.AmServerNameCache.<>c__DisplayClass1.<ResolveFqdn>b__0(Object param0, EventArgs param1)
       at Microsoft.Exchange.Cluster.Shared.SharedHelper.RunADOperationEx(EventHandler ev)
       at Microsoft.Exchange.Cluster.Shared.AmServerNameCache.ResolveFqdn(String shortNodeName, Boolean throwException)
       at Microsoft.Exchange.Cluster.Shared.AmServerNameCache.GetFqdn(String shortNodeName, Boolean throwException)
       at Microsoft.Exchange.Cluster.Shared.AmServerName..ctor(String serverName, Boolean throwOnFqdnError)
       at Microsoft.Exchange.Management.SystemConfigurationTasks.DumpClusterTopology..ctor(String nameCluster, ITaskOutputHelper output)
    [2015-01-08T01:27:26] Dumping the cluster by connecting to: EX2K13DAG01.
    [2015-01-08T01:27:26] DumpClusterTopology: Not dumping, since the cluster could not be contacted.
    [2015-01-08T01:27:26] The new server (MAIL1) is not a member of a cluster, nor are the other servers (if there are any other servers).
    [2015-01-08T01:27:26] The computer account EX2K13DAG01 does not exist.
    [2015-01-08T01:27:26] InternalValidate() done.
    [2015-01-08T01:27:26] Updated Progress 'Adding server 'MAIL1' to database availability group 'EX2K13DAG01'.' 6%.
    [2015-01-08T01:27:26] Working
    [2015-01-08T01:27:26] Connecting to server 'mail1.mydomain.com' via WMI...
    [2015-01-08T01:27:26] Fetching the network adapters and including the ones without default gateways.
    [2015-01-08T01:27:26] mail1.mydomain.com has an address: 192.168.1.25/24 default gateway(s)=192.168.1.2 [valid]
    [2015-01-08T01:27:26] IP address derived that's suitable for clustering DHCP/IPv6: 192.168.1.0/24.
    [2015-01-08T01:27:26] mail1.mydomain.com has an address: fe80::5de4:72e2:a34a:59a8/64 default gateway(s)=192.168.1.2 [invalid]
    [2015-01-08T01:27:26] The address 192.168.1.50 falls under the network (192.168.1.0/24).
    [2015-01-08T01:27:26] Updated Progress 'Forming cluster named 'EX2K13DAG01' on server 'MAIL1'.' 8%.
    [2015-01-08T01:27:26] Working
    [2015-01-08T01:27:26] Forming cluster named 'EX2K13DAG01' on server 'MAIL1'. The cluster address is/are [192.168.1.50], and the cluster network prefix
     length is/are [24].
    [2015-01-08T01:30:29] The following log entry comes from a different process that's running on machine 'MAIL1'. BEGIN
    [2015-01-08T01:30:29] [2015-01-08T01:27:26] Updated Progress 'Forming cluster named 'EX2K13DAG01' on server 'mail1'.' 2%.
    [2015-01-08T01:27:26] Working
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseInitialize, ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 5, szObjectName = EX2K13DAG01, dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseInitialize, ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 5, szObjectName = , dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateNodeState, ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 10, szObjectName = mail1.mydomain.com, dwStatus =
    0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateNodeState, ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 10, szObjectName = , dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateNodeState, ePhaseType = 4, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 10, szObjectName = Find a suitable domain controller for node mail1.mydomain.com.,
    dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseQueryClusterNameAccount, ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 15, szObjectName = EX2K13DAG01, dwStatus =
    0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseQueryClusterNameAccount, ePhaseType = 4, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 15, szObjectName = Bind to domain controller \\mail1.mydomain.com.,
    dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseQueryClusterNameAccount, ePhaseType = 4, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 15, szObjectName = Check whether the computer object EX2K13DAG01
    for node mail1.mydomain.com exists in the domain. Domain controller \\mail1.mydomain.com., dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseQueryClusterNameAccount, ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 15, szObjectName = , dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseQueryClusterNameAccount, ePhaseType = 4, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 15, szObjectName = Computer object for node mail1.mydomain.com exists
    in the domain., dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateClusterNameAccount, ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 21, szObjectName = EX2K13DAG01, dwStatus
    = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateClusterNameAccount, ePhaseType = 4, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 21, szObjectName = Checking for account information for the computer
    object in the 'UserAccountControl' flag for CN=EX2K13DAG01,OU=ExchangeDAGGroup,DC=mydomain,DC=com., dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateClusterNameAccount, ePhaseType = 4, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 21, szObjectName = Enable computer object EX2K13DAG01 on domain
    controller \\mail1.mydomain.com., dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateClusterNameAccount, ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 21, szObjectName = , dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseConfigureClusterAccount, ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 26, szObjectName = EX2K13DAG01 in organizational
    unit OU=ExchangeDAGGroup,DC=mydomain,DC=com dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseConfigureClusterAccount, ePhaseType = 4, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 26, szObjectName = Get GUID of computer object with FQDN: CN=EX2K13DAG01,OU=ExchangeDAGGroup,DC=mydomain,DC=com,
    dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseConfigureClusterAccount, ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 26, szObjectName = , dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateNetft, ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 31, szObjectName = mail1.mydomain.com, dwStatus = 0x0
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateNetft, ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 31, szObjectName = , dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateClusDisk, ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 36, szObjectName = mail1.mydomain.com, dwStatus =
    0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseValidateClusDisk, ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 36, szObjectName = , dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseConfigureClusSvc, ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 42, szObjectName = mail1.mydomain.com, dwStatus =
    0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseConfigureClusSvc, ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 42, szObjectName = , dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseStartingClusSvc, ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 47, szObjectName = mail1.mydomain.com, dwStatus = 0x0
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseStartingClusSvc, ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 47, szObjectName = , dwStatus = 0x0 )
    [2015-01-08T01:27:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseFormingCluster, ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 52, szObjectName = EX2K13DAG01, dwStatus = 0x0 )
    [2015-01-08T01:30:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseFormingCluster, ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseFatal, dwPercentComplete = 52, szObjectName = EX2K13DAG01, dwStatus = 0x5b4 )
    [2015-01-08T01:30:26] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseFailureCleanup, ePhaseType = ClusterSetupPhaseStart, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 52, szObjectName = mail1.mydomain.com, dwStatus = 0x0
    [2015-01-08T01:30:29] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseFailureCleanup, ePhaseType = ClusterSetupPhaseContinue, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 52, szObjectName = EX2K13DAG01, dwStatus = 0x0 )
    [2015-01-08T01:30:29] ClusterSetupProgressCallback( eSetupPhase = ClusterSetupPhaseFailureCleanup, ePhaseType = ClusterSetupPhaseEnd, ePhaseSeverity = ClusterSetupPhaseInformational, dwPercentComplete = 52, szObjectName = , dwStatus = 0x0 )
    [2015-01-08T01:30:29] The operation wasn't successful because an error was encountered. You may find more details in log file 
    "C:\ExchangeSetupLogs\DagTasks\dagtask_2015-01-08_01-27-26.627_add-databaseavailabiltygroupserver.log".
    [2015-01-08T01:30:29] WriteError! Exception = Microsoft.Exchange.Cluster.Replay.DagTaskServerTransientException:
     A server-side database availability group administrative operation failed with a transient error. Please try the operation again. Error: An error occurred while attempting a cluster operation. Error: Cluster API failed: "CreateCluster() failed with
    0x5b4. Error: This operation returned because the timeout period expired" ---> Microsoft.Exchange.Cluster.Shared.ClusterApiException: An error occurred while attempting a cluster operation. Error: Cluster API failed: "CreateCluster() failed with
    0x5b4. Error: This operation returned because the timeout period expired" ---> System.ComponentModel.Win32Exception: This operation returned because the timeout period expired
       --- End of inner exception stack trace ---
       at Microsoft.Exchange.Cluster.ClusApi.AmCluster.CreateExchangeCluster(String clusterName, AmServerName firstNodeName, 
    String[] ipAddress, UInt32[] ipPrefixLength, IClusterSetupProgress setupProgress, IntPtr context, Exception& failureException, Boolean throwExceptionOnFailure)
       at Microsoft.Exchange.Cluster.ActiveManagerServer.ClusterFactory.CreateExchangeCluster(String clusterName, AmServerName firstNodeName, String[] ipAddress, UInt32[] ipPrefixLength, IClusterSetupProgress setupProgress, IntPtr context, Exception&
    failureException, Boolean throwExceptionOnFailure)
       at Microsoft.Exchange.Cluster.Replay.DagHelper.CreateDagCluster(String clusterName, AmServerName firstNodeName, String[] ipAddresses, UInt32[] 
    netmasks, String& verboseLog)
       --- End of inner exception stack trace (Microsoft.Exchange.Cluster.Shared.ClusterApiException) ---
       at Microsoft.Exchange.Cluster.Replay.DagHelper.ThrowDagTaskOperationWrapper(Exception exception)
       at Microsoft.Exchange.Cluster.Replay.DagHelper.CreateDagCluster(String clusterName, AmServerName firstNodeName, String[] ipAddresses, UInt32[] netmasks, String& verboseLog)
       at Microsoft.Exchange.Cluster.ReplayService.ReplayRpcServer.<>c__DisplayClass40.<RpcsCreateCluster>b__3f()
       at Microsoft.Exchange.Data.Storage.Cluster.HaRpcExceptionWrapperBase`2.RunRpcServerOperation(String databaseName, RpcServerOperation rpcOperation)
       --- End of stack trace on server (mail1.mydomain.com) ---
       at Microsoft.Exchange.Data.Storage.Cluster.HaRpcExceptionWrapperBase`2.ClientRethrowIfFailed(String databaseName, String serverName, RpcErrorExceptionInfo errorInfo)
       at Microsoft.Exchange.Cluster.Replay.ReplayRpcClientWrapper.RunCreateCluster(AmServerName rpcServerName, String clusterName, AmServerName firstNode, String[] ipaddrs, UInt32[] netmasks, String& verboseLog)
       at Microsoft.Exchange.Management.SystemConfigurationTasks.AddDatabaseAvailabilityGroupServer.FormCluster()
    [2015-01-08T01:30:29] Updated Progress 'Done!' 100%.
    [2015-01-08T01:30:29] COMPLETED
    add-databaseavailabiltygroupserver explicitly called CloseTempLogFile().

  • Make parallel query (e.g. partition-wise join) evenly distributed cross RAC

    How To Make Parallel Query's Slaves (e.g. full partition-wise join) Evenly Distributed Across RAC Nodes?
    Environment
    * 4-node Oracle 10gR2 (10.2.0.3)
    * all instances are included in the same distribution group
    * tables are hash-partitioned by the same join key
    * 8-CPU per node, 48GB RAM per node
    Query
    Join 3 big tables (each has DOP=4) based on the hash partition key column.
    Problem
    The QC is always on one node, and all the slaves are on another node. The slave processes are supposed to be distributed or allocated to multiple nodes/instances, but even the query spawns 16 or more slaves, these slaves are running from only one node. And the QC process is never running on the same node! ? ! ? !
    The other 2 nodes are not busy during this time. Is there any configuration wrong or missing here? Why can't the RAC distribute the slaves better, or at least run some slaves together with QC?
    Please advise.
    Thank you very much!
    Eric

    Hi,
    If your PARALLEL_INSTANCE_GROUP and LOAD_BALANCING is set properly it means the oracle is assuming that intra node parallelism is more beneficial than inter node parallelism, i mean parallelism across multiple nodes. This is very true in scenarios where partition wise joins are involved. intra node parallelism avoids unnecessary interconnect traffic.

  • Partition wise join

    Hello,
    i'm playing with partition. I have read about (full) partition wise join in hash-hash table. The description and the example is in Oracle Database Warehousing guide (b14223.pdf) in chaper 5.
    <cite>
    A full partition-wise join divides a large join into smaller joins between a pair of
    partitions from the two joined tables. To use this feature, you must equipartition both
    tables on their join keys. For example, consider a large join between a sales table and a
    customer table on the column customerid. The query "find the records of all
    customers who bought more than 100 articles in Quarter 3 of 1999" is a typical example
    of a SQL statement performing such a join. The following is an example of this:
    SELECT c.cust_last_name, COUNT(*)
    FROM sales s, customers c
    WHERE s.cust_id = c.cust_id AND
    s.time_id BETWEEN TO_DATE('01-JUL-1999', 'DD-MON-YYYY') AND
    (TO_DATE('01-OCT-1999', 'DD-MON-YYYY'))
    GROUP BY c.cust_last_name HAVING COUNT(*) > 100;
    </cite>
    I have created some sales table with 1M rows and customers table with 1k rows (it means that approximately each customer has one thousand of invoices). Both tables are hash partitioned with 64 partitions. The are analyzed. But there is not any improvement comparing the same table without paritioning and with index on customerid column.
    I would just to see that partition wise joins is working. It means is is either faster or it consume less resources.
    Thanks
    sasa

    I don't think that 64 partition is too many ... the problem is that there isn't any gain from partitioning.
    Lets see the explain plan:
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
    | 0 | SELECT STATEMENT | | 50 | 2500 | 11436 (5)| 00:02:18 | | |
    |* 1 | FILTER | | | | | | | |
    | 2 | HASH GROUP BY | | 50 | 2500 | 11436 (5)| 00:02:18 | | |
    |* 3 | HASH JOIN | | 903K| 43M| 11320 (4)| 00:02:16 | | |
    | 4 | PARTITION HASH ALL| | 1000 | 34000 | 88 (0)| 00:00:02 | 1 | 64 |
    | 5 | TABLE ACCESS FULL| PART_CUSTOMERS | 1000 | 34000 | 88 (0)| 00:00:02 | 1 | 64 |
    | 6 | PARTITION HASH ALL| | 903K| 13M| 11219 (4)| 00:02:15 | 1 | 64 |
    |* 7 | TABLE ACCESS FULL| PART_INVOICES | 903K| 13M| 11219 (4)| 00:02:15 | 1 | 64 |
    And compare this explain plan with the following which is created on non-partition tables (the cost of expalin plan for non partitioned tables is 180 compare to cost 11436 of partitioned tables):
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 46 | 180 (2)| 00:00:03 |
    |* 1 | FILTER | | | | | |
    | 2 | HASH GROUP BY | | 1 | 46 | 180 (2)| 00:00:03 |
    |* 3 | TABLE ACCESS BY INDEX ROWID | PART_INVOICES2 | 903 | 10836 | 177 (1)| 00:00:03 |
    | 4 | NESTED LOOPS | | 903 | 41538 | 179 (1)| 00:00:03 |
    | 5 | TABLE ACCESS BY INDEX ROWID| PART_CUSTOMERS2 | 1 | 34 | 2 (0)| 00:00:01 |
    |* 6 | INDEX RANGE SCAN | PART_CUSTOMERS2_IDX01 | 1 | | 1 (0)| 00:00:01 |
    |* 7 | INDEX RANGE SCAN | PART_INVOCIES2_IDX02 | 9991 | | 22 (0)| 00:00:01 |
    ---------------------------------------------------------------------------------------------------------

  • Expected for a partition-wise join?

    I have two tables that are partitioned by a hash of the same VARCHAR2(16) strings. When I do a query similar to
    select * from table1 a join table2 b
    on b.partition_Column = a.partition_Column
    I get the following as the "Operation" portion of an explain from Oracle Developer running Oracle 11gR1:
    PARTITION HASH(ALL)
    HASH JOIN
    TABLE ACCESS(FULL) schema.Table1
    TABLE ACCESS(FULL) schema.Table2
    Is this indicative of a partition-wise hashed join?

    pstart/pstop does give partition information but the key to whether this is a "partition-wise" join, is that the partition operation is above the join operation.
    Using David's tables above, example of serial partition-wise join:
    | Id  | Operation           | Name   | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     | Pstart| Pstop |
    |   0 | SELECT STATEMENT    |        |  2500M|  4670G|       |   111K (61)| 00:09:17 |       |       |
    |   1 |  PARTITION HASH ALL |        |  2500M|  4670G|       |   111K (61)| 00:09:17 |     1 |     8 |
    |*  2 |   HASH JOIN         |        |  2500M|  4670G|    12M|   111K (61)| 00:09:17 |       |       |
    |   3 |    TABLE ACCESS FULL| TABLE1 |   100K|    95M|       |  5891   (1)| 00:00:30 |     1 |     8 |
    |   4 |    TABLE ACCESS FULL| TABLE2 |   200K|   191M|       | 11808   (1)| 00:01:00 |     1 |     8 |
    ------------------------------------------------------------------------------------------------------Example of serial non PWJ:
    | Id  | Operation           | Name   | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     | Pstart| Pstop |
    |   0 | SELECT STATEMENT    |        |  2500M|  4670G|       |   111K (61)| 00:09:17 |       |       |
    |*  1 |  HASH JOIN          |        |  2500M|  4670G|    96M|   111K (61)| 00:09:17 |       |       |
    |   2 |   PARTITION HASH ALL|        |   100K|    95M|       |  5891   (1)| 00:00:30 |     1 |     8 |
    |   3 |    TABLE ACCESS FULL| TABLE1 |   100K|    95M|       |  5891   (1)| 00:00:30 |     1 |     8 |
    |   4 |   PARTITION HASH ALL|        |   200K|   191M|       | 11808   (1)| 00:01:00 |     1 |     8 |
    |   5 |    TABLE ACCESS FULL| TABLE2 |   200K|   191M|       | 11808   (1)| 00:01:00 |     1 |     8 |
    ------------------------------------------------------------------------------------------------------Example of parallel PWJ:
    | Id  | Operation               | Name     | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |    TQ  |IN-OUT| PQ Distrib |
    |   0 | SELECT STATEMENT        |          |  2500M|  4670G| 23536  (80)| 00:01:58 |       |       |        |      |            |
    |   1 |  PX COORDINATOR         |          |       |       |            |          |       |       |        |      |            |
    |   2 |   PX SEND QC (RANDOM)   | :TQ10000 |  2500M|  4670G| 23536  (80)| 00:01:58 |       |       |  Q1,00 | P->S | QC (RAND)  |
    |   3 |    PX PARTITION HASH ALL|          |  2500M|  4670G| 23536  (80)| 00:01:58 |     1 |     8 |  Q1,00 | PCWC |            |
    |*  4 |     HASH JOIN           |          |  2500M|  4670G| 23536  (80)| 00:01:58 |       |       |  Q1,00 | PCWP |            |
    |   5 |      TABLE ACCESS FULL  | TABLE1   |   100K|    95M|  1628   (1)| 00:00:09 |     1 |     8 |  Q1,00 | PCWP |            |
    |   6 |      TABLE ACCESS FULL  | TABLE2   |   200K|   191M|  3263   (1)| 00:00:17 |     1 |     8 |  Q1,00 | PCWP |            |
    ---------------------------------------------------------------------------------------------------------------------------------E.g. parallel non PWJ:
    | Id  | Operation                  | Name     | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |    TQ  |IN-OUT| PQ Distrib |
    |   0 | SELECT STATEMENT           |          |  2500M|  4670G| 23536  (80)| 00:01:58 |       |       |        |      |            |
    |   1 |  PX COORDINATOR            |          |       |       |            |          |       |       |        |      |            |
    |   2 |   PX SEND QC (RANDOM)      | :TQ10001 |  2500M|  4670G| 23536  (80)| 00:01:58 |       |       |  Q1,01 | P->S | QC (RAND)  |
    |*  3 |    HASH JOIN               |          |  2500M|  4670G| 23536  (80)| 00:01:58 |       |       |  Q1,01 | PCWP |            |
    |   4 |     PART JOIN FILTER CREATE| :BF0000  |   100K|    95M|  1628   (1)| 00:00:09 |       |       |  Q1,01 | PCWP |            |
    |   5 |      PX RECEIVE            |          |   100K|    95M|  1628   (1)| 00:00:09 |       |       |  Q1,01 | PCWP |            |
    |   6 |       PX SEND BROADCAST    | :TQ10000 |   100K|    95M|  1628   (1)| 00:00:09 |       |       |  Q1,00 | P->P | BROADCAST  |
    |   7 |        PX BLOCK ITERATOR   |          |   100K|    95M|  1628   (1)| 00:00:09 |     1 |     8 |  Q1,00 | PCWC |            |
    |   8 |         TABLE ACCESS FULL  | TABLE1   |   100K|    95M|  1628   (1)| 00:00:09 |     1 |     8 |  Q1,00 | PCWP |            |
    |   9 |     PX BLOCK ITERATOR      |          |   200K|   191M|  3263   (1)| 00:00:17 |:BF0000|:BF0000|  Q1,01 | PCWC |            |
    |  10 |      TABLE ACCESS FULL     | TABLE2   |   200K|   191M|  3263   (1)| 00:00:17 |:BF0000|:BF0000|  Q1,01 | PCWP |            |
    ------------------------------------------------------------------------------------------------------------------------------------Edited by: Dom Brooks on Jul 8, 2011 11:32 AM
    Added serial vs parallel

  • Hint to disable partition wise join

    Is there a way to disable partition wise join(serial) in 10gR2? i.e. via hint.. The reason I want to do this is, to use intra-partition parallelism for a very big partition. re-partitioning or subpartitioning is not an option for now. SQL is scanning only one partition so P-W join is not useful and it limit the intra-partition parallelism.
    TIA for your answers.

    user4529833 wrote:
    Above is the plan. Currently there is no prallelism being used but P-W join is used as you can see. Table EC is huge .. (cardinality is screwed up here becasue of IN clause , which has just one vallid part key. [ 3rd party crappy app, so can't change it.] ) . I'd like to enable parallelism here using parallel (EC, 6) hint , it just applied to hash-join and not to table EC because of P-W join, I believe. What I want is to scan EC table via PQ slave.. i.e. PX BLOCK INTERATOR step before TABLE access step... How do I get one? Will PQ_DISTRIBUTE help me there??? or Is there any way to speed up the scan of EC..
    The pq_distribute() should do the job. Here's an example
    select      
         /*+
              parallel(pt_range_1 2)
              parallel(pt_range_2 2)
              ordered
    --          pq_distribute(pt_range_2 hash hash)
    --          pq_distribute(pt_range_2 broadcast none)
         pt_range_2.grp,
         count(pt_range_1.small_vc)
    from
         pt_range_1,
         pt_range_2
    where     
         pt_range_1.id in (10,20,40)
    and     pt_range_2.id = pt_range_1.id
    group by
         pt_range_2.grp
    | Id  | Operation                      | Name       | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |    TQ  |IN-OUT| PQ Distrib |
    |   0 | SELECT STATEMENT               |            |     3 |    42 |     6  (34)| 00:00:01 |       |       |        |      |            |
    |   1 |  PX COORDINATOR                |            |       |       |            |          |       |       |        |      |            |
    |   2 |   PX SEND QC (RANDOM)          | :TQ10001   |     3 |    42 |     6  (34)| 00:00:01 |       |       |  Q1,01 | P->S | QC (RAND)  |
    |   3 |    HASH GROUP BY               |            |     3 |    42 |     6  (34)| 00:00:01 |       |       |  Q1,01 | PCWP |            |
    |   4 |     PX RECEIVE                 |            |     3 |    42 |     5  (20)| 00:00:01 |       |       |  Q1,01 | PCWP |            |
    |   5 |      PX SEND HASH              | :TQ10000   |     3 |    42 |     5  (20)| 00:00:01 |       |       |  Q1,00 | P->P | HASH       |
    |   6 |       PX PARTITION RANGE INLIST|            |     3 |    42 |     5  (20)| 00:00:01 |KEY(I) |KEY(I) |  Q1,00 | PCWC |            |
    |*  7 |        HASH JOIN               |            |     3 |    42 |     5  (20)| 00:00:01 |       |       |  Q1,00 | PCWP |            |
    |*  8 |         TABLE ACCESS FULL      | PT_RANGE_1 |     3 |    21 |     2   (0)| 00:00:01 |KEY(I) |KEY(I) |  Q1,00 | PCWP |            |
    |*  9 |         TABLE ACCESS FULL      | PT_RANGE_2 |     3 |    21 |     2   (0)| 00:00:01 |KEY(I) |KEY(I) |  Q1,00 | PCWP |            |
    ------------------------------------------------------------------------------------------------------------------------------------------Unhinted I have a partition-wise parallel join.
    The next plan is using hash disrtibution - which may be better for you if the EX_C table is large:
    | Id  | Operation                  | Name       | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |    TQ  |IN-OUT| PQ Distrib |
    |   0 | SELECT STATEMENT           |            |     3 |    42 |     6  (34)| 00:00:01 |       |       |        |      |            |
    |   1 |  PX COORDINATOR            |            |       |       |            |          |       |       |        |      |            |
    |   2 |   PX SEND QC (RANDOM)      | :TQ10003   |     3 |    42 |     6  (34)| 00:00:01 |       |       |  Q1,03 | P->S | QC (RAND)  |
    |   3 |    HASH GROUP BY           |            |     3 |    42 |     6  (34)| 00:00:01 |       |       |  Q1,03 | PCWP |            |
    |   4 |     PX RECEIVE             |            |     3 |    42 |     5  (20)| 00:00:01 |       |       |  Q1,03 | PCWP |            |
    |   5 |      PX SEND HASH          | :TQ10002   |     3 |    42 |     5  (20)| 00:00:01 |       |       |  Q1,02 | P->P | HASH       |
    |*  6 |       HASH JOIN BUFFERED   |            |     3 |    42 |     5  (20)| 00:00:01 |       |       |  Q1,02 | PCWP |            |
    |   7 |        PX RECEIVE          |            |     3 |    21 |     2   (0)| 00:00:01 |       |       |  Q1,02 | PCWP |            |
    |   8 |         PX SEND HASH       | :TQ10000   |     3 |    21 |     2   (0)| 00:00:01 |       |       |  Q1,00 | P->P | HASH       |
    |   9 |          PX BLOCK ITERATOR |            |     3 |    21 |     2   (0)| 00:00:01 |KEY(I) |KEY(I) |  Q1,00 | PCWC |            |
    |* 10 |           TABLE ACCESS FULL| PT_RANGE_1 |     3 |    21 |     2   (0)| 00:00:01 |KEY(I) |KEY(I) |  Q1,00 | PCWP |            |
    |  11 |        PX RECEIVE          |            |     3 |    21 |     2   (0)| 00:00:01 |       |       |  Q1,02 | PCWP |            |
    |  12 |         PX SEND HASH       | :TQ10001   |     3 |    21 |     2   (0)| 00:00:01 |       |       |  Q1,01 | P->P | HASH       |
    |  13 |          PX BLOCK ITERATOR |            |     3 |    21 |     2   (0)| 00:00:01 |KEY(I) |KEY(I) |  Q1,01 | PCWC |            |
    |* 14 |           TABLE ACCESS FULL| PT_RANGE_2 |     3 |    21 |     2   (0)| 00:00:01 |KEY(I) |KEY(I) |  Q1,01 | PCWP |            |
    --------------------------------------------------------------------------------------------------------------------------------------Then the broadcast version if the EC_C data is relatively small (so that the whole set can fit in the memory of each slave)
    | Id  | Operation                  | Name       | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |    TQ  |IN-OUT| PQ Distrib |
    |   0 | SELECT STATEMENT           |            |     3 |    42 |     6  (34)| 00:00:01 |       |       |        |      |            |
    |   1 |  PX COORDINATOR            |            |       |       |            |          |       |       |        |      |            |
    |   2 |   PX SEND QC (RANDOM)      | :TQ10002   |     3 |    42 |     6  (34)| 00:00:01 |       |       |  Q1,02 | P->S | QC (RAND)  |
    |   3 |    HASH GROUP BY           |            |     3 |    42 |     6  (34)| 00:00:01 |       |       |  Q1,02 | PCWP |            |
    |   4 |     PX RECEIVE             |            |     3 |    42 |     5  (20)| 00:00:01 |       |       |  Q1,02 | PCWP |            |
    |   5 |      PX SEND HASH          | :TQ10001   |     3 |    42 |     5  (20)| 00:00:01 |       |       |  Q1,01 | P->P | HASH       |
    |*  6 |       HASH JOIN            |            |     3 |    42 |     5  (20)| 00:00:01 |       |       |  Q1,01 | PCWP |            |
    |   7 |        PX RECEIVE          |            |     3 |    21 |     2   (0)| 00:00:01 |       |       |  Q1,01 | PCWP |            |
    |   8 |         PX SEND BROADCAST  | :TQ10000   |     3 |    21 |     2   (0)| 00:00:01 |       |       |  Q1,00 | P->P | BROADCAST  |
    |   9 |          PX BLOCK ITERATOR |            |     3 |    21 |     2   (0)| 00:00:01 |KEY(I) |KEY(I) |  Q1,00 | PCWC |            |
    |* 10 |           TABLE ACCESS FULL| PT_RANGE_1 |     3 |    21 |     2   (0)| 00:00:01 |KEY(I) |KEY(I) |  Q1,00 | PCWP |            |
    |  11 |        PX BLOCK ITERATOR   |            |     3 |    21 |     2   (0)| 00:00:01 |KEY(I) |KEY(I) |  Q1,01 | PCWC |            |
    |* 12 |         TABLE ACCESS FULL  | PT_RANGE_2 |     3 |    21 |     2   (0)| 00:00:01 |KEY(I) |KEY(I) |  Q1,01 | PCWP |            |
    --------------------------------------------------------------------------------------------------------------------------------------The "hash join buffered" in the hash/hash distribution might hammer your temporary tablespace though, thanks to [an oddity I discovered |http://jonathanlewis.wordpress.com/2008/11/05/px-buffer/] in parallel hash joins a little while ago.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    "Science is more than a body of knowledge; it is a way of thinking" Carl Sagan

  • HOWTO: Create 2-node Solaris Cluster 4.1/Solaris 11.1(x64) using VirtualBox

    I did this on VirtualBox 4.1 on Windows 7 and VirtualBox 4.2 on Linux.X64. Basic pre-requisites are : 40GB disk space, 8GB RAM, 64-bit guest capable VirtualBox.
    Please read all the descriptive messages/prompts shown by 'scinstall' and 'clsetup' before answering.
    0) Download from OTN
    - Solaris 11.1 Live Media for x86(~966 MB)
    - Complete Solaris 11.1 IPS Repository Image (total 7GB)
    - Oracle Solaris Cluster 4.1 IPS Repository image (~73MB)
    1) Run VirtualBox Console, create VM1 : 3GB RAM, 30GB HDD
    2) The new VM1 has 1 NIC, add 2 more NICs (total 3). Setting the NIC to any type should be okay, 'VirtualBox Host Only Adapter' worked fine for me.
    3) Start VM1, point the "Select start-up disk" to the Solaris 11.1 Live Media ISO.
    4) Select "Oracle Solaris 11.1" in the GRUB menu. Select Keyboard layout and Language.
    VM1 will boot and the Solaris 11.1 Live Desktop screen will appear.
    5) Click <Install Oracle Solaris> from the desktop, supply necessary inputs.
    Default Disk Discovery (iSCSI not needed) and Disk Selection are fine.
    Disable the "Support Registration" connection info
    6) The alternate user created during the install has root privileges (sudo). Set appropriate VM1 name
    7) When the VM has to be rebooted after the installation is complete, make sure the Solaris 11.1 Live ISO is ejected or else the VM will again boot from the Live CD.
    8) Repeat steps 1-6, create VM2 and install Solaris.
    9) FTP(secure) the Solaris 11.1 Repository IPS and Solaris Cluster 4.1 IPS onto both the VMs e.g under /home/user1/
    10) We need to setup both the packages: Solaris 11.1 Repository and Solaris Cluster 4.1
    11) All commands now to be run as root
    12) By default the 'solaris' repository is of type online (pkg.oracle.com), that needs to be updated to the local ISO we downloaded :-
    +$ sudo sh+
    +# lofiadm -a /home/user1/sol-11_1-repo-full.iso+
    +//output : /dev/lofi/N+
    +# mount -F hsfs /dev/lofi/N /mnt+
    +# pkg set-publisher -G '*' -M '*' -g /mnt/repo solaris+
    13) Setup the ha-cluster package :-
    +# lofiadm -a /home/user1/osc-4_1-ga-repo-full.iso+
    +//output : /dev/lofi/N+
    +# mkdir /mnt2+
    +# mount -f hsfs /dev/lofi/N /mnt2+
    +# pkg set-publisher -g file:///mnt2/repo ha-cluster+
    14) Verify both packages are fine :-
    +# pkg publisher+
    PUBLISHER                   TYPE     STATUS P LOCATION
    solaris                     origin   online F file:///mnt/repo/
    ha-cluster                  origin   online F file:///mnt2/repo/
    15) Install the complete SC4.1 package by installing 'ha-cluster-full'
    +# pkg install ha-cluster-full+
    14) Repeat steps 12-15 on VM2.
    15) Now both VMs have the OS and SC4.1 installed.
    16) By default the 3 NICs are in the "Automatic" profile and have DHCP configured. We need to activate the Fixed profile and put the 3 NICs into it. Only 1 interface, the public interface, needs to be
    configured. The other 2 are for the cluster interconnect and will be automatically configured by scinstall. Execute the following commands :-
    +# netadm enable -p ncp defaultfixed+
    +//verify+
    +# netadm list -p ncp defaultfixed+
    +#Configure the public-interface+
    +#Verify none of the interfaces are listed, add all the 3+
    +# ipadm show-if+
    +# run dladm show-phys or dladm show-link to check interface names : must be net0/net1/net2+
    +# ipadm create-ip net0+
    +# ipadm create-ip net1+
    +# ipadm create-ip net2+
    +# ipadm show-if+
    +//select proper IP and configure the public interface. I have used 192.168.56.171 & 172+
    +# ipadm create-addr -T static -a 192.168.56.171/24 net0/publicip+
    +#IP plumbed, restart+
    +# ipadm down-addr -t net0/publicip+
    +# ipadm up-addr -t net0/publicip+
    +//Verify publicip is fine by pinging the host+
    +# ping 192.168.56.1+
    +//Verify, net0 should be up, net1/net2 should be down+
    +# ipadm+
    17) Repeat step 16 on VM2
    18) Verify both VMs can ping each other using the public IP. Add entries to each other's /etc/hosts
    Now we are ready to run scinstall and create/configure the 2-node cluster
    19)
    +# cd /usr/cluster/bin+
    +# ./scinstall+
    select 1) Create a new cluster ...
    select 1) Create a new cluster
    select 2) Custom in "Typical or Custom Mode"
    Enter cluster name : mycluster1 (e.g)
    Add the 2 nodes : solvm1 & solvm2 and press <ctrl-d>
    Accept default "No" for <Do you need to use DES authentication>"
    Accept default "Yes" for <Should this cluster use at least two private networks>
    Enter "No" for <Does this two-node cluster use switches>
    Select "1)net1" for "Select the first cluster transport adapter"
    If there is warning of unexpected traffic on "net"1, ignore it
    Enter "net1" when it asks corresponding adapter on "solvm2"
    Select "2)net2" for "Select the second cluster transport adapter"
    Enter "net2" when it asks corresponding adapter on "solvm2"
    Select "Yes" for "Is it okay to accept the default network address"
    Select "Yes" for "Is it okay to accept the default network netmask"Now the IP addresses 172.16.0.0 will be plumbed in the 2 private interfaces
    Select "yes" for "Do you want to turn off global fencing"
    (These are SATA serial disks, so no fencing)
    Enter "Yes" for "Do you want to disable automatic quorum device selection"
    (we will add quorum disks later)
    Enter "Yes" for "Proceed with cluster creation"
    Select "No" for "Interrupt cluster creation for cluster check errors"
    The second node will be configured and 2nd node rebooted
    The first node will be configured and rebootedAfter both nodes have rebooted, verify the cluster has been created and both nodes joined.
    On both nodes :-
    +# cd /usr/cluster/bin+
    +# ./clnode status+
    +//should show both nodes Online.+
    At this point there are no quorum disks, so 1 of the node's will be designated quorum vote. That node VM has to be up for the other node to come up and cluster to be formed.
    To check the current quorum status, run :-
    +# ./clquorum show+
    +//one of the nodes will have 1 vote and other 0(zero).+
    20)
    Now the cluster is in 'Installation Mode' and we need to add a quorum disk.
    Shutdown both the nodes as we will be adding shared disks to both of them
    21)
    Create 2 VirtualBox HDDs (VDI Files) on the host, 1 for quorum and 1 for shared filesystem. I have used a size of 1 GB for each :-
    *$ vboxmanage createhd --filename /scratch/myimages/sc41cluster/sdisk1.vdi --size 1024 --format VDI --variant Fixed*
    *0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%*
    *Disk image created. UUID: 899147b9-d21f-4495-ad55-f9cf1ae46cc3*
    *$ vboxmanage createhd --filename /scratch/myimages/sc41cluster/sdisk2.vdi --size 1024 --format VDI --variant Fixed*
    *0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%*
    *Disk image created. UUID: 899147b9-d22f-4495-ad55-f9cf15346caf*
    22)
    Attach these disks to both the VMs as shared type
    *$ vboxmanage storageattach solvm1 --storagectl "SATA" --port 1 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk1.vdi --mtype shareable*
    *$ vboxmanage storageattach solvm1 --storagectl "SATA" --port 2 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk2.vdi --mtype shareable*
    *$ vboxmanage storageattach solvm2 --storagectl "SATA" --port 1 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk1.vdi --mtype shareable*
    *$ vboxmanage storageattach solvm2 --storagectl "SATA" --port 2 --device 0 --type hdd --medium /scratch/myimages/sc41cluster/sdisk2.vdi --mtype shareable*
    The disks are attached to SATA ports 1 & 2 of each VM. On my VirtualBox on Linux, the controller type is "SATA", whereas on Windows it is "SATA Controller".
    The "--mtype shareable' parameter is important
    23)
    Mark both disks as shared :-
    *$ vboxmanage modifyhd /scratch/myimages/sc41cluster/sdisk1.vdi --type shareable*
    *$ vboxmanage modifyhd /scratch/myimages/sc41cluster/sdisk2.vdi --type shareable*
    24) Start both VMs. We need to format the 2 shared disks
    25) From VM1, run format. In my case, the 2 new shared disks show up as 'c7t1d0' and 'c7t2d0'.
    +# format+
    select disk 1 (c7t1d0)
    [disk formated]
    FORMAT MENU
    fdisk
    Type 'y' to accept default partition
    partition
    0
    <enter>
    <enter>
    1
    995mb
    print
    label
    <yes>
    quit
    quit26) Repeat step 25) for the 2nd disk (c7t2d0)
    27) Make sure the shared disks can be used for quorum :-
    On VM1
    +# ./cldevice refresh+
    +# ./cldevice show+
    On VM2
    +# ./cldevice refresh+
    +# ./cldevice show+
    The shared disks should have the same DID (d2,d3,d4 etc). Note down the DID that you are going to use for quorum (e.g d2)
    By default, global fencing is enabled for these disks. We need to turn it off for all disks as these are SATA disks :-
    +# cldevice set -p default_fencing=nofencing-noscrub d1+
    +# cldevice set -p default_fencing=nofencing-noscrub d2+
    +# cldevice set -p default_fencing=nofencing-noscrub d3+
    +# cldevice set -p default_fencing=nofencing-noscrub d4+
    28) It is better to do one more reboot of both VMs, otherwise I got a error when adding the quorum disk
    29) Run clsetup to add quorum disk and to complete cluster configuration :-
    +# ./clsetup+
    === Initial Cluster Setup ===
    Enter 'Yes' for "Do you want to continue"
    Enter 'Yes' for "Do you want add any quorum devices"
    Select '1) Directly Attached Shared Disk' for the type of device
    Enter 'Yes' for "Is it okay to continue"
    Enter 'd2' (or 'd3') for 'Which global device do you want to use'
    Enter 'Yes' for "Is it okay to proceed with the update"
    The command 'clquorum add d2' is run
    Enter 'No' for "Do you want to add another quorum device"
    Enter 'Yes' for "Is it okay to reset "installmode"?"Cluster initialization is complete.!!!
    30) Run 'clquorum status' to confirm both nodes and the quorum disk have 1 vote each
    31) Run other cluster commands to explore!
    I will cover Data services and shared file system in another post. Basically the other shared disk
    can be used to create a UFS filesystem and mount it on all nodes.

    The Solaris Cluster 4.1 Installation and Concepts Guide are available at :-
    http://docs.oracle.com/cd/E29086_01/index.html
    Thanks.

  • New storage node not taking any traffic

    Hi all,
    I have a strange situation where we introduced a few new storage nodes into a cluster that already had about 190 storage nodes running. From what I can tell, the nodes joined the cluster just fine (I see them listed as part of the cluster according to the JMX node, and their logs indicate as much).
    The problem is that they don't seem to take any traffic. Their get and put counts are at 0, their size is at 0. They have the exact same configuration as every other node running in the cluster, and are even running on the same box as other storage nodes (so shouldn't be networking related).
    Any ideas as to what could cause this to happen? They nodes have been up for days now and nothing has changed. There isn't anything along the lines of errors in the storage node logs or anything that seems to be related or would indicate a problem.
    Thanks,
    Chris

    Hi Chris,
    What is your partition count set to, is it still the default of 257? If it is then this could be your problem, I have had issues in the past with partition counts too close to the cluster size. For a cluster of 190 nodes you really need a big partition size, we have 8191 on a 170 node cluster.
    JK

  • Good partition-count for 360GB cache

    Coherence Version: 3.6.1.3
    JRE Version: 6u22
    Platform: Solaris 10
    We have a application which uses a 360GB coherence cache with 60 cache nodes. What is good partition-count configuration. The current coherence count we are using is 3607, but we are seeing some issues with query functionality. So I check the Oracle docs to see if this partition-count is a problem but its not helping. They have 2 points:
    1. The number of partitions should be a prime number and sufficiently large such that a given partition is expected to be no larger than 50MB in size
    2. They have given table and say that for 100GB the partition count should 8191
    If point #1 is considered the partition-count of 8191 is too high for 100G node.
    Edited by: coh on Apr 16, 2012 11:54 AM

    Hi
    Whilst NJ is right and GC should be tuned you should also look at why you might have so much GC - the chances are that the queries are producing the high GC rather than the GC affecting your query. We had a situation recently where the general performance of our system had halved and this turned out to be a simple POF extractor Filter query that was running quite frequently and was not using indexes. As this was in effect a full scan of one of our biggest caches then a lot of garbage was generated. In our case the GCs were small as the garbage was in the new generation, but even so this had quite an impact on the system.
    What sort of queries are you doing? Are they using reflection extractors or POF extractors? Do you have indexes?
    user738616 wrote:
    With your configuration, you are looking close to 50MB/paritition and a total of 3-4 GB data transfer assuming only one of the nodes was running stop-the-world GC.NJ: I don't quite understand what you are on about here - a stop the world GC is not a cause of partition transfer. Partition distribution will only occur when nodes join or leave the cluster. If you are seeing partition transfer during queries then you may have killed one of the nodes or you caused a GC that was so long that the node left the cluster. Long GC pauses will cause partition transfer to take longer as the nodes that need to participate in the distribution are paused.
    JK

  • Exchange Passive Node Failover - Getting An Error While Installing Mailbox Role in Passive Node

    Hello,
    I was having Exchange 2007 CCR in Two Nodes, Due to hardware fail my passive node is crash. Now i want to recover my passive node i follow this steps
     http://www.msexchange.org/articles-tutorials/exchange-server-2007/high-availability-recovery/re-installing-cluster-nodes-exchange-2007-ccr-based-mailbox-server-setup-part2.html
    Evict the Damaged Node from the Cluster
    Install Windows Server 2003 on the replacement node
    Use the same drive letters and folder structure for the database and log file drives
    Install the same service packs & software updates as the cluster active node
     Use a unique computer name
    for the replacement node
    Join the replacement node to the domain
    Add the replacement node to the Cluster using Cluster Administrator
    When im installing Passive node i'm getting an error when mailbox role is installing "Object refernce not set to an instance of an object"
    Please Advise

    [1/6/2015 12:28:31 PM] [1] Processing component 'All Roles Precompile Management Binaries' (Pre-compiling management binaries.).
    [1/6/2015 12:28:31 PM] [1] Executing '$fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\microsoft.Exchange.Rpc.dll"); precompile-ManagedBinary -BinaryName $fullPath;', handleError = False
    [1/6/2015 12:28:31 PM] [2] Launching sub-task '$error.Clear(); $fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\microsoft.Exchange.Rpc.dll"); precompile-ManagedBinary -BinaryName $fullPath;'.
    [1/6/2015 12:28:31 PM] [2] Beginning processing.
    [1/6/2015 12:28:31 PM] [2] Starting: C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\ngen.exe arguments: install "C:\Program Files\Microsoft\Exchange Server\bin\microsoft.Exchange.Rpc.dll" /verbose
    [1/6/2015 12:28:41 PM] [2] Process standard output: Microsoft (R) CLR Native Image Generator - Version 2.0.50727.42
    Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
    Installing assembly C:\Program Files\Microsoft\Exchange Server\bin\microsoft.Exchange.Rpc.dll
    Compiling 3 assemblies:
        Compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\microsoft.Exchange.Rpc.dll ...
    Microsoft.Exchange.Rpc, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
     Source MVID: {A77F7B45-C91D-4B18-94DB-D563EB0D1F84}
     Source HASH: 1c8367b62a1131417ed73fe3e751c3828b38a5a1
     NGen GUID sign: {66199311-02ED-4287-D82B-3AB75FED547C}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"
    Unrestricted="true"/>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\Microsoft.Exchange.#\11931966ed028742d82b3ab75fed547c\Microsoft.Exchange.Rpc.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
      Microsoft.VisualC, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{1483EE61-9ACA-4942-AC0A-402784F7E1B9}
       Sign:40be9432586208c4bb49866ff7ea31bc16665a6b
      System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{71EFBB87-F94E-4397-8D46-76BB8FF60448}
       Sign:d464740812db1d60e65c51092d09f67028463192
       Hardbound Guid:{D5F143E5-1AD8-CB94-12D2-3D4AFFC46E22}
        Finished compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\microsoft.Exchange.Rpc.dll ...
        Compiling assembly Microsoft.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ...
    Microsoft.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
     Source MVID: {1483EE61-9ACA-4942-AC0A-402784F7E1B9}
     Source HASH: 40be9432586208c4bb49866ff7ea31bc16665a6b
     NGen GUID sign: {01CF6F39-E4D3-0686-274B-9F5584B1BA3D}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1">
    <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    version="1"
    Flags="SkipVerification"/>
    </PermissionSet>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\Microsoft.VisualC\396fcf01d3e48606274b9f5584b1ba3d\Microsoft.VisualC.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
      Microsoft.VisualC, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{1483EE61-9ACA-4942-AC0A-402784F7E1B9}
       Sign:40be9432586208c4bb49866ff7ea31bc16665a6b
        Finished compiling assembly Microsoft.VisualC, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ...
        Compiling assembly System.Data.SqlXml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ...
    System.Data.SqlXml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
     Source MVID: {9F0BE212-39D8-4977-8C55-D2ADED637952}
     Source HASH: b97802318037f8b266acd7d3f0e16e3a9fb92384
     NGen GUID sign: {92C14596-C6E1-628A-572D-F352D8489683}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"
    Unrestricted="true"/>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\System.Data.SqlXml\9645c192e1c68a62572df352d8489683\System.Data.SqlXml.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
      System.Data.SqlXml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{9F0BE212-39D8-4977-8C55-D2ADED637952}
       Sign:b97802318037f8b266acd7d3f0e16e3a9fb92384
      System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{71EFBB87-F94E-4397-8D46-76BB8FF60448}
       Sign:d464740812db1d60e65c51092d09f67028463192
       Hardbound Guid:{D5F143E5-1AD8-CB94-12D2-3D4AFFC46E22}
      System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{2B8AEF52-78D4-4F03-BA8B-F0B5272945C8}
       Sign:218b87cdd9259fa6d554495522606b60250a72d6
       Hardbound Guid:{D76087B7-4045-EE39-A98A-147340E84C24}
      System.Configuration, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{933D8A04-B103-4B70-BE89-87F8F370AEC4}
       Sign:f825e55c996a6136191e393eadffe07e2ed2b984
        Finished compiling assembly System.Data.SqlXml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ...
    [1/6/2015 12:28:41 PM] [2] Process standard error:
    [1/6/2015 12:28:41 PM] [2] Ending processing.
    [1/6/2015 12:28:41 PM] [1] Executing '$fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\microsoft.Exchange.Common.IL.dll"); precompile-ManagedBinary -BinaryName $fullPath;', handleError = False
    [1/6/2015 12:28:41 PM] [2] Launching sub-task '$error.Clear(); $fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\microsoft.Exchange.Common.IL.dll"); precompile-ManagedBinary -BinaryName $fullPath;'.
    [1/6/2015 12:28:41 PM] [2] Beginning processing.
    [1/6/2015 12:28:41 PM] [2] Starting: C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\ngen.exe arguments: install "C:\Program Files\Microsoft\Exchange Server\bin\microsoft.Exchange.Common.IL.dll" /verbose
    [1/6/2015 12:28:41 PM] [2] Process standard output: Microsoft (R) CLR Native Image Generator - Version 2.0.50727.42
    Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
    Installing assembly C:\Program Files\Microsoft\Exchange Server\bin\microsoft.Exchange.Common.IL.dll
    Compiling 1 assembly:
        Compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\microsoft.Exchange.Common.IL.dll ...
    Microsoft.Exchange.Common.IL, Version=0.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
     Source MVID: {2C563679-AE56-41C7-8A80-8A0D965AFF9E}
     Source HASH: 318bf726c3ec004b8db6dfa3ad02a4eae82b4890
     NGen GUID sign: {DBE4EF23-FE16-7D26-5A96-72F3C43A5B66}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"
    Unrestricted="true"/>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\Microsoft.Exchange.#\23efe4db16fe267d5a9672f3c43a5b66\Microsoft.Exchange.Common.IL.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
        Finished compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\microsoft.Exchange.Common.IL.dll ...
    [1/6/2015 12:28:41 PM] [2] Process standard error:
    [1/6/2015 12:28:41 PM] [2] Ending processing.
    [1/6/2015 12:28:41 PM] [1] Executing '$fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\Microsoft.Exchange.Diagnostics.dll"); precompile-ManagedBinary -BinaryName $fullPath;', handleError = False
    [1/6/2015 12:28:41 PM] [2] Launching sub-task '$error.Clear(); $fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\Microsoft.Exchange.Diagnostics.dll"); precompile-ManagedBinary -BinaryName $fullPath;'.
    [1/6/2015 12:28:41 PM] [2] Beginning processing.
    [1/6/2015 12:28:41 PM] [2] Starting: C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\ngen.exe arguments: install "C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Diagnostics.dll" /verbose
    [1/6/2015 12:29:01 PM] [2] Process standard output: Microsoft (R) CLR Native Image Generator - Version 2.0.50727.42
    Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
    Installing assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Diagnostics.dll
    Compiling 2 assemblies:
        Compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Diagnostics.dll ...
    Microsoft.Exchange.Diagnostics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
     Source MVID: {8CBFBD3F-1859-44DB-B85B-3DE8CA01DF33}
     Source HASH: 1a70943ea983aa1742e98704ccbfb40bfef33c23
     NGen GUID sign: {77300B68-787B-A1CA-3298-EFA73DB0406B}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"
    Unrestricted="true"/>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\Microsoft.Exchange.#\680b30777b78caa13298efa73db0406b\Microsoft.Exchange.Diagnostics.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
      Microsoft.Exchange.Data.Common, Version=8.0.681.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{F2CA7D1F-DA42-4E38-AF97-547F51FA377C}
       Sign:b8f148b173ec7d9e604f21424493a289b6e9873a
      System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{71EFBB87-F94E-4397-8D46-76BB8FF60448}
       Sign:d464740812db1d60e65c51092d09f67028463192
       Hardbound Guid:{D5F143E5-1AD8-CB94-12D2-3D4AFFC46E22}
      Microsoft.Exchange.Rpc, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{A77F7B45-C91D-4B18-94DB-D563EB0D1F84}
       Sign:1c8367b62a1131417ed73fe3e751c3828b38a5a1
      System.Configuration, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{933D8A04-B103-4B70-BE89-87F8F370AEC4}
       Sign:f825e55c996a6136191e393eadffe07e2ed2b984
      Microsoft.Exchange.Common.IL, Version=0.0.0.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{2C563679-AE56-41C7-8A80-8A0D965AFF9E}
       Sign:318bf726c3ec004b8db6dfa3ad02a4eae82b4890
        Finished compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Diagnostics.dll ...
        Compiling assembly Microsoft.Exchange.Data.Common, Version=8.0.681.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 ...
    Microsoft.Exchange.Data.Common, Version=8.0.681.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
     Source MVID: {F2CA7D1F-DA42-4E38-AF97-547F51FA377C}
     Source HASH: b8f148b173ec7d9e604f21424493a289b6e9873a
     NGen GUID sign: {7A773BF5-FF43-09DF-08EF-86BA364EACF8}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"
    Unrestricted="true"/>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\Microsoft.Exchange.#\f53b777a43ffdf0908ef86ba364eacf8\Microsoft.Exchange.Data.Common.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
      Microsoft.Exchange.Data.Common, Version=8.0.681.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{F2CA7D1F-DA42-4E38-AF97-547F51FA377C}
       Sign:b8f148b173ec7d9e604f21424493a289b6e9873a
      System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{71EFBB87-F94E-4397-8D46-76BB8FF60448}
       Sign:d464740812db1d60e65c51092d09f67028463192
       Hardbound Guid:{D5F143E5-1AD8-CB94-12D2-3D4AFFC46E22}
      System.Configuration, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{933D8A04-B103-4B70-BE89-87F8F370AEC4}
       Sign:f825e55c996a6136191e393eadffe07e2ed2b984
      System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{2B8AEF52-78D4-4F03-BA8B-F0B5272945C8}
       Sign:218b87cdd9259fa6d554495522606b60250a72d6
        Finished compiling assembly Microsoft.Exchange.Data.Common, Version=8.0.681.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 ...
    [1/6/2015 12:29:01 PM] [2] Process standard error:
    [1/6/2015 12:29:01 PM] [2] Ending processing.
    [1/6/2015 12:29:01 PM] [1] Executing '$fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\Microsoft.Exchange.Common.dll"); precompile-ManagedBinary -BinaryName $fullPath;', handleError = False
    [1/6/2015 12:29:01 PM] [2] Launching sub-task '$error.Clear(); $fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\Microsoft.Exchange.Common.dll"); precompile-ManagedBinary -BinaryName $fullPath;'.
    [1/6/2015 12:29:01 PM] [2] Beginning processing.
    [1/6/2015 12:29:01 PM] [2] Starting: C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\ngen.exe arguments: install "C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Common.dll" /verbose
    [1/6/2015 12:29:04 PM] [2] Process standard output: Microsoft (R) CLR Native Image Generator - Version 2.0.50727.42
    Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
    Installing assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Common.dll
    Compiling 4 assemblies:
        Compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Common.dll ...
    Microsoft.Exchange.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
     Source MVID: {090DC806-FB68-4A89-A969-BD125452394C}
     Source HASH: b982dcf50fe022b926a03529b85ca2e23a60d148
     NGen GUID sign: {792B0253-E3BE-1EFA-9121-A58ACC443015}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"
    Unrestricted="true"/>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\Microsoft.Exchange.#\53022b79bee3fa1e9121a58acc443015\Microsoft.Exchange.Common.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
      Microsoft.Exchange.Data.Common, Version=8.0.681.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{F2CA7D1F-DA42-4E38-AF97-547F51FA377C}
       Sign:b8f148b173ec7d9e604f21424493a289b6e9873a
      System.ServiceProcess, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{B5D02EE9-B8F4-493D-98DE-B99067CAF039}
       Sign:346c2ee41e7e70d67ce4640726edd8203d3f276f
      System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{71EFBB87-F94E-4397-8D46-76BB8FF60448}
       Sign:d464740812db1d60e65c51092d09f67028463192
       Hardbound Guid:{D5F143E5-1AD8-CB94-12D2-3D4AFFC46E22}
      Microsoft.Exchange.Diagnostics, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{8CBFBD3F-1859-44DB-B85B-3DE8CA01DF33}
       Sign:1a70943ea983aa1742e98704ccbfb40bfef33c23
      Microsoft.Exchange.Common.IL, Version=0.0.0.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{2C563679-AE56-41C7-8A80-8A0D965AFF9E}
       Sign:318bf726c3ec004b8db6dfa3ad02a4eae82b4890
      System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{2B8AEF52-78D4-4F03-BA8B-F0B5272945C8}
       Sign:218b87cdd9259fa6d554495522606b60250a72d6
      System.Configuration, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{933D8A04-B103-4B70-BE89-87F8F370AEC4}
       Sign:f825e55c996a6136191e393eadffe07e2ed2b984
        Finished compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Common.dll ...
        Compiling assembly System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ...
    System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
     Source MVID: {B5D02EE9-B8F4-493D-98DE-B99067CAF039}
     Source HASH: 346c2ee41e7e70d67ce4640726edd8203d3f276f
     NGen GUID sign: {9B9F9598-687E-0C63-2CA3-B8EDA6232888}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"
    Unrestricted="true"/>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\System.ServiceProce#\98959f9b7e68630c2ca3b8eda6232888\System.ServiceProcess.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
      System.ServiceProcess, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{B5D02EE9-B8F4-493D-98DE-B99067CAF039}
       Sign:346c2ee41e7e70d67ce4640726edd8203d3f276f
      System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{71EFBB87-F94E-4397-8D46-76BB8FF60448}
       Sign:d464740812db1d60e65c51092d09f67028463192
       Hardbound Guid:{D5F143E5-1AD8-CB94-12D2-3D4AFFC46E22}
      System.Configuration.Install, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{D5488AB9-12B4-4921-AA95-21DB22B1179F}
       Sign:f4643c4fbc352b9201db4aed87752b52241d6f41
      System.Windows.Forms, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{1FF9D862-38A6-4352-A1BC-17E1C0B67EC2}
       Sign:7779b2d88e7f75ffc31828f7112e7066410162e8
      System.Drawing, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{A3205C19-31D6-4357-9F8E-A9513306DEC7}
       Sign:fb709be7704fcf1fd7055d39ebaf4388194d2889
        Finished compiling assembly System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ...
        Compiling assembly System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ...
    System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
     Source MVID: {D5488AB9-12B4-4921-AA95-21DB22B1179F}
     Source HASH: f4643c4fbc352b9201db4aed87752b52241d6f41
     NGen GUID sign: {C503523D-FD52-F19C-05CB-4B7336D79A49}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"
    Unrestricted="true"/>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\System.Configuratio#\3d5203c552fd9cf105cb4b7336d79a49\System.Configuration.Install.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
      System.Configuration.Install, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{D5488AB9-12B4-4921-AA95-21DB22B1179F}
       Sign:f4643c4fbc352b9201db4aed87752b52241d6f41
      System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{71EFBB87-F94E-4397-8D46-76BB8FF60448}
       Sign:d464740812db1d60e65c51092d09f67028463192
       Hardbound Guid:{D5F143E5-1AD8-CB94-12D2-3D4AFFC46E22}
      System.Runtime.Serialization.Formatters.Soap, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{13BC79E5-AB8A-48B6-B2CC-0854119DCBDA}
       Sign:1014fd9f161aff328c98924d6088ae65aa3030d7
      System.Windows.Forms, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{1FF9D862-38A6-4352-A1BC-17E1C0B67EC2}
       Sign:7779b2d88e7f75ffc31828f7112e7066410162e8
        Finished compiling assembly System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ...
        Compiling assembly System.Runtime.Serialization.Formatters.Soap, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ...
    System.Runtime.Serialization.Formatters.Soap, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
     Source MVID: {13BC79E5-AB8A-48B6-B2CC-0854119DCBDA}
     Source HASH: 1014fd9f161aff328c98924d6088ae65aa3030d7
     NGen GUID sign: {34727167-AFF5-E848-9451-78BC72A62EC8}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"
    Unrestricted="true"/>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\System.Runtime.Seri#\67717234f5af48e8945178bc72a62ec8\System.Runtime.Serialization.Formatters.Soap.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
      System.Runtime.Serialization.Formatters.Soap, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{13BC79E5-AB8A-48B6-B2CC-0854119DCBDA}
       Sign:1014fd9f161aff328c98924d6088ae65aa3030d7
      System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{2B8AEF52-78D4-4F03-BA8B-F0B5272945C8}
       Sign:218b87cdd9259fa6d554495522606b60250a72d6
      System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{71EFBB87-F94E-4397-8D46-76BB8FF60448}
       Sign:d464740812db1d60e65c51092d09f67028463192
        Finished compiling assembly System.Runtime.Serialization.Formatters.Soap, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ...
    [1/6/2015 12:29:04 PM] [2] Process standard error:
    [1/6/2015 12:29:04 PM] [2] Ending processing.
    [1/6/2015 12:29:04 PM] [1] Executing '$fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\Microsoft.Exchange.Core.Strings.dll"); precompile-ManagedBinary -BinaryName $fullPath;', handleError = False
    [1/6/2015 12:29:04 PM] [2] Launching sub-task '$error.Clear(); $fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\Microsoft.Exchange.Core.Strings.dll"); precompile-ManagedBinary -BinaryName $fullPath;'.
    [1/6/2015 12:29:04 PM] [2] Beginning processing.
    [1/6/2015 12:29:04 PM] [2] Starting: C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\ngen.exe arguments: install "C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Core.Strings.dll" /verbose
    [1/6/2015 12:29:04 PM] [2] Process standard output: Microsoft (R) CLR Native Image Generator - Version 2.0.50727.42
    Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
    Installing assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Core.Strings.dll
    Compiling 1 assembly:
        Compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Core.Strings.dll ...
    Microsoft.Exchange.Core.Strings, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
     Source MVID: {E671C74F-10AB-419E-8A0F-4C027B3981B5}
     Source HASH: bef5663bd404d89f1c9e4e8df9e17b782e4ce766
     NGen GUID sign: {C4BFD0BF-BC1A-FF4C-DACE-61165E6BEE7C}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"
    Unrestricted="true"/>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\Microsoft.Exchange.#\bfd0bfc41abc4cffdace61165e6bee7c\Microsoft.Exchange.Core.Strings.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
      Microsoft.Exchange.Data.Common, Version=8.0.681.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{F2CA7D1F-DA42-4E38-AF97-547F51FA377C}
       Sign:b8f148b173ec7d9e604f21424493a289b6e9873a
        Finished compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Core.Strings.dll ...
    [1/6/2015 12:29:04 PM] [2] Process standard error:
    [1/6/2015 12:29:04 PM] [2] Ending processing.
    [1/6/2015 12:29:04 PM] [1] Executing '$fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\Microsoft.Exchange.Net.dll"); precompile-ManagedBinary -BinaryName $fullPath;', handleError = False
    [1/6/2015 12:29:04 PM] [2] Launching sub-task '$error.Clear(); $fullPath = [System.IO.Path]::Combine($RoleInstallPath, "bin\Microsoft.Exchange.Net.dll"); precompile-ManagedBinary -BinaryName $fullPath;'.
    [1/6/2015 12:29:04 PM] [2] Beginning processing.
    [1/6/2015 12:29:04 PM] [2] Starting: C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\ngen.exe arguments: install "C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Net.dll" /verbose
    [1/6/2015 12:29:13 PM] [2] Process standard output: Microsoft (R) CLR Native Image Generator - Version 2.0.50727.42
    Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
    Installing assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Net.dll
    Compiling 3 assemblies:
        Compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Net.dll ...
    Microsoft.Exchange.Net, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
     Source MVID: {9177A7BE-2ECC-40D4-B5FB-0C643A1130E4}
     Source HASH: 2d34ca7cbaf2359fe068828351a1d8d30e21a536
     NGen GUID sign: {BBAEC190-74C2-84D5-C4B9-F7BA04A86E4E}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"
    Unrestricted="true"/>
     File:  C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\Microsoft.Exchange.#\90c1aebbc274d584c4b9f7ba04a86e4e\Microsoft.Exchange.Net.ni.dll
     Dependencies:
      mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{F107DDB2-5499-4106-A503-4AA24B5E4A4F}
       Sign:c2219dc660a826c6a3b4bc7e85de9105086db23d
       Hardbound Guid:{687FCFEB-5108-AC0C-E27B-D065DA0AE3B9}
      System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
       Guid:{71EFBB87-F94E-4397-8D46-76BB8FF60448}
       Sign:d464740812db1d60e65c51092d09f67028463192
       Hardbound Guid:{D5F143E5-1AD8-CB94-12D2-3D4AFFC46E22}
      Microsoft.Exchange.Data.Common, Version=8.0.681.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{F2CA7D1F-DA42-4E38-AF97-547F51FA377C}
       Sign:b8f148b173ec7d9e604f21424493a289b6e9873a
      Microsoft.Exchange.Common, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{090DC806-FB68-4A89-A969-BD125452394C}
       Sign:b982dcf50fe022b926a03529b85ca2e23a60d148
      System.ServiceProcess, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{B5D02EE9-B8F4-493D-98DE-B99067CAF039}
       Sign:346c2ee41e7e70d67ce4640726edd8203d3f276f
      Microsoft.Exchange.Diagnostics, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{8CBFBD3F-1859-44DB-B85B-3DE8CA01DF33}
       Sign:1a70943ea983aa1742e98704ccbfb40bfef33c23
      Interop.CertEnroll, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{0E330E86-15D9-46AE-A943-0160454E3570}
       Sign:10641c56e63c1e3b9be7bfb997e948658dc1e2d1
      System.DirectoryServices, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{E467B35C-E345-465C-8CCB-F6D3E2E81276}
       Sign:ad9b0b1379315a2b0fc5d0367fa95cf9bd4681c9
      Interop.XEnroll, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{678158A1-9581-44D6-BF1A-126EA654836E}
       Sign:01a0beca7e00e08f1291a22cfe2830785bf7f0ab
      System.Configuration, Version=2.0.0.0, PublicKeyToken=b03f5f7f11d50a3a:
       Guid:{933D8A04-B103-4B70-BE89-87F8F370AEC4}
       Sign:f825e55c996a6136191e393eadffe07e2ed2b984
      Microsoft.Exchange.Core.Strings, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35:
       Guid:{E671C74F-10AB-419E-8A0F-4C027B3981B5}
       Sign:bef5663bd404d89f1c9e4e8df9e17b782e4ce766
        Finished compiling assembly C:\Program Files\Microsoft\Exchange Server\bin\Microsoft.Exchange.Net.dll ...
        Compiling assembly Interop.CertEnroll, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 ...
    Interop.CertEnroll, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
     Source MVID: {0E330E86-15D9-46AE-A943-0160454E3570}
     Source HASH: 10641c56e63c1e3b9be7bfb997e948658dc1e2d1
     NGen GUID sign: {671C04E0-0279-45A6-2B1C-22C0FA104F19}
     OS:  WinNT
     Processor: amd64
     Runtime: 2.0.50727.926
     mscorwks.dll: TimeStamp=46D8E98C, CheckSum=009E1083
     Flags:  
     Scenarios:  <no debug info> <no debugger> <no profiler> <no instrumentation>
     Granted set: <PermissionSet class="System.Security.PermissionSet"
    version="1"

  • How to share raw partitions on Mac OS X Server ?

    Hello,
    I'm trying to build a RAC Database with 3 nodes. I have created 2 raw partitions for the OCR and CRS Voting Disk on the local hard drive of node 1.
    I read the documentation concerning how to install a RAC Database on Mac OS X Server, but I don't know how to share the 2 raws partitions between my nodes.
    Anyone could explain me how to share those raw partitions accross all nodes ?
    Regards,
    Bob

    Good morning Bob,
    I guess you refer the the linux firewire solution for rac. It would surprize me if that works for the mac since on linux they created special kernel modules for it to be able to run. When connecting 3 servers you would need a firewire switch. From what I have seen sofar, the mac mounts the firewire drives exclusively and the (linux)kernel modifictions change that to shared allowing multiple servers to connect.
    For storage I would definately go for ASM. It makes you choice for storage hardware a bit less critical. Let oracle do what otherwise a highend SAN solution would do. Why are you building the RAC ? If it has a serious goal, get a xserve-RAID. I don't think you can get a better price/performance ratio. What other storage hardware do you have available ? (netapp would be fine ;-))
    regards,
    Ronald
    http://ronr.nl/unix-dba

  • Issue with updating partitioned table

    Hi,
    Anyone seen this bug with updating partitioned tables.
    Its very esoteric - its occurs when we update a partitioned table using a join to a temp table (not non-temp table) when the join has multiple joins and you're updating the partitoned column that isn't the first column in the primary key and the table contains a bit field. We've tried changing just one of these features and the bug disappears.
    We've tested this on 15.5 and 15.7 SP122 and the error occurs in both of them.
    Here's the test case - it does the same operation of a partitioned table and a non-partitioned table, but the partitioned table shows and error of "Attempt to insert duplicate key row in object 'partitioned' with unique index 'pk'".
    I'd be interested if anyone has seen this and has a version of Sybase without the issue.
    Unfortunately when it happens on a replicated table - it takes down rep server.
    CREATE TABLE #table1
        (   PK          char(8) null,
            FileDate        date,
            changed         bit
    CREATE TABLE partitioned  (
      PK         char(8) NOT NULL,
      ValidFrom     date DEFAULT current_date() NOT NULL,
      ValidTo       date DEFAULT '31-Dec-9999' NOT NULL
    LOCK DATAROWS
      PARTITION BY RANGE (ValidTo)
      ( p2014 VALUES <= ('20141231') ON [default],
      p2015 VALUES <= ('20151231') ON [default],
      pMAX VALUES <= (MAX) ON [default]
    CREATE UNIQUE CLUSTERED INDEX pk
      ON partitioned(PK, ValidFrom, ValidTo)
      LOCAL INDEX
    CREATE TABLE unpartitioned  (
      PK         char(8) NOT NULL,
      ValidFrom     date DEFAULT current_date() NOT NULL,
      ValidTo       date DEFAULT '31-Dec-9999' NOT NULL,
    LOCK DATAROWS
    CREATE UNIQUE CLUSTERED INDEX pk
      ON unpartitioned(PK, ValidFrom, ValidTo)
    insert partitioned
    select "ET00jPzh", "Jan  7 2015", "Dec 31 9999"
    insert unpartitioned
    select "ET00jPzh", "Jan  7 2015", "Dec 31 9999"
    insert #table1
    select "ET00jPzh", "Jan 15 2015", 1
    union all
    select "ET00jPzh", "Jan 15 2015", 1
    go
    update partitioned
    set    ValidTo = dateadd(dd,-1,FileDate)
    from   #table1 t
    inner  join partitioned p on (p.PK = t.PK)
    where  p.ValidTo = '99991231'
    and    t.changed = 1
    go
    update unpartitioned
    set    ValidTo = dateadd(dd,-1,FileDate)
    from   #table1 t
    inner  join unpartitioned u on (u.PK = t.PK)
    where  u.ValidTo = '99991231'
    and    t.changed = 1
    go
    drop table #table1
    go
    drop table partitioned
    drop table unpartitioned
    go

    wrt to replication - it is a bit unclear as not enough information has been stated to point out what happened.  I also am not sure that your DBA's are accurately telling you what happened - and may have made the problem worse by not knowing themselves what to do - e.g. 'losing' the log points to fact that someone doesn't know what they should.   You can *always* disable the replication secondary truncation point and resync a standby system, so claims about 'losing' the log are a bit strange to be making. 
    wrt to ASE versions, I suspect if there are any differences, it may have to do with endian-ness and not the version of ASE itself.   There may be other factors.....but I would suggest the best thing would be to open a separate message/case on it.
    Adaptive Server Enterprise/15.7/EBF 23010 SMP SP130 /P/X64/Windows Server/ase157sp13x/3819/64-bit/OPT/Fri Aug 22 22:28:21 2014:
    -- testing with tinyint
    1> use demo_db
    1>
    2> CREATE TABLE #table1
    3>     (   PK          char(8) null,
    4>         FileDate        date,
    5> --        changed         bit
    6>  changed tinyint
    7>     )
    8>
    9> CREATE TABLE partitioned  (
    10>   PK         char(8) NOT NULL,
    11>   ValidFrom     date DEFAULT current_date() NOT NULL,
    12>   ValidTo       date DEFAULT '31-Dec-9999' NOT NULL
    13>   )
    14>
    15> LOCK DATAROWS
    16>   PARTITION BY RANGE (ValidTo)
    17>   ( p2014 VALUES <= ('20141231') ON [default],
    18>   p2015 VALUES <= ('20151231') ON [default],
    19>   pMAX VALUES <= (MAX) ON [default]
    20>         )
    21>
    22> CREATE UNIQUE CLUSTERED INDEX pk
    23>   ON partitioned(PK, ValidFrom, ValidTo)
    24>   LOCAL INDEX
    25>
    26> CREATE TABLE unpartitioned  (
    27>   PK         char(8) NOT NULL,
    28>   ValidFrom     date DEFAULT current_date() NOT NULL,
    29>   ValidTo       date DEFAULT '31-Dec-9999' NOT NULL,
    30>   )
    31> LOCK DATAROWS
    32>
    33> CREATE UNIQUE CLUSTERED INDEX pk
    34>   ON unpartitioned(PK, ValidFrom, ValidTo)
    35>
    36> insert partitioned
    37> select "ET00jPzh", "Jan  7 2015", "Dec 31 9999"
    38>
    39> insert unpartitioned
    40> select "ET00jPzh", "Jan  7 2015", "Dec 31 9999"
    41>
    42> insert #table1
    43> select "ET00jPzh", "Jan 15 2015", 1
    44> union all
    45> select "ET00jPzh", "Jan 15 2015", 1
    (1 row affected)
    (1 row affected)
    (2 rows affected)
    1>
    2> update partitioned
    3> set    ValidTo = dateadd(dd,-1,FileDate)
    4> from   #table1 t
    5> inner  join partitioned p on (p.PK = t.PK)
    6> where  p.ValidTo = '99991231'
    7> and    t.changed = 1
    Msg 2601, Level 14, State 6:
    Server 'PHILLY_ASE', Line 2:
    Attempt to insert duplicate key row in object 'partitioned' with unique index 'pk'
    Command has been aborted.
    (0 rows affected)
    1>
    2> update unpartitioned
    3> set    ValidTo = dateadd(dd,-1,FileDate)
    4> from   #table1 t
    5> inner  join unpartitioned u on (u.PK = t.PK)
    6> where  u.ValidTo = '99991231'
    7> and    t.changed = 1
    (1 row affected)
    1>
    2> drop table #table1
    1>
    2> drop table partitioned
    3> drop table unpartitioned
    -- duplicating with 'int'
    1> use demo_db
    1>
    2> CREATE TABLE #table1
    3>     (   PK          char(8) null,
    4>         FileDate        date,
    5> --        changed         bit
    6>  changed int
    7>     )
    8>
    9> CREATE TABLE partitioned  (
    10>   PK         char(8) NOT NULL,
    11>   ValidFrom     date DEFAULT current_date() NOT NULL,
    12>   ValidTo       date DEFAULT '31-Dec-9999' NOT NULL
    13>   )
    14>
    15> LOCK DATAROWS
    16>   PARTITION BY RANGE (ValidTo)
    17>   ( p2014 VALUES <= ('20141231') ON [default],
    18>   p2015 VALUES <= ('20151231') ON [default],
    19>   pMAX VALUES <= (MAX) ON [default]
    20>         )
    21>
    22> CREATE UNIQUE CLUSTERED INDEX pk
    23>   ON partitioned(PK, ValidFrom, ValidTo)
    24>   LOCAL INDEX
    25>
    26> CREATE TABLE unpartitioned  (
    27>   PK         char(8) NOT NULL,
    28>   ValidFrom     date DEFAULT current_date() NOT NULL,
    29>   ValidTo       date DEFAULT '31-Dec-9999' NOT NULL,
    30>   )
    31> LOCK DATAROWS
    32>
    33> CREATE UNIQUE CLUSTERED INDEX pk
    34>   ON unpartitioned(PK, ValidFrom, ValidTo)
    35>
    36> insert partitioned
    37> select "ET00jPzh", "Jan  7 2015", "Dec 31 9999"
    38>
    39> insert unpartitioned
    40> select "ET00jPzh", "Jan  7 2015", "Dec 31 9999"
    41>
    42> insert #table1
    43> select "ET00jPzh", "Jan 15 2015", 1
    44> union all
    45> select "ET00jPzh", "Jan 15 2015", 1
    (1 row affected)
    (1 row affected)
    (2 rows affected)
    1>
    2> update partitioned
    3> set    ValidTo = dateadd(dd,-1,FileDate)
    4> from   #table1 t
    5> inner  join partitioned p on (p.PK = t.PK)
    6> where  p.ValidTo = '99991231'
    7> and    t.changed = 1
    Msg 2601, Level 14, State 6:
    Server 'PHILLY_ASE', Line 2:
    Attempt to insert duplicate key row in object 'partitioned' with unique index 'pk'
    Command has been aborted.
    (0 rows affected)
    1>
    2> update unpartitioned
    3> set    ValidTo = dateadd(dd,-1,FileDate)
    4> from   #table1 t
    5> inner  join unpartitioned u on (u.PK = t.PK)
    6> where  u.ValidTo = '99991231'
    7> and    t.changed = 1
    (1 row affected)
    1>
    2> drop table #table1
    1>
    2> drop table partitioned
    3> drop table unpartitioned

  • OCR and Voting Disk partition

    Dear all
    I uninstall clusterware. And i want to install again that but when i made partition in windows 2003 then CVU fail the stage command.
    I did the following things..
    1) diskpart --->select Disk 1----> clean -->exit (both the nodes)
    2) diskpart -->automount enable--->exit ---> restart (both the nodes)
    3) Then i make four partition in one node. And see after restart node 2 have that partition with drive letter. I remove all the drive letter.
    But CVU stage command failed. And if i run clusterware then it can get partition which has not previous OCR and voting. I think previous OCR and Voting disk could not clean.
    Could u pls tell me how can i get solution.
    Moinul

    Check Metalink for this problem area ! Raise TAR

  • Server 2012 Failover cluster. Make two VMs stay on the same node

    We have a unique situation where i need two machines to stay on the same node. Its a 4 node cluster with 30+ resources but i want to make sure two boxes are ALWAYS on the same now. If one migrates to another node the second needs to follow. Is there
    a way to do this? 

    How an this KB help to stay the two vm's on the same node.
    With all do respect @justinv how could this helped you to your problem , your question was "We have a unique situation where i need two machines to stay on the same node. Its a 4 node cluster with 30+ resources but i want to make sure two boxes are ALWAYS
    on the same now"
    and the KB that elden showed you is for : "Failover clusters that are running inside of virtual machines (sometimes referred to as “guest clusters”) may have problems with nodes joining the cluster."
    @justinv cloud you tell us more about this did I misunderstand your question ?
    Greetings, Robert Smit Follow me @clustermvp http://robertsmit.wordpress.com/ “Please click "Vote As Helpful" if it is helpful for you and Proposed As Answer” Please remember to click “Mark as Answer” on the post that helps you
    I explained in one of my replies that my underlying issue was this exactly what the KB fixed..... A guest cluster failing when moved to different nodes. Thats the only reason why i wanted them on the same node to begin with. While this post didn't solve me
    original question is solved what my real problem was....

Maybe you are looking for

  • How to connect a shotgun mic to my Macbook pro?

    I recently purchased the "Audio-Technica ATR-6550 Video Camera Condenser Shotgun Microphone" (http://www.amazon.com/Audio-Technica-ATR-6550-Condenser-Shotgun-Microphone/dp/B0 02GYPS3M). I need this mic to record audio into Adobe Premiere on my Macboo

  • Documents Templates for SOLAR01

    Hi! I would like to use document templates via Tcode SOLAR01, such as Business Blueprint. Unfortunately some of these templates are blank and do not contain some information (e.g. business blueprint, scenario documentaion) It is possible to upload th

  • WSDL Call generates thousands of requests

    Hello everyone, I am trying to access a Web Service. I'm able to load that Web Service in .NET or even SOAP UI, and the response is returned quicly and correctly. That web service references several XSD files. Those XSD files follow this kind of "ord

  • Hide Specific Datagrid Column Header

    Hi, I'm asking for if ther is a method to hide a specific datagrid header colum; The showHeaders property of datagrid give me the possibility to set the visibility of all datagrid header column. There is a way to hide, for example, the header of firs

  • Is the samsung infuse supported for mobile printing?

    I am having difficulty trying to set up my samsung infuse with the hp eprinter app