Oracle and storages

Hello! There are several types of storages: Oracle ASM, large datafile, small datafile, raw devices (raw means). Which of these storages has maximum size of data file of table space 32 Gb?

can any one tell me how to perform ROLAP on oracle??

Similar Messages

  • Oracle Table Storage Parameters - a nice reading

    bold Gony's reading excercise for 07/09/2009 bold -
    The below is from the web source http://www.praetoriate.com/t_%20tuning_storage_parameters.htm. Very good material.The notes refers to figures and diagrams which cannot be seen below. But the text below is ver useful.
    Let’s begin this chapter by introducing the relationship between object storage parameters and performance. Poor object performance within Oracle is experienced in several areas:
    Slow inserts Insert operations run slowly and have excessive I/O. This happens when blocks on the freelist only have room for a few rows before Oracle is forced to grab another free block.
    Slow selects Select statements have excessive I/O because of chained rows. This occurs when rows “chain” and fragment onto several data blocks, causing additional I/O to fetch the blocks.
    Slow updates Update statements run very slowly with double the amount of I/O. This happens when update operations expand a VARCHAR or BLOB column and Oracle is forced to chain the row contents onto additional data blocks.
    Slow deletes Large delete statements can run slowly and cause segment header contention. This happens when rows are deleted and Oracle must relink the data block onto the freelist for the table.
    As we see, the storage parameters for Oracle tables and indexes can have an important effect on the performance of the database. Let’s begin our discussion of object tuning by reviewing the common storage parameters that affect Oracle performance.
    The pctfree Storage Parameter
    The purpose of pctfree is to tell Oracle when to remove a block from the object’s freelist. Since the Oracle default is pctfree=10, blocks remain on the freelist while they are less than 90 percent full. As shown in Figure 10-5, once an insert makes the block grow beyond 90 percent full, it is removed from the freelist, leaving 10 percent of the block for row expansion. Furthermore, the data block will remain off the freelist even after the space drops below 90 percent. Only after subsequent delete operations cause the space to fall below the pctused threshold of 40 percent will Oracle put the block back onto the freelist.
    Figure 10-83: The pctfree threshold
    The pctused Storage Parameter
    The pctused parameter tells Oracle when to add a previously full block onto the freelist. As rows are deleted from a table, the database blocks become eligible to accept new rows. This happens when the amount of space in a database block falls below pctused, and a freelist relink operation is triggered, as shown in Figure 10-6.
    Figure 10-84: The pctused threshold
    For example, with pctused=60, all database blocks that have less than 60 percent will be on the freelist, as well as other blocks that dropped below pctused and have not yet grown to pctfree. Once a block deletes a row and becomes less than 60 percent full, the block goes back on the freelist. When rows are deleted, data blocks become available when a block’s free space drops below the value of pctused for the table, and Oracle relinks the data block onto the freelist chain. As the table has rows inserted into it, it will grow until the space on the block exceeds the threshold pctfree, at which time the block is unlinked from the freelist.
    The freelists Storage Parameter
    The freelists parameter tells Oracle how many segment header blocks to create for a table or index. Multiple freelists are used to prevent segment header contention when several tasks compete to INSERT, UPDATE, or DELETE from the table. The freelists parameter should be set to the maximum number of concurrent update operations.
    Prior to Oracle8i, you must reorganize the table to change the freelists storage parameter. In Oracle8i, you can dynamically add freelists to any table or index with the alter table command. In Oracle8i, adding a freelist reserves a new block in the table to hold the control structures. To use this feature, you must set the compatible parameter to 8.1.6 or greater.
    The freelist groups Storage Parameter for OPS
    The freelist groups parameter is used in Oracle Parallel Server (Real Application Clusters). When multiple instances access a table, separate freelist groups are allocated in the segment header. The freelist groups parameter should be set the number of instances that access the table. For details on segment internals with multiple freelist groups, see Chapter 13.
    NOTE: The variables are called pctfree and pctused in the create table and alter table syntax, but they are called PCT_FREE and PCT_USED in the dba_tables view in the Oracle dictionary. The programmer responsible for this mix-up was promoted to senior vice president in recognition of his contribution to the complexity of the Oracle software.
    Summary of Storage Parameter Rules
    The following rules govern the settings for the storage parameters freelists, freelist groups, pctfree, and pctused. As you know, the value of pctused and pctfree can easily be changed at any time with the alter table command, and the observant DBA should be able to develop a methodology for deciding the optimal settings for these parameters. For now, accept these rules, and we will be discussing them in detail later in this chapter.
    There is a direct trade-off between effective space utilization and high performance, and the table storage parameters control this trade-off:
    For efficient space reuse A high value for pctused will effectively reuse space on data blocks, but at the expense of additional I/O. A high pctused means that relatively full blocks are placed on the freelist. Hence, these blocks will be able to accept only a few rows before becoming full again, leading to more I/O.
    For high performance A low value for pctused means that Oracle will not place a data block onto the freelist until it is nearly empty. The block will be able to accept many rows until it becomes full, thereby reducing I/O at insert time. Remember that it is always faster for Oracle to extend into new blocks than to reuse existing blocks. It takes fewer resources for Oracle to extend a table than to manage freelists.
    While we will go into the justification for these rules later in this chapter, let’s review the general guidelines for setting of object storage parameters:
    Always set pctused to allow enough room to accept a new row. We never want to have a free block that does not have enough room to accept a row. If we do, this will cause a slowdown since Oracle will attempt to read five “dead” free blocks before extending the table to get an empty block.
    The presence of chained rows in a table means that pctfree is too low or that db_block_size is too small. In most cases within Oracle, RAW and LONG RAW columns make huge rows that exceed the maximum block size for Oracle, making chained rows unavoidable.
    If a table has simultaneous insert SQL processes, it needs to have simultaneous delete processes. Running a single purge job will place all of the free blocks on only one freelist, and none of the other freelists will contain any free blocks from the purge.
    The freelist parameter should be set to the high-water mark of updates to a table. For example, if the customer table has up to 20 end users performing insert operations at any time, the customer table should have freelists=20.
    The freelist groups parameter should be set the number of Real Application Clusters instances (Oracle Parallel Server in Oracle8i) that access the table.

    sb92075 wrote:
    goni ,
    Please let go of 20th century & join the rest or the world in the 21st century.
    Information presented is obsoleted & can be ignored when using ASSM & ASSM is default with V10 & V11I said the same over here for the exactly same thread, not sure what the heck OP is upto?
    Oracle Table Storage Parameters - a nice reading
    regards
    Aman....

  • Does OVM 3 support network I/O management and storage I/O prioritization

    Does OVM 3 support any QoS setting for networking and/or storage? If so how are they set? I have been looking and can't seem to locate these settings.
    In OVM 2.2 network I/O traffic management and storage I/O prioritization could be set as described in this 2.2 blog posting.
    http://blogs.oracle.com/virtualization/entry/oracle_vm_22_new_feature_cpu_s
    Thanks

    It is not manageable through the GUI but can be changed in the vm.cfg file. Example:
    vif_other_config = [['00:16:3e:31:d5:4b', 'tbf', 'rate=8mbit,latency=50ms'], ['00:16:3e:52:c4:03', 'tbf', 'rate=10mbit']]
    - ingress
    vif = ['mac=00:16:3e:31:d5:4b,bridge=xenbr0,rate=10Mb/s@50ms'] - egress

  • (PCTFREE, PCTUSED) and Storage parameters

    HI,
    I am confused about (PCTFREE, PCTUSED) and Storage parameters(initial, next, pctincrease etc.)
    As far as i have read PCTFREE and PCTUSED are used to control free and used space in a datablock and also these parameters related to Manual segment space management in Locally managed tablespace(i.e we need to manually set and tune these parameters). Whether these parameter are used in Dictionary managed tablespace or not?
    Also, Storage parameters(intital, next, PCTUSED etc) are used in Dictionary managed tablespace. But in locally managed tablespaces how they are set as i have read we need not set these in locally managed tablespaces.
    So, can you explain me about differences of these parameters with regard to Locally and Dictionary managed tablespaces in Oracle 9i and 10g platform on RHEL.

    Hi,
    Locally Managed Tablespace :-
    A tablespace that can manage extent allocation by itself is called locally managed tablespace.
    Using the bitmap in each datafile to keep track of the freed or used status of blocks in that datafile.
    Each bit in the bitmap corresponds to a block or a group of blocks.
    When an extent is allocated or freed for reuse, Oracle changes the bitmap values to show the new status of the blocks.
    These changes do not generate rollback information because they do not update tables in the data dictionary.
    Now remember, storage parameters
    NEXT,
    PCTINCREASE,
    MINEXTENTS,
    MAXEXTENTS, and
    DEFAULT STORAGE are not valid for extents that are managed locally
    Extents allocated in LMT :-
    LMT have extent sizes either UNIFORM or variable extent sizes
    For UNIFORM extents you can specify an extent size. The default size is 1MB.
    and for AUTOALLOCATE extents you can specify the size of the initial extent and Oracle determines the optimal size of the additional extents, with a minimum extent size of 64KB
    Example :-
    Extent of uniform size
    CREATE TABLESPACE test
    DATAFILE 'tet.dbf'
    EXTENT MANAGEMENT LOCAL
    UNIFORM SIZE 256K;
    Specifying Segment Space Management in Locally Managed Tablespaces
    When you create a locally managed tablespace using the CREATE TABLESPACE statement, the SEGMENT SPACE MANAGEMENT clause allows you to specify how free and used space within a segment is to be managed.
    MANUAL (MSSM) :- refers to oracle use free lists for managing free space within segments
    because of the need to specify and tune the PCTUSED, FREELISTS, and FREELISTS GROUPS storage parameters for schema objects created in the tablespace
    AUTO :-
    Oracle use bitmaps to manage the free space within segments- automatic segment-space management
    (ASSM)
    Example :-
    CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M
    EXTENT MANAGEMENT LOCAL - LMT
    SEGMENT SPACE MANAGEMENT AUTO; - ASSM
    - DMT :-
    Example :-
    CREATE TABLESPACE tbsb
    DATAFILE '/u02/oracle/data/tbsa01.dbf' SIZE 50M
    EXTENT MANAGEMENT DICTIONARY -- specified how to manag the extent in DB
    DEFAULT STORAGE (
    INITIAL 50K
    NEXT 50K
    MINEXTENTS 2
    MAXEXTENTS 50
    PCTINCREASE 0); -- you have specified how extents in memory should increase
    In the above example you have created dmt and specified the storage parameter for Extents, that is
    how they much allocated as data get inserted in to the segments(tables)     .
    refer : http://www.mpi-inf.mpg.de/departments/d5/teaching/ss05/is05/oracle/server.920/a96521/tspaces.htm#636
    - Pavan Kumar N
    Oracle 9i/10g - OCP
    http://oracleinternals.blogspot.com/

  • Date Wise and Storage Location Wise Stock Qty & Value Report......

    Hi Experts,
    We want a report Date Wise(As on 31.03.2008) and Storage Location Wise Quantity & Value Report for only Finish Materials. Is there any report ?
    From Mb5b we canot get storage location wise report as we get only plant level qty and value.
    Pl. guide us.
    Regards,
    Yusuf

    Hi Yusuf,
        Try the Tcode: MC.9 there enter the site and article and executeYou will get details of the article
    stock, value. if you double click the article you will get the details of storage location.
    Hope it will be help for you
    Regards
    GK

  • What is the difference between Oracle and MySQL

    Hi,
    I would like to know the major difference between Oracle and MySQL. I have a project to generate XML files from database tables, i have used oracle's built XML functions XMLELEMENT, XMLATTRIBUTES, XMLFOREST, XMLAGG. I really want to know if these functions (or) similar functions are supported/availabe in MySQL.
    I am having a hard time to find out best linux distro for installing Oracle11g, so i am planning to switch to MySQL. Please help, Thanks in advance.

    Oracle_Walker wrote:
    Hi,
    <snip>>
    I am having a hard time to find out best linux distro for installing Oracle11g, Then you must be "looking for love in all the wrong places."
    What's so hard about finding a "best linux distro for installing Oracle11g"? The supported distros are listed in the fine Installation Guide for Linux. At the top of the list is Oracle's own Oracle Linux, which is in the same family as Red Hat.
    so i am planning to switch to MySQL. Please help, Thanks in advance.

  • Oracle and empty strings

    Hi All,
    i'm porting my application to Oracle and i'm experiencing (big) issues since empty strings are treated as null by Oracle.
    This is a big issue for me since my application uses empty and null values as two different things (indeed they are different !!), ie, i'm not having null pointer exception, but wrong behavior.
    I'm thinking what's the best approach to follow since my appl. must work also on mysql and postgres.
    Three options at the moment:
    1. implement a jdbc wrapper that converts any empty string in something like '~'.
    2. using aspectj, add some aspects to setString/getString converting any empty string in something like '~'.
    3. buy a commercial driver that makes difference between empty and null (using aforementioned approaches ?).
    I think that this difference in Oracle is really an impediment in doing applications db neutral and I'd like to ask your opinion about the best solution (if someone already resolved it as i guess).
    Does anyone know if there are commercial jdbc driver that can help me ?
    Does anyone know how ORM frameworks (like hibernate) handle this case ?
    Thanks in advance
    ste

    jschell wrote:
    nichele wrote:
    jwenting wrote:
    If NULL really is different in your context from an empty string you're going to have to define some sequence of characters as indicating an empty string.yes, this is what i need to implement.Sounds like a flawed design then.
    I'm wondering what's the best approach in order to avoid to change all my application isolating this behavior somewhere (wrapping the jdbc driver for instance).That doesn't make much sense to me. You should already have a database layer. You change the database layer. If you don't have a database layer then that means you have another design flaw. And in that case I would really not be the one that needs to maintain that code base.I thought a bit about the value of your answer...but i didn't find it ....sorry but i don't like who replies on forum just to say bad design/bad choice etc...if you have any kind of suggestion you are welcome, otherwise you can spend your time in doing something else instead of reply to this thread.

  • Question regarding Oracle and Linux on VMware

    Hello,
    I carefuly read the paper on Oracle and Linux on Your Own VMware and I'm missing a point.
    The paper explains how to start a cluster on a single host in a single Linux VM on VMware.
    So, there are 2 instances of Oracle 10g DB on the same Linux VM inside VMware. What does allow that?
    Is it possible to run 2 instances on any (single) Linux box, or is VMware required? If VMware is not required, why this complication in that paper? If VMware is required, what does it bring that make running 2 cluster instances on the same host possible?
    Many thanks for your help.

    userLynx wrote:
    I have an oracle database (10.2) and I have a query that needs to compare data on the Oracle database to data on a MS SQL server DB. I'm using a DB Link between the two databases.
    How would I compare the date fields?
    I have a table that has a date as one of the fields and I need to restrict the records where the date is equal to the date on SQL, however the formats are different:
    My query is as follows:
    SELECT mkt_css_name,
    pmv_rqst_corp_id,
    pmv_rqst_source,
    'G',
    pmv_css_acct_no,
    eq.start_date
    FROM power_move@cmdt,
    enroll_que@tcis eq,
    marketer@cmdt
    WHERE eq.css_account_number = pmv_css_acct_no
    AND eq.requestor_type = 'P'
    AND eq.status IN ('A','P','G','S')
    AND eq.marketer_id = mkt_seq_no
    AND pmv_service_type IN ('G','D')
    And Pmv_Gas_Mktr_No = Eq.Marketer_Id
    AND pmv_received_timestamp= eq.enroll_date ;
    The problem is that the date is stored in Oracle in the following format: DD-MON-YYYY and in SQL as 'YYYY-DD-MM HH:MI:SSSSSS'
    for example: Data in Oracle would be 27-JAN-2012 and in SQL as 2012-01-27 00:00:00.000
    I get an error when I compile.
    How do you reconcile the formats when the syntax is different between databases?
    Thanks, SeanDATE datatypes do NOT have any "format"
    DATE datatype is stored in internal binary notation.
    use TO_CHAR to display, present & compare the DATE datatypes

  • How do I set miminum # of connections for pool with Oracle and Tomcat?

    Hi,
    I can't seem to find any attribute to initialize the number of connections for my connection pool. Here is my current context.xml file under my /App1 directory:
    <Context path="/App1" docBase="App1"
    debug="5" reloadable="true" crossContext="true">
    <Resource name="App1ConnectionPool" auth="Container"
    type="oracle.jdbc.pool.OracleDataSource"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    factory="oracle.jdbc.pool.OracleDataSourceFactory"
    url="jdbc:oracle:thin:@127.0.0.1:1521:oddjob"
    user="app1" password="app1" />
    </Context>
    I've been googling and reading forums, but haven't found a way to establish the minimum number of connections. I've tried all sorts of parameters like InitialLimit, MinLimit, MinActive, etc, with no success.
    Here is some sample code that I am testing:
    package web;
    import oracle.jdbc.pool.OracleDataSource;
    import oracle.jdbc.OracleConnection;
    import javax.naming.*;
    import java.sql.SQLException;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.Properties;
    public class ConnectionPool {
    String message = "Not Connected";
    public void init() {
    OracleConnection conn = null;
    ResultSet rst = null;
    Statement stmt = null;
    try {
    Context initContext = new InitialContext();
    Context envContext = (Context) initContext.lookup("java:/comp/env");
    OracleDataSource ds = (OracleDataSource) envContext.lookup("App1ConnectionPool");
    message = "Here.";
         String user = ds.getUser();
    if (envContext == null)
    throw new Exception("Error: No Context");
    if (ds == null)
    throw new Exception("Error: No DataSource");
    if (ds != null) {
    message = "Trying to connect...";
    conn = (OracleConnection) ds.getConnection();
    Properties prop = new Properties();
    prop.put("PROXY_USER_NAME", "adavey/xxx");
    if (conn != null) {
    message = "Got Connection " + conn.toString() + ", ";
              conn.openProxySession(OracleConnection.PROXYTYPE_USER_NAME,prop);
    stmt = conn.createStatement();
    rst = stmt.executeQuery("SELECT username, server from v$session where username is not null");
    while (rst.next()) {
    message = "DS User: " + user + "; DB User: " + rst.getString(1) + "; Server: " + rst.getString(2);
    rst.close();
    rst = null;
    stmt.close();
    stmt = null;
    conn.close(); // Return to connection pool
    conn = null; // Make sure we don't close it twice
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    // Always make sure result sets and statements are closed,
    // and the connection is returned to the pool
    if (rst != null) {
    try {
    rst.close();
    } catch (SQLException e) {
    rst = null;
    if (stmt != null) {
    try {
    stmt.close();
    } catch (SQLException e) {
    stmt = null;
    if (conn != null) {
    try {
    conn.close();
    } catch (SQLException e) {
    conn = null;
    public String getMessage() {
    return message;
    I'm using a utility to repeatedly call a JSP page that uses this class and displays the message variable. This utility allows me to specify the number of concurrent web requests and an overall number of requests to try. While that is running, I look at V$SESSION in Oracle and occassionaly, I will see a brief entry for app1 or adavey depending on the timing of my query and how far along the code has processed in this example. So it seems that I am only using one connection at a time and not a true connection pool.
    Is it possible that I need to use the oci driver instead of the thin driver? I've looked at the javadoc for oci and the OCIConnectionPool has a setPoolConfig method to set initial, min and max connections. However, it appears that this can only be set via Java code and not as a parameter in my context.xml resource file. If I have to set it each time I get a database connection, it seems like it sort of defeats the purpose of having Tomcat maintain the connection pool for me and that I need to implement my own connection pool. I'm a newbie to this technology so I really don't want to go this route.
    Any advice on setting up a proper connection pool that works with Tomcat and Oracle proxy sessions would be greatly appreciated.
    Thanks,
    Alan

    Well I did some more experiments and I am able to at least create a connection pool within my example code:
    package web;
    import oracle.jdbc.pool.OracleDataSource;
    import oracle.jdbc.OracleConnection;
    import javax.naming.*;
    import java.sql.SQLException;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.Properties;
    public class ConnectionPool {
    String message = "Not Connected";
    public void init() {
    OracleConnection conn = null;
    ResultSet rst = null;
    Statement stmt = null;
    try {
    Context initContext = new InitialContext();
    Context envContext = (Context) initContext.lookup("java:/comp/env");
    OracleDataSource ds = (OracleDataSource) envContext.lookup("App1ConnectionPool");
    message = "Here.";
         String user = ds.getUser();
    if (envContext == null)
    throw new Exception("Error: No Context");
    if (ds == null)
    throw new Exception("Error: No DataSource");
    if (ds != null) {
    message = "Trying to connect...";
    boolean cache_enabled = ds.getConnectionCachingEnabled();
    if (!cache_enabled){
    ds.setConnectionCachingEnabled(true);
    Properties cacheProps = new Properties();
    cacheProps.put("InitialLimit","5");
         cacheProps.put("MinLimit","5");
    cacheProps.put("MaxLimit","10");
    ds.setConnectionCacheProperties(cacheProps);
              conn = (OracleConnection) ds.getConnection();
    Properties prop = new Properties();
    prop.put("PROXY_USER_NAME", "adavey/xyz");
    if (conn != null) {
    message = "Got Connection " + conn.toString() + ", ";
              conn.openProxySession(OracleConnection.PROXYTYPE_USER_NAME,prop);
    stmt = conn.createStatement();
    //rst = stmt.executeQuery("SELECT 'Success obtaining connection' FROM DUAL");
    rst = stmt.executeQuery("SELECT user, SYS_CONTEXT ('USERENV', 'SESSION_USER') from dual");
    while (rst.next()) {
    message = "DS User: " + user + "; DB User: " + rst.getString(1) + "; sys_context: " + rst.getString(2);
    message += "; Was cache enabled?: " + cache_enabled;
    rst.close();
    rst = null;
    stmt.close();
    stmt = null;
    conn.close(OracleConnection.PROXY_SESSION); // Return to connection pool
    conn = null; // Make sure we don't close it twice
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    // Always make sure result sets and statements are closed,
    // and the connection is returned to the pool
    if (rst != null) {
    try {
    rst.close();
    } catch (SQLException e) {
    rst = null;
    if (stmt != null) {
    try {
    stmt.close();
    } catch (SQLException e) {
    stmt = null;
    if (conn != null) {
    try {
    conn.close();
    } catch (SQLException e) {
    conn = null;
    public String getMessage() {
    return message;
    In my context.xml file, I tried to specify the same Connection Cache Properties as attributes, but no luck:
    <Context path="/App1" docBase="App1"
    debug="5" reloadable="true" crossContext="true">
    <Resource name="App1ConnectionPool" auth="Container"
    type="oracle.jdbc.pool.OracleDataSource"
    driverClassName="oracle.jdbc.OracleDriver"
    factory="oracle.jdbc.pool.OracleDataSourceFactory"
    url="jdbc:oracle:thin:@127.0.0.1:1521:oddjob"
    user="app1" password="app1"
    ConnectionCachingEnabled="1" MinLimit="5" MaxLimit="20"/>
    </Context>
    These attributes seemed to have no effect:
    ConnectionCachingEnabled="1" ; also tried "true"
    MinLimit="5"
    MaxLimit="20"
    So basically if I could find some way to get these attributes set within the context.xml file instead of my code, I would be a happy developer :-)
    Oh well, it's almost Miller time here on the east coast. Maybe a few beers will help me find the solution I'm looking for.

  • I am new to using Oracle, and I am trying to create an add/insert stored pr

    I am new to using Oracle, and I am trying to create an add/insert stored procedure for a table. The PROD_CD and PLAN_CD fields in my table can have no value (empty or null) Can you please check my code and let me know what I am doing wrong?
    Table definition:
    CREATE TABLE DCWEB.USER_PLAN_PREFERENCE
    USERID VARCHAR2(40) NOT NULL,
    PROD_CD VARCHAR2(9) NULL,
    PLAN_CD VARCHAR2(9) NULL,
    STATE_LST VARCHAR2(2) NOT NULL,
    STATE_NM VARCHAR2(40) NOT NULL,
    LST_UPDATE_TS TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL
    ALTER TABLE DCWEB.USER_PLAN_PREFERENCE
    ADD CONSTRAINT USER_PLAN_PREFERENCE_XPK PRIMARY KEY (USERID, PROD_CD, PLAN_CD);
    -- Grant/Revoke object privileges
    grant select, insert, update, delete on DCWEB.USER_PLAN_PREFERENCE to HIGGIB1;
    Stored Procedure Definition:
    procedure setUserPlanPref (
    userid in varchar2,
    prod_cd in varchar2,
    plan_cd in varchar2,
    state_lst in varchar2,
    state_nm in varchar2
    is
    currentTimestamp timestamp := current_timestamp;
    begin
    insert into user_plan_preference (userid, prod_cd, plan_cd, state_lst, state_nm, lst_update_ts)
    values (upper(userid), upper(prod_cd), upper(plan_cd), upper(state_lst), upper(state_nm), currentTimestamp);
    commit;
    exception
    when dup_val_on_index then
    begin
    update user_plan_preference up set
    up.userid = upper(userid),
    up.prod_cd = upper(prod_cd),
    up.plan_cd = upper(plan_cd),
    up.state_lst = upper(state_lst),
    up.state_nm = upper(state_nm),
    up.lst_update_ts = currentTimestamp
    where up.userid = upper(userid)
    and up.prod_cd = upper(prod_cd)
    and up.plan_cd = upper(plan_cd);
    commit;
    exception
    when others then
    rollback;
    end;
    when others then
    rollback;
    end;
    end;
    INPUT DATA
    I am unable to insert a record calling the stored procedure with values: DCWEB4578, , 2P, CA, CALIFORNIA but when I change to the string "NULL", the insert succeeds. When I try to call the stored procedure to update the inserted record with values: DCWEB4578, "NULL", 2P, CO, COLORODO the update does not happen since I still see the original record in the table. Please advise. Thanks in advance for your help.

    938319 wrote:
    I am new to using OracleWelcome to the forum: please read the FAQ and forum sticky threads (if you haven't done so already), and ensure you've updated your profile with a real handle instead of "938319".
    You'll get a faster, more effective response to your questions by including as much relevant information as possible upfront. This should include:
    <li>Full APEX version
    <li>Full DB/version/edition/host OS
    <li>Web server architecture (EPG, OHS or APEX listener/host OS)
    <li>Browser(s) and version(s) used
    <li>Theme
    <li>Template(s)
    <li>Region/item type(s)
    With APEX we're fortunate to have a great resource in apex.oracle.com where we can reproduce and share problems. Reproducing things there is the best way to troubleshoot most issues, especially those relating to layout and visual formatting. If you expect a detailed answer then it's appropriate for you to take on a significant part of the effort by getting as far as possible with an example of the problem on apex.oracle.com before asking for assistance with specific issues, which we can then see at first hand.
    Thanks for posting the complete code, it makes it so much easier to understand the problem, but always post code wrapped in tags<tt>\...\</tt> tags to preserve formatting and special characters.
    and I am trying to create an add/insert stored procedure for a table.Does this have anything to do with APEX, for which this is the forum? General SQL &amp PL/SQL matters should be directed to the {forum:id=75} forum.
    The PROD_CD and PLAN_CD fields in my table can have no value (empty or null) Can you please check my code and let me know what I am doing wrong?This:
               commit;
    exception
    when others then
    rollback;
    end;
    when others then
    rollback;Remove it all.
    Commits should be issued by end user/client software on completion of a transaction. This means <tt>commit;</tt> should almost never appear in PL/SQL code. The main exception to this is in <tt>dbms_job/secheduler</tt> scheduled processes that have no client or UI. If this code is executed from APEX, then APEX issues more than enough commits anyway.
    exceptions are just a way of ensuring your code is buggy.<tt>when others</tt> exceptions are just a way of ensuring your code is buggy.
    INPUT DATA
    I am unable to insert a record calling the stored procedure with values: DCWEB4578, , 2P, CA, CALIFORNIA but when I change to the string "NULL", the insert succeeds. When I try to call the stored procedure to update the inserted record with values: DCWEB4578, "NULL", 2P, CO, COLORODO the update does not happen since I still see the original record in the table. Please advise. Thanks in advance for your help.With the <tt>commit</tt>s and <tt>when others...</tt> removed from the code you'll have a chance of seeing what's actually happening. Note that the entire procedure can be simplified by writing as a MERGE</tt> statement.

  • Stock report in BW (valuated stock and Storage Location level)

    Dear All,
                Regards.We got an situation here,
    Case 1:  R3 (MB5B) (Both "Storage loc" and "Valuated stock" shows the same Stock Qty)
    1).The BW Stock Report shows values the Correct Values for "Receipt Qty" and "Issue Qty" with the Correct  "Quantity total Stock" aswell.
    Case 2 :   R3 (MB5B) (Stock is different between "Storage Loc" and "Valuated Stock")
    1).The BW Stock Report shows the  "Quantity Total Stock according to VALUATED STOCK Level(MB5B),but  the "Receipt Qty" and "Issue Qty" according to STORAGE LOCATION Level(MB5B) .
    We followed the "How to Handle Inventory "Doc with the proper sequence of Loading of Infosources and Compression.The data is sitting fine at the cube level.
    It would be great if someone can throw some Light on this issue,on how the Query shows a COMBO of both Valuated stock and Storage Location stock....Held up with this issue for quite sometime..Had a look at the   Oss Note (589024)...........
    Manythanks
    Arun

    HI,
    In Inventory we have two quantity fields given to satisfy the requirement.
    Valuated stock Qty - 0VALSTCKQTY
    Storage Location qty - 0TOTALSTCK
    You can make use of them based on your requirement. Hope this helps for you.
    Thanks,
    Arun

  • Matching data types b/w oracle and sql server

    anyone here knows if there is a list of data types supported by both oracle and sql server (regardless of releases & versions?
    an immediate response would be highly appreciated.
    thanks.

    Hi,
    The following post might be of assistance to you:
    http://msdn.microsoft.com/en-us/library/ms151817.aspx
    If this is what you're looking for, then mark the question as answered and closed.
    Regards,
    Naveed.

  • Hi All, We are in to Release 11.5.10.2.There is a specific requirement to Prevent users from creating Manual Sales Orders in oracle and yet users should be able to book the Sales Orders Imported from CRM system into Orcale.Please advise.

    Hi All, We are in to Release 11.5.10.2.There is a specific requirement to Prevent users from creating Manual Sales Orders in Oracle and  yet users should be able to book the Sales Orders Imported from CRM system into Orcale.Please advise.

    Thanks for your advise.
    However, I missed to mention that we have two set of users  One is for Finished Goods and another for Spares.
    Only Spares users need to be prevented from creating Direct/Manual Sales Orders in Oracle.
    As you suggested, if this will be done at Form level, that may Disallow FG users also to create Manula Sales Orders which should not be the case.
    Further, I tried to test one scenario through Processing Constraints but it did not work.
    Application
    OM
    Validation Type
    Entity
    Temp
    Short Name
    TBL
    Validation Semantics
    Created By
    Equal To
    User(Myself)
    Processing Cosntraint
    Application
    OM
    Entity
    Order Header
    Constraint
    Operation
    User Action
    Create
    Not Allowed
    Conditions
    Group
    Scope
    Validation Entity
    Record Set
    Validation Template
    101
    Any
    Order Header
    Order
    Above Created
    Please advise.

  • Questions on photos and storage

    I have a few questions about photos and storage... If you can just answer one of these, that's fine and thanks for the help!
    How do I see how much space my iPhoto photos are taking on my hardrive?
    I have Time machine which backs up, but concerned that I'm getting too many pictures.  When I do "Get Info" on the hardrive it says 640GB Capacity with 254GB used. I'm assuming that includes all my photos, and that Time machine only backs up and is not the active storage for those photos?
    What is advisable for available GB space on this size computer?
    I have my photos on the hardrive and the time machine, is it also advised to have in a cloud-based storage system to be safe? Or some other place.  Just checking what others do with this.

    1 - it is a really good idea to start new threads with new questions - threadjacking a year old solved thread on a totally different subject will not provide the best coverage and the best answers
    2 - Do NOT uncheck the option to copy imported items to the iPhoto library - it is a really, really bad idea that will create many problems for yo and has no advantages of any sort - see the user tip on file management in iPhoto for more details - iPhoto and File Management
    3 - take the time to learn how to use iPhoto and the concept of using a database for management photos rather than a file based system like you are used to - it is much different and much more powerful - but there is a learning curve and a different thought process
    4 - yes you can always export anything or everything from iPhoto for use on any other system - see the user tip on exporting for details - Exporting From iPhoto
    5 - always remember that you never access your photos directly - iPhoto totally replaces the finder for managing your photos - see the user tip on accessing photos for more details - How to Access Files in iPhoto
    LN

  • After upgrading to 8.1 Pro from 8.0 Pro, my Storage Spaces and Storage Pool are all gone.

    Under 8.0 I had three 4-terabyte drives set up as a Storage Pool in Storage Spaces.  I had five storage-space drives using this pool  I had
    been using them for months with no problems.  After upgrading to 8.1 ( which gave no errors ) the drives no longer exist.  Going into "Storage Spaces" in the control panel, I do not see my existing storage pool or storage drives. I'm prompted
    to create a new Pool and Storage Spaces.  If I click the "Create Pool" it does not list the three drives I used previously as available to add.
    Device Manager shows all three drives as present and OK.  
    Disk Management shows Disks 0,1,2,6.  The gap in between 2 and 6 is where the 3,4,5 storage spaces drives were.  
    Nothing helpful in the event log or the services.
    I've downloaded the ReclaiMe Storage Spaces recovery tool and it sees all of my logical drives with a "good" prognosis for recovery.  I've not gone down that road yet though because it requires separate physical drives to copy everything to
    and they want $299 for the privilege.
    Does anyone have any ideas?  I'm thinking of doing a fresh 8.1 install to another drive to see if it can see it or reinstalling 8.1 to the existing drive in the hope that it will just suddenly work.  Or possibly going back to 8.0.
    Thanks for your help!
    Steve

    Hi,
    “For parity spaces you must backup your data and delete the parity spaces. At this point, you may upgrade or perform a clean install of Windows 8. After the upgrade or clean installation is complete, you may recreate parity spaces and
    restore your data.”
    I’d like to share the following article with you for reference:
    Storage Spaces Frequently Asked Questions
    (Pay attention to this part:How do I prepare Storage Spaces for upgrading from the Windows 8 Consumer Preview to Windows 8 Release Preview?)
    http://social.technet.microsoft.com/wiki/contents/articles/11382.storage-spaces-frequently-asked-questions-faq.aspx#How_do_I_prepare_Storage_Spaces_for_upgrading_from_the_Windows_8_Consumer_Preview_to_Windows_8_Release_Preview
    Regards,
    Yolanda
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

Maybe you are looking for