Creating a cas array for exising prd mailbox servers

Hi
one of the production site in current environment , mbx databases  rpcclientaccess server  set as individual cas servers .
 we want to point these databases to a cas array ,NLB is already created now remaining is cas array and point the database to cassarry fqdn.
I just want  to know when we do this change , any client re-configuration is required or automatically redirection will happen to cas arary from outlook client.
Regards

I just want  to know when we do this change , any client re-configuration is required or automatically redirection will happen to cas arary from outlook client.
Hi,
I'm afraid that you need to manual re-configuration from outlook client.
I recommend you refer to the following article:
Demystifying the CAS Array Object - Part 2
5.A CAS array object should not be configured after creating Exchange Server 2010 databases
The profile will not update itself because the client will not receive an
ecWrongServer response from CAS. It will not receive this response because any CAS is a valid connection point for any mailbox database via RPC (over TCP) so clients can survive datacenter switchover/failover events without being reconfigured and all
an admin has to do is flip the CAS array object DNS record to point to a surviving pool of CAS. Currently the only way to fix mailbox profiles would be a manual profile repair within Outlook, by publishing an Office PRF file via GPO (not going to work for
non-domain joined machines), or by decommissioning the CAS server named in the users’ profiles so the endpoint is no longer available. This last option should (test test test!!) trigger a full profile repair by Autodiscover in Outlook 2007 or Outlook 2010.
Outlook 2003 is only repairable with a profile repair or a PRF file. Autodiscover will not as of this article’s writing update a profile to a new server name as part of the normal Autodiscover process which updates the Outlook Anywhere configuration and discovers
EWS URLs for other features such as OOF Management, Free/Busy, and Inbox Rules management.
Hope this helps!
Thanks.
Niko Cheng
TechNet Community Support

