Dynamic Quorum and new DAG (no CNO)

With Exchange 2013 SP1 on Windows 2012 R2, you can create a DAG without a CNO.  Which is great, I no longer need a CNO or IP address for my DAGs.  Which should make it much simpler to have a stretched DAG.  However without the CNO, I cannot
figure out how to create a dynamic quorum since it does not show in the Failover Cluster Administrator.  Does this mean that I don't need Dynamic Quorum, or do I have to do it through Powershell, or can it not be done.  And if it is the last option
am I better of having no dynamic quorum and a no CNO, or having a dynamic quorum with a CNO?

if I try (get-cluster ex13dag1).DynamicQuorum=1 I get the following error: get-cluster : Check the spelling of the cluster name. Otherwise, there might be a problem with yournetwork. Make sure
the cluster nodes are turned on and connected to the network or contact your network administrator.

Similar Messages

  • Dynamic Variables and New-Object - in a GUI

    so, i have not found anything that i can parlay into a solution for what i am attempting to do.  
    Basically i am using powershell to build a GUI to manage websites on various servers.  
    in a nutshell:
    - i have an array with the servers i want to query
    - a foreach loop gets me the site names for each server (number of sites can vary on a server).
    - need put checkboxes on a GUI for every site to do something (25-30 sites across 8 servers).
    currently i am passing the $dir.name variable to a function that will create the new variable using this command:
    $pName = $dir.name New-variable -name $pName -value (New-Object System.Windows.Forms.CheckBox)
    $pName.Location -value (New-Object System.Drawing.Size(10,$i))
    $pName.Size -value (New-Object System.Drawing.Size(100,20))
    $Pname.Text -value $dir.name
    $groupBox.Controls.Add($pName) 
    Problem is i am not able to do anything with my newly created variable.  I am trying to use the following code to position the new checkbox but i get nothing (same for text, size, etc.)  I am not seeing any errors, so i don't know what i have going
    wrong.  
    is this even possible?
    I am able to create static checkboxes, and i can create dynamic variables.  But i can't mix the two...

    Here is how we normally use listboxes to handle form situations like this one.  The listboxes can automatically select subgroups.
    The hash of arrays can be loaded very easily with a script or the results of the first list can be used to lookup and set the contents of the second.
    Notice how little code is actually used.  This is all of the setup code needed aside from the from definition:
    $FormEvent_Load={
    $global:serversToSites=@{
    Server1=@('S1_SITE1','S1_SITE2','S1_SITE3')
    Server2=@('S2_SITE1','S2_SITE2','S2_SITE3')
    Server3=@('S3_SITE1','S3_SITE2','S3_SITE3')
    $listbox1.Items.AddRange($serversToSites.Keys)
    $listbox1_SelectedIndexChanged={
    $listbox2.Items.Clear()
    $listbox2.Items.AddRange($global:serversToSites[$listbox1.SelectedItem])
    $listbox2_SelectedIndexChanged={
    [void][System.Windows.Forms.MessageBox]::Show($listbox2.SelectedItem,'You Selected Site')
    Here is the complete demo form:
    [void][reflection.assembly]::Load("System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
    [void][reflection.assembly]::Load("System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
    [System.Windows.Forms.Application]::EnableVisualStyles()
    $form1 = New-Object 'System.Windows.Forms.Form'
    $listbox2 = New-Object 'System.Windows.Forms.ListBox'
    $listbox1 = New-Object 'System.Windows.Forms.ListBox'
    $buttonOK = New-Object 'System.Windows.Forms.Button'
    $InitialFormWindowState = New-Object 'System.Windows.Forms.FormWindowState'
    $FormEvent_Load={
    $global:serversToSites=@{
    Server1=@('S1_SITE1','S1_SITE2','S1_SITE3')
    Server2=@('S2_SITE1','S2_SITE2','S2_SITE3')
    Server3=@('S3_SITE1','S3_SITE2','S3_SITE3')
    $listbox1.Items.AddRange($serversToSites.Keys)
    $listbox1_SelectedIndexChanged={
    $listbox2.Items.Clear()
    $listbox2.Items.AddRange($global:serversToSites[$listbox1.SelectedItem])
    $listbox2_SelectedIndexChanged={
    [void][System.Windows.Forms.MessageBox]::Show($listbox2.SelectedItem,'You Selected Site')
    $Form_StateCorrection_Load=
    #Correct the initial state of the form to prevent the .Net maximized form issue
    $form1.WindowState = $InitialFormWindowState
    $form1.Controls.Add($listbox2)
    $form1.Controls.Add($listbox1)
    $form1.Controls.Add($buttonOK)
    $form1.AcceptButton = $buttonOK
    $form1.ClientSize = '439, 262'
    $form1.FormBorderStyle = 'FixedDialog'
    $form1.MaximizeBox = $False
    $form1.MinimizeBox = $False
    $form1.Name = "form1"
    $form1.StartPosition = 'CenterScreen'
    $form1.Text = "Form"
    $form1.add_Load($FormEvent_Load)
    # listbox2
    $listbox2.FormattingEnabled = $True
    $listbox2.Location = '237, 26'
    $listbox2.Name = "listbox2"
    $listbox2.Size = '120, 134'
    $listbox2.TabIndex = 2
    $listbox2.add_SelectedIndexChanged($listbox2_SelectedIndexChanged)
    # listbox1
    $listbox1.FormattingEnabled = $True
    $listbox1.Location = '13, 26'
    $listbox1.Name = "listbox1"
    $listbox1.Size = '120, 134'
    $listbox1.TabIndex = 1
    $listbox1.Sorted = $true
    $listbox1.add_SelectedIndexChanged($listbox1_SelectedIndexChanged)
    # buttonOK
    $buttonOK.Anchor = 'Bottom, Right'
    $buttonOK.DialogResult = 'OK'
    $buttonOK.Location = '352, 227'
    $buttonOK.Name = "buttonOK"
    $buttonOK.Size = '75, 23'
    $buttonOK.TabIndex = 0
    $buttonOK.Text = "OK"
    $buttonOK.UseVisualStyleBackColor = $True
    #Save the initial state of the form
    $InitialFormWindowState = $form1.WindowState
    #Init the OnLoad event to correct the initial state of the form
    $form1.add_Load($Form_StateCorrection_Load)
    #Clean up the control events
    $form1.add_FormClosed($Form_Cleanup_FormClosed)
    #Show the Form
    $form1.ShowDialog()
    You can easily substitute  CheckedListbox if you like checkboxes.
    ¯\_(ツ)_/¯

  • How does Dynamic Quorum work for a two Node DAG

    Hi All,
    I have a two node DAG with a FS witness server. One of the node is 'down' (I have kept it like that), cluster has quorum and all services are online.
    What I'm trying to understand is if a node's State=Down, isn't the Dynamic Quorum Group Manager suppose to trigger and set the DynamicWeight to '0' for that server.
    In my case its not doing so, please let me know if this the way it is, or something is not quite right and I need to fix it.
    Troubleshooting info below:
    PS C:\Windows\system32> Get-ClusterNode | ft name, dynamicweight, state, nodeweight,id -AutoSize
    Name DynamicWeight State NodeWeight Id
    exch1 1 Down 1 1
    exch2 1 Up 1 2
    PS C:\Windows\system32> (Get-Cluster).WitnessDynamicWeight
    1
    PS C:\Windows\system32> Get-ClusterResource
    Name State OwnerGroup ResourceType
    Cluster IP Address Online Cluster Group IP Address
    Cluster Name Online Cluster Group Network Name
    File Share Witness (\\fs1... Online Cluster Group File Share Witness
    (Validation test)
    Validate Quorum Configuration
    Description: Validate
    that the current quorum configuration is optimal for the cluster.
    Validating cluster quorum settings.
    Witness Type: File Share Witness
    Witness Resource: \\fs1.contoso.com\dag1.contoso.com
    Cluster managed voting: Enabled
    Voter Name
    State
    Assigned Vote
    Current Vote
    File Share Witness (\\fs1.contoso.com\dag1.contoso.com) (\\fs1.contoso.com\dag1.contoso.com)
    Online
    1
    1
    exch1
    Down
    1
    1
    exch2
    Up
    1
    1
    This quorum model will be able to sustain failures of 1 node(s) if the file share witness remains available
    and 0 node(s) when the file share witness goes offline or fails.
    This quorum configuration can be changed using the Configure Cluster Quorum wizard. This wizard can be started from the Failover
    Cluster Manager console by selecting the cluster name in the left hand pane, then in the right "actions" pane selecting "More Actions..." and then selecting "Configure Cluster Quorum Settings...".
    When all servers were up
    node/2+1 = 2/2+1=2 required for quorum and we have 3 votes
    When 1 server gone 1/2+1=1 quorum should recalculate to this. But its still considering 3 votes out of 1down server+1up server+1witness. Ideally I should be able to loose the witness too aftersome time  and still maintain quorum(unlike what
    the validation test is saying).
    Regards,
    Satyajit
    Please “Vote As Helpful”
    if you find my contribution useful or “Mark As Answer” if it does answer your question. That will encourage me - and others - to take time out to help you.

    Hi Simon,
    Thanks for your response.
    I have done some study, testing and what I figured out is this.
    Split brain syndrome is prevented by always requiring a majority of the DAG members (and in the case of DAGs with an even number of member, the DAG witness server) to be available and interacting for the DAG to be operational.
    All DAGs with an even number of members must use a witness server.
    Hence a 3 node cluster behaves differently than a 2 node. Exchange 2013 DAG kind of forces you to have a witness server always.
    You can specify only a name for the DAG and leave the Witness server and
    Witness directory fields empty. In this scenario, the task will search for a Client Access server that doesn't have the Mailbox server role installed. It will automatically create the default witness directory and share on that Client Access
    server and configure the DAG to use that server as its witness server.
    You can
    'overridde the quorum configuration using Windows2012 Failover Cluster Manager', however using it to modify a DAG is not recommended.
    If you open Failover Cluster Manager in Administrative Tools, you’ll find the Database Availability Group (DAG), cluster networks and so on. Don’t try to manage the DAG
    using the Failover Cluster Manager, as this isn’t supported. The Exchange Management Console (EMC) or the Exchange Management Shell (EMS) are the only ways to manage the DAG.
    Unless you’re doing a DC switchover and/or being assisted by Microsoft Support services (premier)
    Now back to the point:
    When we are left with 2 nodes and 1 witness server for Exchange HA. The Dynamic Quorum functionality kind of stops dealing with it. As 2nodes/2+1=2votes this means we need to have atleast 2 votes to have quorum.
    So if we assume Dynamic Quorum triggers and removes 2 votes, 1 from Witness and 1 from nodeB.
    Then the new formula we have is 1node/2+1=1vote which would mean this would allow us to loose both the witness and the nodeB. And nodeA will be the last man standing as in this
    article.
    However having this scenario in a two node cluster brings in the split-brain problem. As if there is a full disconnect of nodeA site and nodeB+Witness can talk, they form quorum , nodeB mounts the database. Which is undesirable.
    Hence Dynamic Quorum keeps the votes to 3 in a 2nodes+1witness scenario contrary to what is expected and in turn keeps everything running fine till we have 2votes available, just like 2010,Windows2008 days.
    Regards,
    Satyajit
    Please “Vote As Helpful”
    if you find my contribution useful or “Mark As Answer” if it does answer your question. That will encourage me - and others - to take time out to help you.

  • Exchange Server Dynamic quorum for two AD site

    Hello All,
    I have some query regarding the Dynamic Quorum issue:
    The environment is two Exchange 2013 in first AD site and another Exchange server 2013 on second AD site. So, total 3 node exchange server.
    1. Can i configure DAG with dynamic quorum on this scenario?
    2. If first site is totally down then second site can work without any interruption.
    3. Is there any need manual switchover in this scenario?
    4. OWA and outlook can work if first site down?
    5. If first site down then second site exchange server db can automatically mounted.
    Thanks,
    Parvez

    Hi,
    1. Can i configure DAG with dynamic quorum on this scenario?
    By default dynamic quorum will be enabled once the node is added to the DAG
    2. If first site is totally down then second site can work without any interruption.
    1.sequential failure on dag nodes - first node in dag will go down and after a short time second node will go down . 
    2.simultaneous failure on dag nodes - majority of the nodes will go down at a time .On your case majority is two.
    Dynamic quorum will support sequential failure of nodes and it will not support the simultaneous failure .
    So on your case if you perform manual sequential failure on the dag nodes you can make utilize the dynamic quorum feature .
    Note : Please refer the below mentioned blog which will give you a good clarity.Like you they have also demonstrated with three nodes.
    Reference
    blog : http://www.msexchange.org/articles-tutorials/exchange-server-2013/high-availability-recovery/exchange-2013-dag-dynamic-quorum-part2.html
    3. Is there any need manual switchover in this scenario?
    Yes it is available .You can follow the below mentioned article .Though it is for exchange 2010 but it will support 2013 .
    http://smtpport25.wordpress.com/2010/12/10/exchange-2010-dag-local-and-site-drfailover-and-fail-back/
    4. OWA and outlook can work if first site down?
    You need to point the outlook and owa namespaces to the exchange 2013
    server  in DR site or else it would be to an LB in DR site.
    5. If first site down then second site exchange server db can automatically mounted.
    At a time , If the entire site goes down then the automatic failover will not happen ,because
    the dynamic quorum doesn't have the enough time to recalculate the dynamic weight. 
    Please feel free to reply me if you have any queries.
    Thanks & Regards S.Nithyanandham

  • Mailbox and Client Access on the same servers for CAS HA (L4 LB) and Mailbox DAG

    Hi, I would like to ask this question.
    I'm reading all sort of documentation that I'm finding on the internet, but I can't understand if what I'm thinking to do is possible.
    I would like to setup a basic environment configuring only two Exchange 2013 on two Win 2012 R2 servers. Both servers will be Mailbox (MBX) and Client Access (CAS). I will create a two-member DAG using File Share Witness or Disk Witness for the Dynamic Quorum.
    Then I will setup Outlook Anywhere with internal and external namespace for CAS redundancy and layer 4 load balancing.
    In this scenario I will not need to install a third part load balancer.
    Am I doing right or I watching a movie?
    Thanks in advance

    Hi ,
    You could need to have the HLB or virtual load balancers for redundancy.
    Disadvantages of some load balancing methods :
    If you use Windows NLB then it can provide redundancy on server level failure and not on application level.
    In case if we use the windows round robin method for load balancing then it wouldn't provide server level and application level redundancy during the failures.At the Same time we need to manually adjust the DNS records during the server failure but on the
    client end dns caches will create the issues.
    Lets consider you are having the internal and external names for outlook anywhere like below .
    internal and external outlook anywhere name :
    mail.domain.com
    For the above name just configure the HOST A record in windows DNS and map it to load balancer ip.Then the second step would be to configure your exchange servers in LB .So all the internal and external outlook client connectivity will happen via LB to exchange
    servers.In that case if anyone of the server is down then LB will automatically make the outlook client to get connected to the server which is alive and at the same time none of the request from outlook client to LB will get forward to the server which is
    in down state.
    Note : Make sure you are having the redundancy for LB devices also otherwise it would be a single point of failure on the LB end . 
    Please reply me if anything is unclear.
    Thanks & Regards S.Nithyanandham

  • Issues in persisting dynamic entity and view objects using MDS

    Hi All,
    I'm trying to create dynamic entity and view objects per user session and to persist these objects throughout the session, I'm trying to use MDS configurations(either file or Database) in adf-config.xml.
    I'm facing following two errors while trying to run the app module:
    1. MDS error (MetadataNotFoundException): MDS-00013: no metadata found for metadata object "/model/DynamicEntityGenModuleOperations.xml"
    2. oracle.mds.exception.ReadOnlyStoreException: MDS-01273: The operation on the resource /sessiondef/dynamic/DynamicDeptEntityDef.xml failed because source metadata store mapped to the namespace / DEFAULT is read only.
    I've gone through the following links which talks about the cause of the issue, but still can't figure out the issue in the code or the config file. Please help if, someone has faced a similar issue.
    [http://docs.oracle.com/cd/E28271_01/doc.1111/e25450/mds_trouble.htm#BABIAGBG |http://docs.oracle.com/cd/E28271_01/doc.1111/e25450/mds_trouble.htm#BABIAGBG ]
    [http://docs.oracle.com/cd/E16162_01/core.1112/e22506/chapter_mds_messages.htm|http://docs.oracle.com/cd/E16162_01/core.1112/e22506/chapter_mds_messages.htm]
    Attached is the code for dynamic entity/view object generation and corresponding adf-config.xml used.
    ///////////App Module Implementation Class/////////////////////////
    public class DynamicEntityGenModuleImpl extends ApplicationModuleImpl implements DynamicEntityGenModule {
    private static final String DYNAMIC_DETP_VO_INSTANCE = "DynamicDeptVO";
    * This is the default constructor (do not remove).
    public DynamicEntityGenModuleImpl() {
    public ViewObjectImpl getDepartmentsView1() {
    return (ViewObjectImpl) findViewObject("DynamicDeptVO");
    public void buildDynamicDeptComp() {
    ViewObject internalDynamicVO = findViewObject(DYNAMIC_DETP_VO_INSTANCE);
    if (internalDynamicVO != null) {
    System.out.println("OK VO exists, return Defn- " + internalDynamicVO.getDefFullName());
    return;
    EntityDefImpl deptEntDef = buildDeptEntitySessionDef();
    ViewDefImpl viewDef = buildDeptViewSessionDef(deptEntDef);
    addViewToPdefApplicationModule(viewDef);
    private EntityDefImpl buildDeptEntitySessionDef() {
    try {
    EntityDefImpl entDef = new EntityDefImpl(oracle.jbo.server.EntityDefImpl.DEF_SCOPE_SESSION, "DynamicDeptEntityDef");
    entDef.setFullName(entDef.getBasePackage() + ".dynamic." + entDef.getName());
    entDef.setName(entDef.getName());
    System.out.println("Application Module Path name: " + getDefFullName());
    System.out.println("EntDef :" + entDef.getFileName() + " : " + entDef.getBasePackage() + ".dynamic." + entDef.getName());
    entDef.setAliasName(entDef.getName());
    entDef.setSource("DEPT");
    entDef.setSourceType("table");
    entDef.addAttribute("ID", "ID", Integer.class, true, false, true);
    entDef.addAttribute("Name", "NAME", String.class, false, false, true);
    entDef.addAttribute("Location", "LOCATION", Integer.class, false, false, true);
    entDef.resolveDefObject();
    entDef.registerSessionDefObject();
    entDef.writeXMLContents();
    entDef.saveXMLContents();
    return entDef;
    } catch (Exception ex) {
    System.out.println(ex.getLocalizedMessage());
    return null;
    private ViewDefImpl buildDeptViewSessionDef(EntityDefImpl entityDef) {
    try {
    ViewDefImpl viewDef = new oracle.jbo.server.ViewDefImpl(oracle.jbo.server.ViewDefImpl.DEF_SCOPE_SESSION, "DynamicDeptViewDef");
    viewDef.setFullName(viewDef.getBasePackage() + ".dynamic." + viewDef.getName());
    System.out.println("ViewDef :" + viewDef.getFileName());
    viewDef.setUseGlueCode(false);
    viewDef.setIterMode(RowIterator.ITER_MODE_LAST_PAGE_FULL);
    viewDef.setBindingStyle(SQLBuilder.BINDING_STYLE_ORACLE_NAME);
    viewDef.setSelectClauseFlags(ViewDefImpl.CLAUSE_GENERATE_RT);
    viewDef.setFromClauseFlags(ViewDefImpl.CLAUSE_GENERATE_RT);
    viewDef.addEntityUsage("DynamicDeptUsage", entityDef.getFullName(), false, false);
    viewDef.addAllEntityAttributes("DynamicDeptUsage");
    viewDef.resolveDefObject();
    viewDef.registerSessionDefObject();
    viewDef.writeXMLContents();
    viewDef.saveXMLContents();
    return viewDef;
    } catch (Exception ex) {
    System.out.println(ex.getLocalizedMessage());
    return null;
    private void addViewToPdefApplicationModule(ViewDefImpl viewDef) {
    oracle.jbo.server.PDefApplicationModule pDefAM = oracle.jbo.server.PDefApplicationModule.findDefObject(getDefFullName());
    if (pDefAM == null) {
    pDefAM = new oracle.jbo.server.PDefApplicationModule();
    pDefAM.setFullName(getDefFullName());
    pDefAM.setEditable(true);
    pDefAM.createViewObject(DYNAMIC_DETP_VO_INSTANCE, viewDef.getFullName());
    pDefAM.applyPersonalization(this);
    pDefAM.writeXMLContents();
    pDefAM.saveXMLContents();
    ////////adf-config.xml//////////////////////
    <?xml version="1.0" encoding="windows-1252" ?>
    <adf-config xmlns="http://xmlns.oracle.com/adf/config" xmlns:config="http://xmlns.oracle.com/bc4j/configuration" xmlns:adf="http://xmlns.oracle.com/adf/config/properties"
    xmlns:sec="http://xmlns.oracle.com/adf/security/config">
    <adf-adfm-config xmlns="http://xmlns.oracle.com/adfm/config">
    <defaults useBindVarsForViewCriteriaLiterals="true"/>
    <startup>
    <amconfig-overrides>
    <config:Database jbo.locking.mode="optimistic"/>
    </amconfig-overrides>
    </startup>
    </adf-adfm-config>
    <adf:adf-properties-child xmlns="http://xmlns.oracle.com/adf/config/properties">
    <adf-property name="adfAppUID" value="TestDynamicEC-8827"/>
    </adf:adf-properties-child>
    <sec:adf-security-child xmlns="http://xmlns.oracle.com/adf/security/config">
    <CredentialStoreContext credentialStoreClass="oracle.adf.share.security.providers.jps.CSFCredentialStore" credentialStoreLocation="../../src/META-INF/jps-config.xml"/>
    </sec:adf-security-child>
    <persistence-config>
    <metadata-namespaces>
    <namespace metadata-store-usage="mdsRepos" path="/sessiondef/"/>
    <namespace path="/model/" metadata-store-usage="mdsRepos"/>
    </metadata-namespaces>
    <metadata-store-usages>
    <metadata-store-usage default-cust-store="true" deploy-target="true" id="mdsRepos">
    <metadata-store class-name="oracle.mds.persistence.stores.file.FileMetadataStore">
    <property name="metadata-path" value="/tmp"/>
    <!-- <metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
    <property name="jndi-datasource" value="jdbc/TestDynamicEC"/>
    <property name="repository-name" value="TestDynamicEC"/>
    <property name="jdbc-userid" value="adfmay28"/>
    <property name="jdbc-password" value="adfmay28"/>
    <property name="jdbc-url" value="jdbc:oracle:thin:@localhost:1521:XE"/>-->
    </metadata-store>
    </metadata-store-usage>
    </metadata-store-usages>
    </persistence-config>
    </adf-config>
    //////////////////////////////////////////////////////////////////////////////////////////////////////////

    Hi Frank,
    I m trying to save entity and view object xml by calling writeXMLContents() and saveXMLContents() so that these objects can be retrieved using the xmls later on.
    These methods internally use MDS configuration in adf-config.xml, which is creating the issue.
    Please share your thoughts on resolving this or if, there is any other way of creating dynamic entity/view objects for db tables created at runtime.
    Nik

  • Problem in tabular form based on dynamic view and pagination

    Hi All,
    I have a manual tabular form based on a dynamic view. The view fetches the records based on search criteria given by the user in all cases. But this view fetches ALL records when user clicks on pagination, without considering the search criteria. This is the problem I am facing.
    I am doing the following:
    Since tabular form does not support pl/sql function returning query, I cannot use a table directly. I need my results based on search criteria selected by user. Hence I created a dynamic view and used a "INSTEAD OF UPDATE" trigger to update the table.
    I use a set bind variables procedure, on load before header for setting the variables.
    This view fetches the correct data based on user search always. It creates a problem only in one situation, when using pagination in the report.
    The example can be found at:
    http://apex.oracle.com/pls/otn/f?p=19399:1:
    username = [email protected]
    pwd = kishore
    Here if "manager name" is entered as test, we get 5 records in "Summary of requests" report and 5 records in "Inactive Requests" report. When user clicks on Pagination in any of the reports, ALL the 7 records get fetched in "Summary of Requests" and 6 records in "Inactive Requests". How can I overcome this problem?? The report must consider the search variables even when pagination occurs.
    Is this because, the inbuilt "html_PPR_Report_Page" executes the region query once again by considering all search variables as NULL?
    Backend Code is at:
    http://apex.oracle.com/pls/otn/
    workspace: sekhar.nooney
    Username :[email protected]
    pwd: kishore
    application id = 19399
    My region code is something like:
    select *
    from regadm_request_v
    where access_type = :F110_REGADM
    and status <> 'INACTIVE'
    order by request_id
    My view code is:
    CREATE OR REPLACE VIEW REGADM_REQUEST_V
    AS
    SELECT *
    FROM REGREGOWNER.REGADM_REQUEST
    WHERE upper(employee_name) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_EMPLOYEE_NAME),'%')||'%'
    AND upper(manager_name) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_MANAGER_NAME),'%')||'%'
    AND upper(employee_sunetid) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_EMPLOYEE_SUNET_ID),'%')||'%'
    AND upper(manager_sunetid) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_MANAGER_SUNET_ID),'%')||'%'
    AND upper(request_date) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_REQUEST_DATE),'%')||'%'
    AND upper(USAGE_AGREEMENT_RECVD) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_USAGE_AGREMNT_RECVD,'~!@',NULL,REGADM_REQUEST_PKG.GET_USAGE_AGREMNT_RECVD)),'%')||'%'
    AND upper(STATUS) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_STATUS,'~!@',NULL,REGADM_REQUEST_PKG.GET_STATUS)),'%')||'%'
    AND upper(REQUEST_APPROVED) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_REQUEST_APPROVED,'~!@',NULL,REGADM_REQUEST_PKG.GET_REQUEST_APPROVED)),'%')||'%'
    AND upper(nvl(APPROVAL_DATE,sysdate)) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_APPROVED_DATE),'%')||'%'
    AND upper(APRVL_REQUEST_SENT) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_EMAIL_APPROVERS,'~!@',NULL,REGADM_REQUEST_PKG.GET_EMAIL_APPROVERS)),'%')||'%'
    AND upper(NOTIFY_APPROVED) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_APPROVAL_NOTIFICATION,'~!@',NULL,REGADM_REQUEST_PKG.GET_APPROVAL_NOTIFICATION)),'%')||'%'
    I would be glad for any suggestions.
    Andy/Varad any ideas? You both helped me a lot on my problems for the same application that I had faced before in More Problems in Tabular form - Please give me suggestions.
    Thanks,
    Sumana

    Hi Andy,
    The view and the package for setting bind variables work properly in my entire application other than the pagination. A pity that I came across this only now :(
    I have used this same method for holding variables in another application before, where I needed to print to PDF. I used this approach in the other application because my queries were not within the APEX character limit specified for the "SQL Query of Report Query shared component".
    In this application, I initially had to fetch values from 2 tables and update the 2 tables. Updateable form works only with one table right? Hence I had created a view. Later the design got changed to include search and instead of changing the application design I just changed the view then. Still later, my clients merged the 2 tables. Once again I had just changed my view.
    Now, I wanted to know if any method was available for the pagination issue (using the view itself). Hence I posted this.
    But as you suggested, I think it is better to change the page design quickly (as it would be much easier).
    If I change the region query to use the table and the APEX bind parameters in the where clause as:
    SELECT *
    FROM REGADM_REQUEST
    WHERE upper(employee_name) LIKE '%'||nvl(upper(:P1_EMPLOYEE_NAME),'%')||'%' .....
    I also changed the ApplyMRU to refer to the table.
    Here the pagination issue is resolved. But here the "last Update By" and "Last Update Date" columns do not get updated with "SYSDATE" and "v(APP_USER)" values, when update takes place. Even if I make the columns as readonly text field, I am not sure how I can ensure that SYSDATE and v('APP_uSER') can be passed to the columns. Any way I can ensure this? Please have a look at the issue here: http://apex.oracle.com/pls/otn/f?p=19399:1:
    I have currently resolved the "last update" column issue by modifying my view as:
    CREATE OR REPLACE VIEW REGADM_REQUEST_V
    AS
    SELECT *
    FROM REGADM_REQUEST
    I modified my region query to use APEX bind parameters itself as:
    SELECT *
    FROM REGADM_REQUEST_V
    WHERE upper(employee_name) LIKE '%'||nvl(upper(:P1_EMPLOYEE_NAME),'%')||'%' .....
    And I use the "INSTEAD OF UPDATE" trigger that I had initially written for update. The code is:
    CREATE OR REPLACE TRIGGER REGADM_REQUEST_UPD_TRG
    INSTEAD OF UPDATE
    ON REGADM_REQUEST_V
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    BEGIN
    UPDATE REGREGOWNER.REGADM_REQUEST
    SET MANAGER_EMAIL = :NEW.MANAGER_EMAIL
    , EMPLOYEE_EMAIL = :NEW.EMPLOYEE_EMAIL
    , STATUS_UPDATE_DATETIME = SYSDATE
    , USER_UPDATE_ID = (SELECT v('APP_USER') FROM DUAL)
    WHERE REQUEST_ID = :OLD.REQUEST_ID;
    END;
    Please let me know how I can resolve the "last update" column issue using the table itself. (Just for my learning)
    Thanks,
    Sumana

  • Creating a view with existing GeoRaster columns and new SDO_GEOMETRY column

    Hi,
    In a nutshell, I already have 1 real table, which has several attributes including types such as text, numbers etc. but also a GeoRaster column. This table works great, has its metadata stored properly and is spatially indexed; no worries.
    I am then creating a view based on the above mentioned table, including the GeoRaster column. This worked, no problems. However now I want the same view to also have a SDO_GEOMETRY column which explicitly stores the spatial extent for each GeoRaster. Note the original table does not have this SDO_GEOMETRY column. So, I have created a revised SQL statement to create the view, but now it dynamically adds a new column and puts the GeoRaster.spatialextents into the SDO_GEOMETRY column.
    This worked, the data made it into the view, but when we try to view the SDO_GEOMETRY in a viewer, we get errors. I added a system metadata entry for the view, but this did not help. Also, it is not possible to spatially index a view so I knew that was not the problem.
    I think what has happened is the SDO_GEOMETRY column is in a sort of "limbo", where because it was not contained in the original table (and indexed there) and it is not able to be indexed in a view, it cannot be manipulated/viewed/used spatially.
    Here is a snippet describing the original table:
    "IMAGERY_ID" NUMBER NOT NULL ENABLE,
    "CAM_ANGLE_X" NUMBER,
    "CAM_ANGLE_Y" NUMBER,
    "CAM_ANGLE_Z" NUMBER,
    "SPEED" NUMBER,
    "HEADING" NUMBER,
    "IMAGE_GEOR" "SDO_GEORASTER",
    "ACQUISITION_TIME" TIMESTAMP (6),
    "SENSOR_ID" NUMBER,
    "DOWNWARD_LOOKING" CHAR(1 BYTE),
    "ORG_ID" NUMBER,
    "POC_ID" NUMBER,
    "FILE_NAME" VARCHAR2(100 BYTE),
    "CORRELATION_ID" VARCHAR2(256 BYTE),
    And here is the statement I used to create the new view:
    CREATE VIEW level_0_img_view (imagery_id, cam_angle_x, cam_angle_y, cam_angle_z, speed, heading, image_geor, acquisition_time, sensor_id, downward_looking, org_id, poc_id, file_name, correlation_id, geor_extents)
    AS
    SELECT a.imagery_id, a.cam_angle_x, a.cam_angle_y, a.cam_angle_z, a.speed, a.heading, a.image_geor, a.acquisition_time, a.sensor_id, a.downward_looking, a.org_id, a.poc_id, a.file_name, a.correlation_id, a.image_geor.spatialextent
    FROM imagery a
    WHERE a.file_name LIKE '%.lev0';
    Note in the above statement that the "geor_extents" column is the new column added dynamically (and not in the original table). Note the new column with the SDO_GEOMETRY data is flawless, I have looked at the records in SQL developer and all the data is there.
    Any ideas?
    In case you're wondering, I do have reasons for: (i) wanting an explicit column with the SDO_GEOMTRY (serving via WFS), and (ii) not wanting to alter the original table to include the equivalent SDO_GEOMETRY column.
    Cheers,
    M.

    Hi,
    if you are having problems to display your view spatial columns in MapBuilder/MapViewer, you may be missing to register the view information in the metadata (name and spatial columns).
    For example, lets see the following table that simulates your case:
    SQL> desc pci_image;
    Name Null? Type
    GEORID NOT NULL NUMBER
    TYPE VARCHAR2(32)
    GEORASTER MDSYS.SDO_GEORASTER
    -- create a view
    create view pci_img_view (georid,georaster,geor_extents)
    as
    select a.georid,a.georaster,a.georaster.spatialextent
    from pci_image a;
    -- register metadata for view spatial columns (GeoRaster and geometry column)
    insert into user_sdo_geom_metadata
    select 'PCI_IMG_VIEW','GEORASTER.SPATIALEXTENT', diminfo, srid
    from user_sdo_geom_metadata where table_name = 'PCI_IMAGE'
    insert into user_sdo_geom_metadata
    select 'PCI_IMG_VIEW','GEOR_EXTENTS', diminfo, srid
    from user_sdo_geom_metadata where table_name = 'PCI_IMAGE'
    There is no need to index the spatial columns if they have been indexed before.
    Now, if you go in MapBuilder you should see the the view name in the list of geometry tables, and be able to create a theme on column GEOR_EXTENTS (select it on the combo box) and to preview it.
    For the GeoRaster column, currently the view name is not shown on the list of GeoRaster tables in MapBuilder.
    For GeoRaster data, MapBuilder uses the contents of metadata view user_sdo_geor_sysdata, and then it would be needed to register the view contents there. We will talk with Jeffrey to check if there is any problem in registering
    view contents in this metadata view. If the view name and georaster column is registered in user_sdo_geor_sysdata,
    then it should show in MapBuilder. But you can still create a GeoRaster theme for this view using a SQL command, and should be able to preview it in MapBuilder.
    -- create a GeoRaster theme based on view Georaster column.
    insert into user_sdo_themes values (
    'PCI_IMAGE_V_GEOR',
    'View of georaster column',
    'PCI_IMG_VIEW',
    'GEORASTER',
    '<?xml version="1.0" standalone="yes"?>
    <styling_rules theme_type="georaster" raster_id="1" raster_table="RDT_PCI" raster_bands="0,1,2">
    </styling_rules>');
    -- commit changes
    commit;
    Joao

  • Dynamically displaying a new region (row?) based on immediate user input

    Whew, figuring out a title was almost as hard as trying to explain what I want to do!
    Okay, a little background first.
    My app has 178 main data fields, spread across about 35 tables. The users want to be able to search any and all data fields. So, I wrote a PL/SQL package that for each master record, loops through all of the child tables and creates (more or less) an XML file for each master record (which I store in a CLOB field). When any data in any table is changed, a trigger fires to re-update that CLOB field as well. I then used Oracle Text to create an index on the CLOB field, and now the users can search across all of the available information for each master record and get a list of which records contained what they were looking for.
    So here's the first part of the problem. The app is a Mineral Occurence database for all mineral information world-wide. Say they enter "Brazil" as what they want to search for, they not only retreive all of the mineral sites in Brazil, but also all of the sites where one of the mining companies may be based in Brazil, or Brazil is one of the comments, etc. While this is the expected behaviour, it's still not quite what they expected (but they also don't want to get rid of this behaviour either).
    So, since the CLOB field is already formatted with XML-type tags, what I want to do is to have an Advanced Search page, where the user can specify the table name to search, or the field name, or both. What I'd like to do is at the end of each line, have a select list with an "AND" or "OR' box, and if that gets a value, then dynamically create another 'row' underneath the first row, with the same three 'boxes' (actually select lists), and continue on until the user has specified exactly what they want to search for.
    I would rather not have to create a whole bunch of regions or rows, and then determine at runtime whether or not to display them.
    So i would have (using underscores as the boxes/fields):
    Table to Search        Field to Search          And/Or
    ______________          _____________          _______Each of the above would be a select list.
    Anybody have ideas on how I can accomplish this? Any Javascript or AJAX-type solutions that a dummy like me can easily implement? I've seen something almost similar on Carl's example pages to Hide/Show a region(?), but understanding the underlying code and then modifying it for what I want to do is extremely complicated (for me) at best.
    Thanks.
    Bill Ferguson

    Well, after searching through the QBE results (even some of mine), the only thing that comes close is Earl's (http://htmldb.oracle.com/pls/otn/f?p=36337:14). Actually his layout is almost perfect and pretty identical to what I want/need. Vikas' example seems like what I've toyed with on some other pages in my app, using a simple UNION ALL with nulled fields in the select statement, which won't work for what I need, at least I can't seem to visualize how I could incorporate that same code logic.
    However, unlike Earl's, when/if the last column (which I'd have as the 'AND/OR' select list) is populated, I'd like to dynamically display another new row.
    Now I know I could do it by making the last column a 'Select List With Submit', but that would neccessitate my creating about 25 regions (to hopefully cover the max any of the users would ever need), and then conditionally display the region based on whether or not the previous 'AND/OR' condition field was populated. It would also require a whole slew of page refreshes, which is clunky.
    It seems like there should probably be a way with AJAX to accomplish something similar. I think I remember seeing something along these lines in the last year or so on here, but I can't find it.
    Something like a cross-breed of Earl's example page above mixed with Carl's example at http://htmldb.oracle.com/pls/otn/f?p=11933:39:4740898821262791902::NO:RP:: which would automatically fire on the poplulation of the last select list is probably the best I can accomplish, unless somebody has some better ideas on how to do this. Using Carl's htmldb_remix code, I can avoid all the submits and the resulting page refreshes, but the code itself will take an old dummy like me a while to figure out.
    Thanks for the ideas though.
    Bill Ferguson

  • Unable to install Intel Dynamic Platform and Thermal Framework on Yoga 13

    I recently purchased a Yoga 13. I just got Windows 8 Enterprise installed on there. I am unable to install Intel Dynamic and Thermal Framework. I downloaded this directly from Lenovo Support (the file is labeled "Dynamic Platform and Thermal Framework for Microsoft Windows 8 (64-bit) - IdeaPad Yoga 13").
    During installation, the service agreement is in another language (Chinese, perhaps). When the installer starts running, I immediately get an error:
    "The setup program failed to install one or more device drivers. Setup will exit."
    And that's it. What do I have to do to get this to install? Am I downloading the right version? I don't see another version to download anywhere. I tried finding the software on Intel, but I was unable to. When using Intel® Driver Update Utility, it recognizes hardware that needs drivers, but it does not give me the Dynamic Platform download.
    Any help is appreciated.

    Sorry, I don't think this will help, but...
    I have been investigating why my Yoga-13 might be freezing up (about once every other day). While looking at errors in the event log, I came across errors that led to the following sites when I googled the error:
    http://en.community.dell.com/support-forums/laptop/f/3518/p/19481625/20262664.aspx
    http://forum.notebookreview.com/dell-xps-studio-xps/650572-new-dell-xps-l521x-ivy-bridge-536.html#po...
    Probably not any help.
    If you do get it installed and you experience your yoga freezing up (no response to any input), please post here.

  • More info needed on BC Dynamic menus and using CSS with them

    Hi all,
    The BC Gurus tutorial on Dynamic Menus and how to style them with CSS made no sense to me, unfortunately. The presentation was too rushed and the screen too small to see what was happening.
    In a previous question I found out how to apply CSS classes to BC menus after a bit of a run around.
    I was putting the # in front of the Item ID name and a . in front of the class name and this was not necessary.
    I have further questions though, as I am still struggling to get a BC Dynamic menu to style properly with the CSS I have created.
    1. If you choose CSS as the menu type, can you set the font, background colour and rollover state of the menu items in the Dynamic menu section? Or do you have to style it all in the CSS stylesheet?
    2. If you choose CSS as the menu type, the option to say how the submenu sits under the root menu disappears. So do you need to set this in the CSS stylesheet? And if so in which element? UL or LI?
    3. If you choose CSS/HTML only, how is this different to the option of CSS for the dynamic menu?
    4. If you choose CSS as the menu type and if you set a width and height in the menu item, and then set a different width and height in the CSS stylesheet, which width and height wins?
    5. If you want a dynamic menu to show on an Android phone, do you have to choose CSS/HTML only and do all the styling in the CSS stylesheet? Or should you avoid dynamic menus all together and just use a UL list in the template? (I am doing a responsive fluid grid layout in DW for the template).
    6. I am finding that the dynamic menu I have done, with CSS as the type, does not show and hide the sub menu items properly on an Android phone. Is there a problem with the javascript in Dynamic menus?
    Thanks for any help you folks can give on these questions!

    .pacnew files are only created if you have modified the default (or a change has been made to the config upstream); in both cases, you should be looking to incorporate the changes.
    It seems some new options are being shipped with lxdm: you want those in your config (turning them on or off is a matter for you and the man page to sort out)...

  • Auto scrolling dynamic text field(news ticker)

    > This message is in MIME format. Since your mail reader
    does not understand
    this format, some or all of this message may not be legible.
    --B_3272625483_2679871
    Content-type: text/plain;
    charset="US-ASCII"
    Content-transfer-encoding: 7bit
    Does anyone know how to make a scrollable dynamic text field
    scroll on its
    own and also with user interaction?
    Thanks in advance for your help.
    Bill
    --B_3272625483_2679871
    Content-type: text/html;
    charset="US-ASCII"
    Content-transfer-encoding: quoted-printable
    <HTML>
    <HEAD>
    <TITLE>Auto scrolling dynamic text field(news
    ticker)</TITLE>
    </HEAD>
    <BODY>
    <FONT FACE=3D"Verdana, Helvetica, Arial"><SPAN
    STYLE=3D'font-size:12.0px'>Does =
    anyone know how to make a scrollable dynamic text field
    scroll on its own an=
    d also with user interaction?<BR>
    <BR>
    Thanks in advance for your help.<BR>
    <BR>
    Bill</SPAN></FONT>
    </BODY>
    </HTML>
    --B_3272625483_2679871--

    I found this:
    http://www.kirupa.com/developer/mx/dynamic_scroller.htm
    I copied the actual scroller and put it in my .fla and it
    worked! Now if I can only figure out links in XML...

  • Dynamic Forms and PDF Preview

    I'm new to PDF forms and designer. I have encountered 2 issues that I can't get around.
    1 - PDF Preview - When I go from "body pages" to "PDF Preview" it goes into a script saying it can't download from a website and errors out. I believe it worked properly for awhile. Is this normal ? I tried to reload and repair my acrobat, but to no avail.
    2 - I'm trying to create a dynamic form and there is very little info on creating a dynamic form and what info I have found is very evasive?
    I'm trying to create a form section that has line items. I would like to have the line items expand by an input, by the user. example: the user enters # items to order "6" and then six line items appear for the user to fill out

    Hello Dave,
    I can't say I've seen issue 1 before and would recommend contacting support.
    For item 2 I would suggest wrapping your 'line' of text in a subform then creating a script to use the setInstance method for that subform.
    Let's say you had a subform named "TextLine" (which contained a text field), a numeric field called "NumberOfLines" and a button called "SetLines". You would likely want to have javascript code on the SetLines button click event much like:
    TextLine.instanceManager.setInstances(NumberOfLines,rawValue);
    You will want to save this form as a Dynamic PDF before previewing and you will want to ensure that TextLine allows for more than one occurence (found under Object - Binding, Allow Subform to Repeat when you have that subform selected).
    You may also want to put in some validation against the NumberOfLines field to ensure it has a value.
    I hope that helps.

  • Difference between dynamic report and template

    I think the subject line covers it, I am trying to find out, that when I save the report, I can save it as static or dynamic report or as a template. but what is the diff between dynamic report and template?
    Thanks.

    Hi Zack,
    SAP provides some standard templates as report templates. The users are provided with the option to save their own versions of reports as 'Report Templates' for future use. As a super user one could create a custom template and save to the template library which the other users could access from the template library.
    For example if you have 'ACCOUNT' drilldown as a standard report template, you could define a new template as for example, 'Entity' drilldown template.
    Hope it is clear now.
    Thanks,
    Sreeni

  • How To create a new DAG across a WAN connection?

    In preparation to moving our mailbox/hub transport server from our local office to a data center, we would like to create a DAG, putting the second mailbox server into the data center
    What is the best way to start a DAG when the servers are across a WAN link?  There will be about 800GB data in the databases including primary mailboxes and archives.
    This is how the existing 2-server layout looks now (they are both Hyper-V VMs):
    There is a CAS-only Exchange 2010 server already in the data center as shown in the diagram.  Can we just add disk space and RAM to this CAS and enable the mailbox and hub transport roles on it and then sync the mailbox data to it over the course of
    several nights?  Can we restore the database from the previous day's backup of the other mailbox server to give it a head start?
    Once we have an up to date mail database working on in the data center and are able to use it, we would then like to disband the 2010 DAG, retire the original Exchange 2010 mailbox/hub transport server in our office and then migrate to Exchange 2013 with
    a new DAG in the data center.

    Hi ,
    As an additional info , database portability can be used on the following conditions.
    So we cannot swap the mailbox databases between the exchange 2010 and exchange 2013 and also we cannot make use that feature for public folder database.
    My suggestions : 
    First option : 
    Please install the MBX and HUB role on the server "exch 2010 CAS" and then use the database availability feature to mount the databases on the server "exch 2010 CAS" by using the restored .edb files and log files from backup.
    As Li
    Zhen mentioned you can use the database portability feature by referring the Paul's article.
    To have the up to date data availability we need an down time ,because you need to dismount the current databases once the full backup get completed to avoid creating of new logs.By doing so all the emails will get queued .Then we need to restore the .edb
    files and its respective logs on the server "exch 2010 CAS" .Then we need to create and mount the new database by using restored edb and log files by using the database portability method.Then we need to redirect the users from the old database to
    the new database on the server "exch 2010 CAS" .So till that time there would be an downtime for the users.
    Second option : 
    Please install the MBX and HUB role on the server "exch 2010 CAS" .Then create the new dag with both exchange 2010 as DAG members.
    Then on the server "exch 2010 CAS" , please do not seed the database by using the command update command.Instead you can follow the article to have the up to date passive copy but there will be a down time.
    https://social.technet.microsoft.com/Forums/exchange/en-US/bc6c739f-cbbb-4242-8d62-4182afd157b7/exhchange-2010-sp3-dag-pre-seed-with-arcserve-r15?forum=exchangesvravailabilityandisasterrecovery
    Then the final step would be to mount all the databases on the server "exch 2010 CAS" .Once your exchange 2013 environment is ready then you can start moving the mailboxes to the exchange 2013 servers from exchange 2010 server i.e "exch 2010
    CAS"
    Note : My suggestion would be to go with the second option.
    However on my side i am checking is there is any other way to avoid the downtime.If anyone knows about such kind of technologies please share with us.
    Thanks & Regards S.Nithyanandham

Maybe you are looking for

  • Differences in CO-PA on ECC 6.0 to 4.7

    Hi, Can some highlight how is CO-PA module different in ECC 6.0 to that of 4.7?? Any online links would be a great help. Thanks in Advance MKK

  • FM datasource

    Hello Friends, I am facing critical error for FM dataSource. I have SAP R/3 program which gives me data in table that feeds to datasource FM. Now I have import export mechanism that fills data into datasource. Now S_S_IF-MAXSIZE which is a standard p

  • Change Date of Photo

    Someone sent me some photos which I have imported to iPhoto '11. Apparently the date was not properly set on their camera because it shows as January 1, 1980 and as such, is at the top of my events. I seem to recall in iPhoto '09 you could open the I

  • ACE http Probe Question

    Hi there, I have a probe and it keeps failing. I believe it might be something to do with the special character in the URL. The URL requires a port then a page after the server address: probe http Server2_Probe description Checks Server2 http is resp

  • I updated my iphone 4 on ios 6.1. when i restored from back up, my contacts, messages and photos are gone. How can i recover them?

    Somebody hekp me in resolving this issue. I had very very important messages, contacts and photos. How can i recover them ?