Similar Messages

  • Exchange 2010 CAS array with Exchange 2013 Mailbox Servers

    Here is our current scenario,
    Exchange 2007
    2 - Hub Transport Servers
    2 - CAS servers (cluster NLB)
    2 - Mailbox servers (clustered)
    Exchange 2010
    2 - Huib Transport Servers
    3 - CAS servers (array NLB)
    2 - Mailbox servers (1 DAG)
    We have not migrated any users to the Exchange 2010 environment yet. We're thinking that at this point we would rather go from 2007 to 2013. Does the 2013 mailbox server work with a 2010 CAS array?

    Hi,
    As far as I know, CAS array doesn' t exist in Exchange 2013. And OWA and other requests can be proxyed and redirected from Exchange 2013 to Exchange 2010.
    For more information, you can refer to the following article:
    http://blogs.technet.com/b/exchange/archive/2013/01/25/exchange-2013-client-access-server-role.aspx
    Thanks,
    Angela Shi
    TechNet Community Support

  • Help creating an external array for a scoreboard

    I'm trying to create an array in an external file that will recieve and arrange scores sent from Quiz.fla upon clicking the submit score button.  I also want another fla file to be able to reference this external array and pull the top 15 scores from it, and then display those scores on a scrolling banner.  I want the banner to be able to update dynamically (I assume reloading the banner fla each time it reaches the end of its cycle, having the first frame load the external array on an onClipEvent action would accomplish this), that way it will update while remaining open.  The main reason I need two separate files for the quiz and the score banner is they will be displayed on two different monitors.  What would be the most efficient way of accomplishing this?  I know a little about actionscript but I don't have much experience with calling data and functions from external fla or as files (the array and the function designating how the data will be arranged within said array are going to be in a separate .as file).
    I'm currently working in AS2, since I've had almost no experience with AS3.

    So if I wanted to avoid using a server, I'd basically have to set up the
    array storing the high scores in an external .as or .swf file which would
    then be called into the quiz game to store the scores, and then called by
    the banner each time it hits frame 1 to refresh the numbers?  But then that
    would run into the problem of a shared object being used by two different
    clients I guess?  Servers setup and accessing confuses the hell out of me
    right now, so I'm trying not to make things to hellish for myself...
    Would there be a way to create 2 external database files within the folder
    holding the .swf files to somehow get around the issue of one sharedobject
    being accessed by two clients?

  • CAS Array and DAG Site Resiliency (2 Remote Sites via Point to Point Protocol)

    Hi, we are planning to deploy Exchange HA and Site Resiliency but i had some troubles understanding some concepts.
    Out current configurations settings:
    Datacenter A:
    1 MB/CAS/HT (MB01)
    1 CAS (CAS01)
    1 Point to Point link between Datacenter A and Datacenter B (We create a VLAN in the remote datacenter pointing to the Active Directory site where our Exchange server is).
    1 Active Directory Site with 2 Domain controllers (with VLAN 192.1.3.x in Datacenter A and VLAN 192.1.20.x in Datacenter B)
    Datacenter B:
    We want to install a new Exchange CAS Server (CAS02) in VLAN 192.1.20.x, is it posible to create a CAS Array with this configuration considering the replication network for the cluster in the MS Windows Server NLB, so that our Virtual IP of the cluster points
    to 192.1.3.x VLAN? What are the network considerations to the replication and MAPI network between VLANs? Does we need some third party NLB or this could be achieved with MWS2008R2?
    Same configuration for the DAG, with a new server (MB02) just for the MB role. The idea is to remove the CAS role from MB01 and have 2 Exchange Mailbox servers members of the DAG and 2 Exchange CAS Servers members of the CAS Array, so in case of a disaster
    in Datacenter A our clients automatically failover to Datacenter B in this case all of our clients will be pointing to the CAS Array in their Outlook.
    Hope you can help me with this, i don't know if this is possible with our actual infraestructure.
    Best Regards,
    Gerardo

    Thanks Ed, 
    So in that case we will need at least 4 servers in Datacenter A (2 MB members of DAG and 2 CAS/HUB members of the CAS Array) to get a decent HA solution, Am I correct?
    What about the other server in Datacenter B for DR, it will be a passive node or just another multirole server. So in case of DR (Let's say our Datacenter A is totally wrecked) I will need to switchover manually with my DB backups and switchover the user
    mailbox and outlook clients to point to the DR server? I didn´t get the point of the DR server in Datacenter B, can you explain a little bit more?
    I'm totally agree with you about the false positive failovers because our network doesn't meet that requeriments at all.
    Hope you can help me to clear my mind.
    Best Regards,
    Gerardo

  • Two dag member no cas array

    I have two exchange servers (exchange 2010) in a dag with two databases. The production exchange server and a dr exchange server. Both of the exchange servers have a cas and I have not setup a cas array. I have set the  -RpcClientAccessServer to the
    production exchange server.
    Is this a valid configuration?
    Is it possible to prevent connections to the second exchange server? I find on email headers and on outlook 2010 connection status that there is connections to the second exchange server constantly, even though all mailboxes are on the production server
    and  -RpcClientAccessServer is production server.

    I will look at creating a CAS array then. I thought i would be able to get away with out it. I think what happened was that after adding the second exchange server i did not update the rpclientaccesserver property to point back to the production server,
    for some reason this automatically changed itself to the new exchange server. This means for a few weeks the users were connecting to the DR exchange server over a slow 100mbit link. As soon as i realized that i changed the rpcclientaccesserver property back
    to the production CAS on both databases.
    I found this http://www.mikepfeiffer.net/2011/04/determine-the-number-of-active-users-on-exchange-2010-client-access-servers-with-powershell/
    Very handy powershell script that tells you client connection status to the CAS. currently we have 85 users on production CAS and 20 still on the DR cas even though i set it back to correct CAS over a week ago. Now i need to look at moving these users over
    to the correct cas. But thinking might as well wait till we set up CAS array and then change all users that way.
    the reason i dont have active active is because its over a 100mbit link and is not as fast as the gigabit we have to the production exchange and is not on as fast storage or hardware. The DR exchange just sits on local storage on one esxi box with one other
    server. The rest of our vms are snap mirror across with netapp snap mirror to third party datacenter. In the event of a dr they will supply some new servers for use with the snap mirrored vms.
    In the event of a DR situation there is the understanding that it may take a day before we have everything up and running and this is accepted by the client. We are looking at improving this though and would be interested to hear any suggestions regarding
    improving exchange dr.
    I had some problems with the DAG last month. I had problem seeding one database and finally managed to get that workign and recently had to move the witness to another server as that stopped working with strange error. But now the DAG is 100% healthy with
    no issues, i think the 20 random email problem was caused by stuck emails in the users outlook 2010 on xenapp that he never reported, which is another known issue when migrating from outlook 2003-10. Still very concerning however.
    It would be very handy if there was some automated way to force outlook to the correct CAS only, say by changing a registry key with group policy. If anyone knows of any way to do that, would be helpful thanks.

  • External OWA name - certificate / CAS Array?

    I am implementing Exchange environment.
    Single Exchange server (MBX/CAS/HUB) - exchsrv.intdom.com.
    I have purchased a public certificate and configured my external DNS and SRV to webmail.extdom.com. Public cert contains webmail.extdom.com, and autodiscover addresses.
    webmail.extdom.com points to IP address of firewall which performs NAT to allow me to point to internal Exchange services for OWA, OA etc.
    Does webmail.extdom.com need to match anything internally (it is already configured in the external URLs for each service) in addition to this e.g. do I need to create a CAS array even though I have a single server?
    Does webmail.extdom.com need to be referenced anywhere else internally for the purpose of certificates.

    Hi,
    As far as I know, when we install Exchange server, a self-signed certificate including the server name is automatically installed and the internal URLs of web services are configured with the server name.
    Thus, we can change the URLs with the external host name and it doesn’t matter if you don’t change them.
    Additionally, it’s recommended to create CAS array even though there is only one CAS server in your environment :
    http://blogs.technet.com/b/exchange/archive/2012/03/23/demystifying-the-cas-array-object-part-1.aspx
     If you have any question, please feel free to let me know.
    Thanks,
    Angela Shi
    TechNet Community Support

  • CAS Array created but Outlook 2007 still points to first CAS Server

    Hi All,
    I just created a DAG between two servers and CAS Array between two other servers.
    DAG:-       EX01 -Mailbox, CAS,HT (First Exchange Server)
                    EX02-Mailbox
    CAS Array:     CA-HT01 (CAS & HT Role)
                          CA-HT02 (CAS & HT Role)
    I created CAS Array and assigned an FQDN for that array but It does not get changed in outlook 2007 it still uses old server EX01.So when I am shutting down server ex01 for testing all outlook 2007 client
    get disconnected.
    Does this required to change profile for all outlook 2007 users? I am more than 1600 users I am not sure how many users using outlook 2007.
    Please guide.I already configure Autodiscover service as it is suggested somewhere online but no luck.
    Thanks

    Mike,
    I tried with shutdown original RPCCLientAccessServer for two days but still that old value did not
    chnaged to new one.Can you guide me what is the exact method of creating Autodiscover so that outlook 2007 will point to new RPCCLientAccessServe value when
    existing is down/not accessible.
    Thanks
    If the  RPCCLientClientAccess Server referenced in the Outlook profile is not accessible, then Outlook should have found the new one at some point or failed to connect to Exchange entirely. Are you saying the Outlook clients continue to connect to Exchange
    even though the server defined in Outlook was not accessible? 
    If you close and re-open Outlook does it show the new RPCCLientAccessServer value in the profile?
    Twitter!: Please Note: My Posts are provided “AS IS” without warranty of any kind, either expressed or implied.

  • Diffrence mailbox GUID and CAS array

    What's the diffrence between Mailbox GUID and CAS Array & What's the benefit for GUID.

    Hi,
    Mailbox GUID is the property of Exchange mailbox and we can think of the mailbox GUID as the primary key for the mailbox. It is a unique value that distinguishes an individual mailbox from all others. Regardless of which Active Directory user account owns
    the mailbox, the mailbox GUID always remains the same as long as the mailbox exists.
    CAS array is an object. It includes all CAS servers in one site and is used for high availability.
    As you know, different from previous Exchange server, all Outlook clients in Exchange 2013 uses Autodiscover to create a new connection point comprised of mailbox GUID, @ symbol, and the domain portion of the user’s primary SMTP address. This is because
    that the simple change results in a near elimination of the unwelcome message of “Your administrator has made a change to your mailbox. Please restart.”
    Thanks,
    Angela Shi
    TechNet Community Support

  • What are right parameter types of ODCIIndexInsert in case of creating indextype WITH ARRAY DML option (documentation mismatch)

    Hello.
    During developing Domain Index for Oracle 11.2.0.1.0 (problem also appears in 12с) i was faced with misunderstanding of parameter types of function
    ODCIIndexInsert in case of creating indextype  WITH ARRAY DML option
    According to Oracle documentation
    http://docs.oracle.com/cd/E11882_01/appdev.112/e10765/ext_idx_ref.htm#i76892
    In case of  WITH ARRAY DML option Oracle will invoke ODCIIndexInsert with following signature
    FUNCTION ODCIIndexInsert(
      ia ODCIIndexInfo,
      ridlist ODCIRidList,
      newvallist varray_of_column_type,
      env ODCIEnv)
    RETURN NUMBER
    In my case indexed column has datatype NUMBER so i defined varray_of_column_type as SYS.ODCINumberList
    STATIC FUNCTION ODCIIndexInsert(ia in sys.ODCIIndexInfo, ridlist in sys.ODCIRidList,  newvallist in sys.ODCINumberList, env in SYS.ODCIEnv) RETURN NUMBER
    Indextype was created as
    CREATE INDEXTYPE test_index_type
    FOR
    test_eq(number, number)
    USING index_methods
    WITH ARRAY DML(number, sys.ODCINumberList)
    WITH LOCAL RANGE PARTITION
    WITH SYSTEM MANAGED STORAGE TABLES;
    or
    CREATE INDEXTYPE test_index_type
    FOR
    test_eq(number, number)
    USING index_methods
    WITH ARRAY DML
    WITH LOCAL RANGE PARTITION
    WITH SYSTEM MANAGED STORAGE TABLES;
    (problem occurs in all cases)
    CREATE TABLE test_table (id NUMBER (19,0));
    CREATE INDEX test_index ON test_table(id) INDEXTYPE IS test_index_type;
    When attempting to insert data in the table
    insert into test_table values (1);
    oracle raise exception
    Error starting at line 53 in command:
    insert into test_table values (1)
    Error at Command Line:53 Column:1
    Error report:
    SQL Error: ORA-29925: cannot execute SCOTT.INDEX_METHODS.ODCIINDEXINSERT
    ORA-06553: PLS-306: wrong number or types of arguments in call to 'ODCIINDEXINSERT'
    ORA-06553: PLS-306: wrong number or types of arguments in call to 'ODCIINDEXINSERT'
    29925. 00000 -  "cannot execute %s"
    *Cause:    The specified function does not exist or does not have an
               appropriate signature.
    *Action:   Implement the function with the appropriate signature.
    So my question is.
    Is it normal behavior  of oracle (according to documentation)?
    What is correct signature of ODCIIndexInsert function in case of INDEXTYPE creation with 'WITH ARRAY DML' option and fact that indexed column has NUMBER datatype?
    By the way if i define indextype without 'WITH ARRAY DML' option signature is clear, and working. But this approach doesn't satisfies our performance needs.
    Also if i define index type with option 'WITH ARRAY DML WITHOUT COLUMN DATA' and use signature
    static function ODCIIndexInsert(ia sys.odciindexinfo,   ridlist sys.odciridlist, env sys.ODCIEnv) return number
    Everything works too. But this approach doesn't satisfies our business needs.
    Is it a way to define ODCIIndexInsert  parameter types (in case of indexing number column)  so that batch inserting works according to documentation ?
    FUNCTION ODCIIndexInsert(
          ia ODCIIndexInfo,
          ridlist ODCIRidList,
          newvallist varray_of_column_type,
          env ODCIEnv)
    I am attaching full sql script to recreate environment and reproduce the problem.
    Type definition:
    CREATE OR REPLACE TYPE index_methods AS OBJECT
      step number,
      STATIC FUNCTION ODCIGetInterfaces(ifclist OUT SYS.ODCIObjectList) RETURN NUMBER,
      STATIC FUNCTION ODCIIndexCreate (ia SYS.ODCIIndexInfo, parms VARCHAR2, env SYS.ODCIEnv) RETURN NUMBER,
      STATIC FUNCTION ODCIIndexAlter (ia sys.ODCIIndexInfo, parms IN OUT VARCHAR2, altopt number, env sys.ODCIEnv) RETURN NUMBER,
      STATIC FUNCTION ODCIIndexDrop(ia SYS.ODCIIndexInfo, env SYS.ODCIEnv) RETURN NUMBER,
      STATIC FUNCTION ODCIIndexExchangePartition(ia SYS.ODCIIndexInfo, ia1 SYS.ODCIIndexInfo, env SYS.ODCIEnv) RETURN NUMBER,
      STATIC FUNCTION ODCIIndexUpdPartMetadata(ia sys.ODCIIndexInfo, palist sys.ODCIPartInfoList, env sys.ODCIEnv) RETURN NUMBER,
      STATIC FUNCTION ODCIIndexInsert(ia in sys.ODCIIndexInfo, ridlist in sys.ODCIRidList,  newvallist in sys.ODCINumberList, env in SYS.ODCIEnv) RETURN NUMBER,
      STATIC FUNCTION ODCIIndexDelete(ia SYS.ODCIIndexInfo, rid VARCHAR2, oldval number, env SYS.ODCIEnv) RETURN NUMBER,
      STATIC FUNCTION ODCIIndexUpdate(ia SYS.ODCIIndexInfo, rid VARCHAR2, oldval number, newval number, env SYS.ODCIEnv) RETURN NUMBER,
      STATIC FUNCTION ODCIIndexStart(sctx IN OUT index_methods, ia SYS.ODCIIndexInfo,
        op SYS.ODCIPredInfo, qi sys.ODCIQueryInfo, strt number, stop number, cmpval number, env SYS.ODCIEnv) RETURN NUMBER,
      MEMBER FUNCTION ODCIIndexFetch(self IN OUT index_methods, nrows NUMBER, rids OUT SYS.ODCIridlist, env SYS.ODCIEnv) RETURN NUMBER,
      MEMBER FUNCTION ODCIIndexClose(self IN index_methods, env SYS.ODCIEnv) RETURN NUMBER
    CREATE OR REPLACE TYPE BODY index_methods IS
    STATIC FUNCTION ODCIGetInterfaces(ifclist OUT sys.ODCIObjectList) RETURN NUMBER IS
    BEGIN
      ifclist := sys.ODCIObjectList(sys.ODCIObject('SYS','ODCIINDEX2'));
      RETURN ODCIConst.Success;
    END ODCIGetInterfaces;
    STATIC FUNCTION ODCIIndexCreate (ia sys.ODCIIndexInfo, parms VARCHAR2,  env sys.ODCIEnv) RETURN NUMBER IS
    BEGIN
      RETURN ODCIConst.Success;
    END ODCIIndexCreate;
    STATIC FUNCTION ODCIIndexDrop(ia sys.ODCIIndexInfo, env sys.ODCIEnv) RETURN NUMBER IS
    BEGIN
      RETURN ODCIConst.Success;
    END ODCIIndexDrop;
    STATIC FUNCTION ODCIIndexAlter (
      ia sys.ODCIIndexInfo,
      parms IN OUT VARCHAR2,
      altopt NUMBER,
      env sys.ODCIEnv)
    RETURN NUMBER IS
    BEGIN
      RETURN ODCIConst.Success;
    END ODCIIndexAlter;
    STATIC FUNCTION ODCIIndexUpdPartMetadata(
      ia sys.ODCIIndexInfo,
      palist sys.ODCIPartInfoList,
      env sys.ODCIEnv)
    RETURN NUMBER IS
    BEGIN
      RETURN ODCIConst.Success;
    END ODCIIndexUpdPartMetadata;
    STATIC FUNCTION ODCIIndexExchangePartition(
      ia sys.ODCIIndexInfo,
      ia1 sys.ODCIIndexInfo,
      env sys.ODCIEnv)
    RETURN NUMBER IS
    BEGIN
      RETURN ODCIConst.Success;
    END ODCIIndexExchangePartition;
    STATIC FUNCTION ODCIIndexInsert(
       ia sys.ODCIIndexInfo,
       ridlist sys.ODCIRidList,
       newvallist sys.ODCINumberList,
       env sys.ODCIEnv)
    RETURN NUMBER IS
    BEGIN
      return ODCIConst.Success;
    END;
    STATIC FUNCTION ODCIIndexDelete(
       ia SYS.ODCIIndexInfo,
       rid VARCHAR2,
       oldval number,
       env SYS.ODCIEnv)
    RETURN NUMBER IS
    BEGIN
      return ODCIConst.Success;
    END;
    STATIC FUNCTION ODCIIndexUpdate(
       ia SYS.ODCIIndexInfo,
       rid VARCHAR2,
       oldval number,
       newval number,
       env SYS.ODCIEnv)
    RETURN NUMBER AS
    BEGIN
      return ODCIConst.Success;
    END;
    STATIC FUNCTION ODCIIndexStart(
      sctx IN OUT index_methods,
      ia SYS.ODCIIndexInfo,
      op SYS.ODCIPredInfo,
      qi sys.ODCIQueryInfo,
      strt number,
      stop number,
      cmpval  number,
      env SYS.ODCIEnv)
    RETURN NUMBER AS
    BEGIN
      sctx := index_methods(1);
      return ODCIConst.Success;
    END;
    MEMBER FUNCTION ODCIIndexFetch(
      self IN OUT index_methods,
      nrows NUMBER,
      rids OUT SYS.ODCIridlist,
      env SYS.ODCIEnv)
    RETURN NUMBER AS
    BEGIN
      return ODCIConst.Success;
    END;
    MEMBER FUNCTION ODCIIndexClose(self IN index_methods, env SYS.ODCIEnv) RETURN NUMBER AS
    BEGIN
      return ODCIConst.Success;
    END;
    end;
    Problem workaround:
    --drop function test_eq_fun;
    CREATE FUNCTION test_eq_fun(a number, b number) RETURN NUMBER AS
    BEGIN
      IF a = b then
        RETURN 1;
      ELSE
        RETURN 0;
      END IF;
    END;
    --drop operator test_eq;
    CREATE OPERATOR test_eq
    BINDING (number, number) RETURN NUMBER
    USING test_eq_fun;
    --drop indextype test_index_type;
    CREATE INDEXTYPE test_index_type
    FOR
    test_eq(number, number)
    USING index_methods
    WITH ARRAY DML(number, sys.ODCINumberList)
    WITH LOCAL RANGE PARTITION
    WITH SYSTEM MANAGED STORAGE TABLES;
    CREATE INDEXTYPE test_index_type
    FOR
    test_eq(number, number)
    USING index_methods
    WITH ARRAY DML
    WITH LOCAL RANGE PARTITION
    WITH SYSTEM MANAGED STORAGE TABLES;
    --drop table test_table;
    CREATE TABLE test_table (id NUMBER (19,0));
    CREATE INDEX test_index ON test_table(id) INDEXTYPE IS test_index_type;
    insert into test_table values (1);

    I get single for 1 row and batch for 2 or more rows in the following simplified simulation.
    SCOTT@orcl12c> DESC SYS.ODCINUMBERLIST
    SYS.ODCINUMBERLIST VARRAY(32767) OF NUMBER
    SCOTT@orcl12c> CREATE OR REPLACE TYPE index_methods AS OBJECT
      2  (
      3    step number,
      4    STATIC FUNCTION ODCIGetInterfaces(ifclist OUT SYS.ODCIObjectList) RETURN NUMBER,
      5    STATIC FUNCTION ODCIIndexCreate (ia SYS.ODCIIndexInfo, parms VARCHAR2, env SYS.ODCIEnv) RETURN NUMBER,
      6    STATIC FUNCTION ODCIIndexAlter (ia sys.ODCIIndexInfo, parms IN OUT VARCHAR2, altopt number, env sys.ODCIEnv) RETURN NUMBER,
      7    STATIC FUNCTION ODCIIndexDrop(ia SYS.ODCIIndexInfo, env SYS.ODCIEnv) RETURN NUMBER,
      8    STATIC FUNCTION ODCIIndexExchangePartition(ia SYS.ODCIIndexInfo, ia1 SYS.ODCIIndexInfo, env SYS.ODCIEnv) RETURN NUMBER,
      9    STATIC FUNCTION ODCIIndexUpdPartMetadata(ia sys.ODCIIndexInfo, palist sys.ODCIPartInfoList, env sys.ODCIEnv) RETURN NUMBER,
    10    STATIC FUNCTION ODCIIndexInsert(ia in sys.ODCIIndexInfo, rid in VARCHAR2,  newval in NUMBER, env in SYS.ODCIEnv) RETURN NUMBER,
    11    STATIC FUNCTION ODCIIndexInsert(ia in sys.ODCIIndexInfo, ridlist in sys.ODCIRidList,  newvallist in your_type, env in SYS.ODCIEnv) RETURN NUMBER,
    12    STATIC FUNCTION ODCIIndexDelete(ia SYS.ODCIIndexInfo, rid VARCHAR2, oldval number, env SYS.ODCIEnv) RETURN NUMBER,
    13    STATIC FUNCTION ODCIIndexUpdate(ia SYS.ODCIIndexInfo, rid VARCHAR2, oldval number, newval number, env SYS.ODCIEnv) RETURN NUMBER,
    14    STATIC FUNCTION ODCIIndexStart(sctx IN OUT index_methods, ia SYS.ODCIIndexInfo,
    15       op SYS.ODCIPredInfo, qi sys.ODCIQueryInfo, strt number, stop number, cmpval number, env SYS.ODCIEnv) RETURN NUMBER,
    16    MEMBER FUNCTION ODCIIndexFetch(self IN OUT index_methods, nrows NUMBER, rids OUT SYS.ODCIridlist, env SYS.ODCIEnv) RETURN NUMBER,
    17    MEMBER FUNCTION ODCIIndexClose(self IN index_methods, env SYS.ODCIEnv) RETURN NUMBER
    18  );
    19  /
    Type created.
    SCOTT@orcl12c> CREATE OR REPLACE TYPE BODY index_methods IS
      2  STATIC FUNCTION ODCIGetInterfaces(ifclist OUT sys.ODCIObjectList) RETURN NUMBER IS
      3  BEGIN
      4    ifclist := sys.ODCIObjectList(sys.ODCIObject('SYS','ODCIINDEX2'));
      5    RETURN ODCIConst.Success;
      6  END ODCIGetInterfaces;
      7
      8  STATIC FUNCTION ODCIIndexCreate (ia sys.ODCIIndexInfo, parms VARCHAR2,  env sys.ODCIEnv) RETURN NUMBER IS
      9  BEGIN
    10    RETURN ODCIConst.Success;
    11  END ODCIIndexCreate;
    12
    13  STATIC FUNCTION ODCIIndexDrop(ia sys.ODCIIndexInfo, env sys.ODCIEnv) RETURN NUMBER IS
    14  BEGIN
    15    RETURN ODCIConst.Success;
    16  END ODCIIndexDrop;
    17
    18  STATIC FUNCTION ODCIIndexAlter (
    19    ia sys.ODCIIndexInfo,
    20    parms IN OUT VARCHAR2,
    21    altopt NUMBER,
    22    env sys.ODCIEnv)
    23  RETURN NUMBER IS
    24  BEGIN
    25    RETURN ODCIConst.Success;
    26  END ODCIIndexAlter;
    27
    28  STATIC FUNCTION ODCIIndexUpdPartMetadata(
    29    ia sys.ODCIIndexInfo,
    30    palist sys.ODCIPartInfoList,
    31    env sys.ODCIEnv)
    32  RETURN NUMBER IS
    33  BEGIN
    34    RETURN ODCIConst.Success;
    35  END ODCIIndexUpdPartMetadata;
    36
    37  STATIC FUNCTION ODCIIndexExchangePartition(
    38    ia sys.ODCIIndexInfo,
    39    ia1 sys.ODCIIndexInfo,
    40    env sys.ODCIEnv)
    41  RETURN NUMBER IS
    42  BEGIN
    43    RETURN ODCIConst.Success;
    44  END ODCIIndexExchangePartition;
    45
    46  STATIC FUNCTION ODCIIndexInsert(
    47      ia sys.ODCIIndexInfo,
    48      rid VARCHAR2,
    49      newval NUMBER,
    50      env sys.ODCIEnv)
    51  RETURN NUMBER IS
    52  BEGIN
    53    dbms_output.put_line ('single');
    54    return ODCIConst.Success;
    55  END;
    56
    57  STATIC FUNCTION ODCIIndexInsert(
    58      ia sys.ODCIIndexInfo,
    59      ridlist sys.ODCIRidList,
    60      newvallist your_type,
    61      env sys.ODCIEnv)
    62  RETURN NUMBER IS
    63  BEGIN
    64    dbms_output.put_line ('batch');
    65    return ODCIConst.Success;
    66  END;
    67
    68  STATIC FUNCTION ODCIIndexDelete(
    69      ia SYS.ODCIIndexInfo,
    70      rid VARCHAR2,
    71      oldval number,
    72      env SYS.ODCIEnv)
    73  RETURN NUMBER IS
    74  BEGIN
    75    return ODCIConst.Success;
    76  END;
    77
    78  STATIC FUNCTION ODCIIndexUpdate(
    79      ia SYS.ODCIIndexInfo,
    80      rid VARCHAR2,
    81      oldval number,
    82      newval number,
    83      env SYS.ODCIEnv)
    84  RETURN NUMBER AS
    85  BEGIN
    86    return ODCIConst.Success;
    87  END;
    88
    89  STATIC FUNCTION ODCIIndexStart(
    90    sctx IN OUT index_methods,
    91    ia SYS.ODCIIndexInfo,
    92    op SYS.ODCIPredInfo,
    93    qi sys.ODCIQueryInfo,
    94    strt number,
    95    stop number,
    96    cmpval  number,
    97    env SYS.ODCIEnv)
    98  RETURN NUMBER AS
    99  BEGIN
    100    sctx := index_methods(1);
    101    return ODCIConst.Success;
    102  END;
    103
    104  MEMBER FUNCTION ODCIIndexFetch(
    105    self IN OUT index_methods,
    106    nrows NUMBER,
    107    rids OUT SYS.ODCIridlist,
    108    env SYS.ODCIEnv)
    109  RETURN NUMBER AS
    110  BEGIN
    111    return ODCIConst.Success;
    112  END;
    113
    114  MEMBER FUNCTION ODCIIndexClose(self IN index_methods, env SYS.ODCIEnv) RETURN NUMBER AS
    115  BEGIN
    116    return ODCIConst.Success;
    117  END;
    118  end;
    119  /
    Type body created.
    SCOTT@orcl12c> CREATE FUNCTION test_eq_fun(a number, b number) RETURN NUMBER AS
      2  BEGIN
      3    IF a = b then
      4       RETURN 1;
      5    ELSE
      6       RETURN 0;
      7    END IF;
      8  END;
      9  /
    Function created.
    SCOTT@orcl12c> CREATE OPERATOR test_eq
      2  BINDING (number, number) RETURN NUMBER
      3  USING test_eq_fun
      4  /
    Operator created.
    SCOTT@orcl12c> CREATE INDEXTYPE test_index_type
      2  FOR
      3  test_eq(number, number)
      4  USING index_methods
      5  WITH ARRAY DML(number, your_type)
      6  WITH LOCAL RANGE PARTITION
      7  WITH SYSTEM MANAGED STORAGE TABLES
      8  /
    Indextype created.
    SCOTT@orcl12c> CREATE TABLE test_table (id NUMBER (19,0))
      2  /
    Table created.
    SCOTT@orcl12c> CREATE INDEX test_index ON test_table(id) INDEXTYPE IS test_index_type
      2  /
    Index created.
    SCOTT@orcl12c> insert into test_table values (1)
      2  /
    single
    1 row created.
    SCOTT@orcl12c> insert into test_table
      2  select 2 from dual union all
      3  select 3 from dual
      4  /
    batch
    2 rows created.
    SCOTT@orcl12c> insert into test_table select deptno from dept
      2  /
    batch
    4 rows created.
    SCOTT@orcl12c> insert into test_table select object_id from user_objects
      2  /
    batch
    34 rows created.
    SCOTT@orcl12c>

  • Mail does not create new emails based on the highlighted mailbox, but rather the receiving mailbox of whatever individual email happens to be highlighted. This was not the case prior to Lion. Is this a bug or an error on my part?

    Mail does not create new emails based on the highlighted mailbox, but rather according the receiving mailbox of whatever individual email happens to be highlighted. This was not the case prior to Lion. Is this a bug or an error on my part? (I do have the setting for creating new emails from the highlighted mailbox checked.)

    The questions about time was not only because of thinking about the Time Machine, but also possible impact on recognizing which messages remaining on a POP server (doesn't apply to IMAP) have been already downloaded. In the Mail folder, at its root level, in Mail 3.x there is a file named MessageUidsAlreadyDownloaded3 that should prevent duplicate downloading -- some servers may not communicate the best with respect to that, and the universal index must certainly be involved in updating that index file. If it corrupts, it can inhibit proper downloading. However, setting the account up in a New User Account and having the same problem does not point that way, unless your POP3 server is very different from most.
    That universal index is also typically involved when messages are meant to be moved from the Inbox to another mailbox -- in Mail 3.x the message does not move, but rather is copied, and then erased from the origin mailbox. That requires updating the Envelope Index to keep track of where the message is, and should keep track of where it is supposed to have been removed after the "Move".
    Ernie

  • How to create a separate new arrays for each loop

    I have a question about creating new arrays. For example : In my for loop, the initial value is 1 and the final value is 4 and  each iteration increment by 1, meaning that in this case i have 4 iterations. At the same time, i want to create  4 separate arrays called array 1 for first iteration, array 2 for the second iteration and so on, that depends on the number of iteration. Could you give me some advice please?

    Hi Darren,
    Your suggestion is what I want. However, when i try an example, it doesn't come out with the result that i want. Maybe I did something wrong. Basically, I have a 2D array with some default value in it. So if the number of loops is 2, it suppose to have 2 separate array with the same set of elements. However, I only had one array with growing set of elements. To illustrate, it suppose to be
    Array1    Array 2  
    | 1 2 |     | 1 2 |                                        |12|
    | 3 4 |     | 3 4 |         rather than              |34|
    | 5 6 |     | 5 6 |                                         | 56|                
                                                      ​             |12|
                                                      ​             |34|
                                                      ​             |56|
    I have attached the file. Could you please show me where the mistake is ?
    Attachments:
    newarray.vi ‏26 KB

  • Migrating from 2010 windows nlb cas array to exchange 2013 using netscaler for HLB

    i currently have exchange 2010 sp3 setup as follows
    2 cas/ht using windows nlb for array.internal.com as the nlb name
    2 mailbox servers using 1 dag for replication between them.
    I would like to stand up 2 new CAS 2013 sp1 servers(2012 r2) and use our netscaler hlb to load balance and do ssl offloading.
    id like to use the hlb to load balance and ssl offload all possible traffic not just owa, i.e. activesync etc.
    the netscaler is running version 10.5.
    does anyone have any thoughts on how to perform such a migration?
    id like to make this as seamless as possible for the user, so no owa name change or anything like that.
    thx in advance for any help.

    Exchange 2013 CAS cannot be managed effectively without an Exchange 2013 mailbox server since the CAS won't run the Exchange 2013 management tools without it.  Your Exchange 2013 servers should simply have both roles.  There are few cases where
    splitting the roles has any business value.
    If what you're planning to do is within the same forest and organization, then it's a "transition", not a "migration".  What you are asking to do is easy.  Build the Exchange 2013 servers, configure load balancing, test
    access, and then switch the DNS records to point to them.
    Personally, I would skip the SSL offloading.  It's my opinion that it makes the solution more difficult to troubleshoot without providing any real benefit.
    Ed Crowley MVP "There are seldom good technological solutions to behavioral problems."

  • Outlook Profile Not Updated to New CAS Array After Mailbox Move Between Sites

    I am working on a large mailbox migration from one AD site to another. 
    Exchange version at both sites:Exchange 2010 SP2
    Two Mailbox Servers: MBX01 in site A / MBX02 in site B
    (There is a DAG but keeping this simple)
    Two CAS Arrays: CASA.domain.com / CASB.domain.com
    The RPCClientAccessServer property is set accordingly.  Where MBX01 is set to CASA.domain.com and MBX02 is set to CASB.domain.com
    Clients:Outlook 2010 SP1
    Scenario: I successfully move a mailbox from Site A to Site B.  The Outlook client does not automatically update its server settings to point to the new cas array (CASB.domain.com) and continues to connect to the old CAS server (CASA.domain.com).
    I have seen a few articles regarding this pointing to workarounds such as:
    - repairing the outlook profile on the client
    - delete the existing outlook profile
    - run a script to update the prf file (re-cache's email at the client)
    I am interested in knowing if anyone else has experienced this, what their solution was for a large migration and if any roll-ups or service packs have possibly fixed this problem.
    I would also like to know if you have seen this affect ActiveSync devices.  I am getting mixed results in my tests and thought it may be contributed toward different device types, mobile os versions, etc...
    I have posted this to the Outlook forum as well, just wasn't sure where to start.
    Thanks.
    Mike

    Hi,
    Firstly, I’d like to say, in Exchange 2010 and prior to SP2 CU3 version,
    when we move mailboxes between AD sites, users will not receive any notice about restarting Outlook and their RPC endpoint won’t update to reflect the RPC Client Access Server array associated with the mailbox database in the AD site where the mailbox now resides.
    Depending on repairing or recreating profile, we can force Outlook to use the new RPC endpoint.
    If you have any question, please feel free to let me know.
    Thanks,
    Angela Shi
    TechNet Community Support

  • Exchange 2013 mailbox added to the CAS array

    We are upgrading to Exchange 2013 from Exchange 2010. Following the development guide, we have
    installed the first mailbox server in the Exchange 2010 environment which has 3 Exchange 2010 CAS server
    in the array. When installing the mailbox role, we did not choose the client access role but after
    the installation we can see that the Exchange 2013 Mailbox server is added to the CAS array and yet
    we did not choose the client access role. How does this happen, and to proceed ?

    I see the same thing in my lab:
    Get-ClientAccessArray | FL
    RunspaceId        : 16b992b3-270f-4ae1-a3c3-fa9e2ea73d69
    ExchangeLegacyDN  : /o=Wingtiptoys/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=Ou
                        tlook.wingtiptoys.ca
    Fqdn              : Outlook.wingtiptoys.ca
    Site              : wingtiptoys.ca/Configuration/Sites/Default-First-Site-Name
    SiteName          : Default-First-Site-Name
    Members           : {EXCH-2010, EXCH-2013}
    AdminDisplayName  :
    ExchangeVersion   : 0.1 (8.0.535.0)
    Name              : Outlook.wingtiptoys.ca
    DistinguishedName : CN=Outlook.wingtiptoys.ca,CN=Arrays,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administr
                        ative Groups,CN=Wingtiptoys,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=wingtiptoys,DC=ca
    Identity          : Outlook.wingtiptoys.ca
    Guid              : 27968af1-1624-4ff3-85c8-e38e68183afe
    ObjectCategory    : wingtiptoys.ca/Configuration/Schema/ms-Exch-Client-Access-Array-2
    ObjectClass       : {top, server, msExchExchangeServer, msExchClientAccessArray}
    WhenChanged       : 4/12/2014 12:51:18 PM
    WhenCreated       : 4/12/2014 12:51:18 PM
    WhenChangedUTC    : 4/12/2014 7:51:18 PM
    WhenCreatedUTC    : 4/12/2014 7:51:18 PM
    OrganizationId    :
    OriginatingServer : DC-1.wingtiptoys.ca
    IsValid           : True
    Cheers,
    Rhoderick
    Microsoft Senior Exchange PFE
    Blog:
    http://blogs.technet.com/rmilne 
    Twitter:   LinkedIn:
      Facebook:
      XING:
    Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

  • Using new computer, existing mailbox user Outlook 2010 Auto-configuration points to the Mailbox Server rather than CAS Array ?

    People,
    I'm having a problem with the current AD user account & mailbox user where they cannot get the Outlook 2010 automatically configured to point into the CAS array ?
    This is happening when the existing user get new computer replaced or login to the Terminal Server where their account never set before, it always points to the Mailbox Server instead of the Client Access Server array virtual name. 
    The work around that I provided is typing the Client Access Array address and then specify Outlook.domain.com to match the Windows NLB name (and Get-ClientAccessArray result).
    Single AD Domain forest
    AD Site DataCenter contains:
    Domain Controllers: PRODDC01-VM, PRODDC02-VM, PRODDC03-VM
    Exchange Server 2010 SP3 - CAS&HT: PRODMAIL01-VM and PRODMAIL01-VM (Configured with WNLB as outlook.domain.com)
    Exchange Server 2010 SP3 - Mailbox: PRODMAILBOX01-VM and PRODMAILBOX01-VM (no DAG is set)
    Terminal Server (RDSH 2008 R2): PRODTS01-VM ... PRODTS60-VM (when user logged in to new TS, it got the same error).
    AD Site HQ contains - This site has no issue:
    Domain Controllers: HQDC01 and HQDC02
    Workstations using Outlook 2010 and 2013
    AD Site SiteOffice1 contains - This site has problem:
    Domain Controllers: none but the majority of the workstations LOGONSERVER is pointing to PRODDC03-VM
    Workstations using Outlook 2010 and 2013
    All of the Exchange environment here is using Exchange Server 2010 SP3 for all server roles.
    Any help would be greatly appreciated.
    Thanks
    /* Server Support Specialist */

    Hi,
    Yes, the RPCClientAccessServer should point to the CAS array. What's more, I would like to clarify the following things:
    1. Run the Get-ClientAccessServer | fl AutoDiscoverServiceInternalUri cmdlet to make sure that it displays the correct Uri.
    2. Run the Get-WebServicesVirtualDirectory | fl Identity,*auth*,*URL to ensure that URL for EWS points to the CAS array.
    Hope this can be helpful to you.
    Best regards,
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected].
    Amy Wang
    TechNet Community Support
    Here's the result:
    [PS] C:\>Get-ClientAccessServer | fl AutoDiscoverServiceInternalUri
    AutoDiscoverServiceInternalUri : https://PRODMAIL02-VM.domain.com/Autodiscover/Autodiscover.xml
    AutoDiscoverServiceInternalUri : https://PRODMAIL01-VM.domain.com/Autodiscover/Autodiscover.xml
    [PS] C:\>Get-WebServicesVirtualDirectory | fl Identity,*auth*,*URL
    Identity : PRODMAIL01-VM\EWS (Default Web Site)
    CertificateAuthentication :
    InternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    ExternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    LiveIdSpNegoAuthentication : False
    WSSecurityAuthentication : True
    LiveIdBasicAuthentication : False
    BasicAuthentication : False
    DigestAuthentication : False
    WindowsAuthentication : True
    InternalNLBBypassUrl : https://PRODMAIL01-VM.domain.com/ews/exchange.asmx
    InternalUrl : https://PRODMAIL01-VM.domain.com/EWS/Exchange.asmx
    ExternalUrl : https://email.domain.com/ews/exchange.asmx
    Identity : PRODMAIL02-VM\EWS (Default Web Site)
    CertificateAuthentication :
    InternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    ExternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    LiveIdSpNegoAuthentication : False
    WSSecurityAuthentication : True
    LiveIdBasicAuthentication : False
    BasicAuthentication : False
    DigestAuthentication : False
    WindowsAuthentication : True
    InternalNLBBypassUrl : https://PRODMAIL02-VM.domain.com/ews/exchange.asmx
    InternalUrl : https://PRODMAIL02-VM.domain.com/EWS/Exchange.asmx
    ExternalUrl : https://email.domain.com/ews/exchange.asmx
    The IP address of email.domain.com and outlook.domain.com are the same IP address, this IP address is servec by WNLB.
    /* Server Support Specialist */

Maybe you are looking for

  • How do I make a button activate when enter is pressed?

    Can anyone help me? I'm trying to activate the JButton "BUTconv" below work when someone presses "enter" on the keyboard. I'm using the code below, but every time I try to compile it, my compiler says that "BUTconv" is an unknown symbol, it 'cannot f

  • Konqueror doesn't display home icons using the breeze theme on plasma

    I've tried the plasma desktop environment, and it's lovely. But as described in the title, I find that konqueror doesn't show icons for home folder if opened as a browser under the default breeze theme. The location for the desired icon is file:///us

  • Export physical and logical details on ASA 5520 and 8.0 software

    Hello...does anybody know if there is any way to export details of the physical and logical interface details (including interface descriptions) to Excel, PDF or and other format from the command line or ASDM?  Thanks, John

  • Cannot open photoshop cs6

    help my windows 7 user is an administrator, but i cant open photoshop cs6. it popups and says cannot open this product under guest account

  • UINavigationBar Back Button does not respond to UIViewController

    Hi All, I am using Three UIViewController in My Application, which has two Buttons at the bottom. 1.On load The FirstViewController loads data from an XML feed into an UITableView. When i Click on this cell, i call the SecondViewController inside did