Creating non-update tablespace

Hello!
Is there a way to create an oracle tablespace that does not allow data to be updated, but only insert and delete?
I would think it should be possible for datawarehouse-applications, where valid data are essential and not subject for updates.
Best regards
Dannie

If you have a partitioned table, you could move each partitioned table into a read-only tablespace immediately after the load. Of course, even if the table is in a read-only tablespace, you could still drop it (since that affects only the SYSTEM tablesapce). And a DBA could still move the partition to a read-write tablespace or alter the current tablespace to be read-write. But if you're concerned about DBAs screwing up your data, you've likely got bigger issues. You do have various options for auditing that sort of thing, though.
You might also consider moving partitions onto write-once media (i.e. an optical drive jukebox) if you need to be absolutely certain that the data is never going to be modified.
Justin

Similar Messages

  • How to create editable form with non-updatable vo

    Hi,
    i need to create a new form on non-updatable VO.
    My requirement is: i have Data base View, based on that view i have created VO, based on this VO i need to create new form, when ever i submit a request, web service will invoke and that validate the data and sends to the data base.
    when ever i drag drop the vo i couldn't able to enter any data bcoz all the data are coming in the form of output boxes.
    can any one help how can i create this.

    Check the setting of your viewobject attributes settings, most probably they are 'updatable never', set them to "updatable always".
    This way you can drag the view as an editable form.
    About sendind data to the database, i guess you have an idea how to do it afterwards :)

  • Key flexfield - protecting one of the segment as NON-UPDATABLE/ READ-ONLY

    Key Flexfield setup for "People Group Flexfield" consists of seeg1,seg2,seg3,seg4.
    We would like to make Seg1 of this flexfield "READ ONLY" / "DISPLAY ONLY" / "Non-Updatable".
    Please advise possible way of making this functionality.
    I have tried, following but no luck :
    1) Limitations of Forms Personalization [ID 420518.1]
    Forms Personalization is not possible for any key flexfield structure or segments.
    This is a limitation of Forms Personalization on Flexfield. There was an enhancement request Bug 5506506 - "PERSONALIZE FLEXFIELDS BY USING FORMS PERSONALIZATION" but it was rejected the enhancement request as this is not feasible. A Flexfield is a single field in a form but then when you click into it and it opens up the flexfields window, the multiple fields you see is actually a user exit with multi segment values, not form fields. No Form Personalization events are passed to flexfield windows (user exits). No Form Personalization events are passed to segments inside the flexfield window (user exit).
    2) Key Flexfield Security Rules Enabled
    Defining security rules on any segment in key flexfield makes all segments as read only. Per Oracle Document:"Defining security rule on key flexfield combination on one or more segments allows all segments to be not updatable"

    In SSHR, I believe it is possible although I have not done it before, I have spoken to people who have.
    You need to have access to jDeveloper and be able to open up the SSHR page in question. Find the internal ID of the flex item within the SSHR page in question.
    Then you create a new item in personalization and set that new item to have the same ID as you retrieved from jDeveloper. Make that item read only and configured the 'default' flex to not show the segment in question.
    That is basically the way this can be achieved but it is not straightforward and requires a cursory understanding of OAF.
    I do not know if it is possible to do this in the PUI. Would be interested to know requirement behind essentially showing a static read only field in a professional form - can the admins not be trusted to leave it alone? One workaround would be coding a user hook or custom library to error if that field is updated. Not read only but would stop those pesky Administrators meddling with it!

  • How to create non valuated material

    I need to create non valuated material
    Please help me to create the same.
    Thanks
    Rupesh

    Go to MM01 - > Enter material type UNBW non valuated material - > Choose the view except accounting /costing view -> enter the data - > SAVE
    By its name we can understand that there is no value update but has only qty update...
    The while posting also..no g/l account is posted...
    Regards,
    Priyanka.P
    AWARD IF HELPFULL

  • Can't create new undo tablespace while undo tablespace is crushed

    We currently encounter an emergent error on our productive database. The undo tablespace on this database looks like crushed. And insert /update operations can't be executed because of the undo tablespace error.
    we tried to create a new undo tablespace to replace this broken tablespace, but the database reports ORA-00376 and ORA-00376 error.
    We have already deleted rollback segments which status is "NEED RECOVERY".
    Now we run our database in manual undo tablespace management mode. and add a new datafile into current broken undo tablespace. Then create a new rollback segment for public user. Now, user can insert /update data. But we are not sure if this method would occur any other problems.
    I really appreciate if you have any good suggestions.

    Hi,
    Actually ORA-00376 is the following cause and take action.
    cause: An attempt was made to read from a file that is not readable. Most likely the file is offline.
    Action: Check the state of the file. Bring it online.
    Again setup ur DB automatic UNDO MANAGEMENT and check status of the ur undo tablespace. and bring it online.
    and create another undo tablespac and switching the undo tablespace.
    Regards..

  • Error:cannot use system rollback segment for non-system tablespace

    Hi,
    I have created a oracle database 10.2.0 on fedora 9 system. I have created a user and assigned the default tablespace SATYA and given the permissions. But when I create a table in the user I am getting the following error.
    Can anyone help me in rectifying this error.
    ORA-01552: cannot use system rollback segment for non-system tablespace 'SATYA'
    thankyou
    satya

    Undo management is either AUTO or Manual, no local
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/undo.htm#sthref1469
    Since you are using 10g, you are recommended to use Auto undo management
    If you still plan to use manual undo management, make sure you have other non-system rollback segment in place.

  • Known Issue: "DNS server could not be reached" when creating or updating a RemoteApp collection using template images for some locales

    When trying to create or update Azure RemoteApp collections that use a template image for some non-EN-US locales, it might fail with error "DNS server could not be reached". You might also see error code "DnsNotReachable". 

    Cause:  There was a issue in Azure in which decimal punctuation was not treated properly if the locale of the template image used a comma (,) instead of a period (.).
    Workaround:  Before a fix was applied, the workaround was to use template images based on a locale that uses a period to delimit decimals, such as EN-US.
    Resolution:  As of March 19, 2015, a fix for this issue has been applied to Azure. You should once again be able to create collections from template images that use non-EN-US locales. If you continue to have this problem, please
    try the workaround. If that works and the only difference in the template images is the locale, please email remoteappforum (at Microsoft). If the workaround does not work, the issue is likely caused by a DNS configuration issue such as:
    No valid forwarders to public DNS servers configured on your internal DNS server(s).
    A valid internal DNS server is not specified on your Azure RemoteApp VNet.
    A VNet or internal network configuration issue is preventing the internal DNS servers from be reached by the VMs in the RemoteApp collection.

  • ORA-01552: cannot use system rollback segment for non-system tablespace

    i try to create a table in new schema test1 and got the following error. please help.
    SQL> create table employer1 as select * from a.employer;
    create table employer1 as select * from a.employer
    ERROR at line 1:
    ORA-01552: cannot use system rollback segment for non-system tablespace 'TEST1'

    Hi,
    This is an example:
    SQL>
    CREATE UNDO TABLESPACE "UNDOTMP"
    DATAFILE 'UNDOTMP.DBF01' SIZE 100M REUSE
    AUTOEXTEND ON NEXT 51200K MAXSIZE 15000M
    ALTER SYSTEM SET undo_tablespace=UNDOTMP SCOPE=BOTH;
    Regards
    David Duenas
    Edited by: David Duenas on Jul 4, 2009 7:33 PM

  • Display description, but non-updatable data block

    To display my Item_Description, I've created a post-query trigger to lookup Item_Description based on Item_Num, which works fine, except if the user does not have update priveledge. By default the data block is non-updatable. If the user has update, then the block is set updatable at run-time.
    Problem is, for a non-update priveledge user, the form errors when the trigger attempts to set the description field. [Even though the field is set updatable by default.]
    What am I missing? Thanks.

    I'm confused. You say:
    "By default the data block is non-updatable."
    but then you say:
    "...the field is set updatable by default."
    If the data block is not updateable, then you can't make the item updateable.
    Assuming the default is non-updateable, and a user does not have update privilege, then the error message you are getting is correct because the trigger is trying to do an update when the item is non-updateable.
    If you need the trigger to do an update, then you need to make the item updateable. If you don't want the trigger to do an update for this user, then first check if the item is updateable (use the get_item_property), and if it is updateable, then let the trigger do the update.
    Message was edited by:
    Mark Roberts

  • TDE Tablespaces Joining on Non-TDE tablespaces

    I need to do research and a proof of concept on ASO and the Table spaces TDE and I am not finding a really good set of information on what is important to my clients requirements.
    I am using Oracle 11gR2 and we are implementing ASO and using the TDE Table spaces concept, we will be eventually connecting and/or joining to other Oracle Tables spaces which some are TDE encrypted and some are Not. So what I am trying to find out before I go through the huge hassle of standing up machines to test these processes is are Joins or remote connections to Non-encrypted table spaces a show stopper, meaning it’s not possible??
    Does anyone have any comments or direction towards Documentation or papers that discuss this and show positive or negative compatibility?
    thank you in advance for any and all positive comments.

    There are no restrictions on joining tables that are in encrypted tablespaces with tables that are in non-encrypted tablespaces or with joining tables across databases (I'm assuming that's what you mean when you use the word "remote") where one of the databases has encrypted tablespaces and the other doesn't. I don't know of any documentation that discusses this, however (it would obviously be very challenging to try to document every possible feature interaction).
    Architecturally, since the decryption for tablespace-level encryption occurs when blocks are read from disk, by the time the SQL engine is attempting to perform the join, there is never any encrypted data to worry about. So it would likely be difficult to create such a restriction even if Oracle wanted to.
    Justin

  • Error while creating a new tablespace

    Hi all,
    i got the following errors when i tried to create a new tablespace in my database.
    ORA-00604: error occurred at recursive SQL level string
    ORA-01655: unable to extend cluster string.string by string in tablespace string
    can anyone suggest any possible reason?
    thanks in advance..

    Hi,
    ORA-01655 unable to extend cluster string.string by string in tablespace string
    Cause: Failed to allocate an extent for cluster segment in tablespace.
    Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated
    Pls check out the disk space. The command you issued is working for me and for all. Might be some errors in your disk.
    Regards,
    Raj

  • How to create an update page

    i want to create an update page using dreamweaver and record set, i succeded but it only updates the database with user id of 1. even if i login as another user with id of 3, it keeps updating the user with id of 1.please help me, a lost. below is my code:
    <?php require_once('Connections/conn_login.php'); ?>
    <?php
    if (!isset($_SESSION)) {
      session_start();
    $MM_authorizedUsers = "";
    $MM_donotCheckaccess = "true";
    // *** Restrict Access To Page: Grant or deny access to this page
    function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
      // For security, start by assuming the visitor is NOT authorized.
      $isValid = False;
      // When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
      // Therefore, we know that a user is NOT logged in if that Session variable is blank.
      if (!empty($UserName)) {
        // Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
        // Parse the strings into arrays.
        $arrUsers = Explode(",", $strUsers);
        $arrGroups = Explode(",", $strGroups);
        if (in_array($UserName, $arrUsers)) {
          $isValid = true;
        // Or, you may restrict access to only certain users based on their username.
        if (in_array($UserGroup, $arrGroups)) {
          $isValid = true;
        if (($strUsers == "") && true) {
          $isValid = true;
      return $isValid;
    $MM_restrictGoTo = "login.php";
    if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {  
      $MM_qsChar = "?";
      $MM_referrer = $_SERVER['PHP_SELF'];
      if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
      if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0)
      $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
      $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
      header("Location: ". $MM_restrictGoTo);
      exit;
    ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
      $updateSQL = sprintf("UPDATE login SET username=%s, pwd=%s, `role`=%s, firstname=%s, lastname=%s, country=%s WHERE userID=%s",
                           GetSQLValueString($_POST['email'], "text"),
                           GetSQLValueString($_POST['pwd'], "text"),
                           GetSQLValueString($_POST['role'], "text"),
                           GetSQLValueString($_POST['firstname'], "int"),
                           GetSQLValueString($_POST['lastname'], "int"),
                           GetSQLValueString($_POST['country'], "int"),
                           GetSQLValueString($_POST['id1'], "int"));
      mysql_select_db($database_conn_login, $conn_login);
      $Result1 = mysql_query($updateSQL, $conn_login) or die(mysql_error());
      $updateGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
        $updateGoTo .= $_SERVER['QUERY_STRING'];
      header(sprintf("Location: %s", $updateGoTo));
    $colname_Recordset1 = "-1";
    if (isset($_GET['userID'])) {
      $colname_Recordset1 = $_GET['userID'];
      $_SESSION['userID'] = $_GET['userID'];
    $colname_Recordset1 = "-1";
    if (isset($_GET[''])) {
      $colname_Recordset1 = $_GET[''];
    mysql_select_db($database_conn_login, $conn_login);
    $query_Recordset1 = sprintf("SELECT userID, username, pwd, `role`, firstname, lastname FROM login WHERE userID = %s", GetSQLValueString($colname_Recordset1, "int"));
    $Recordset1 = mysql_query($query_Recordset1, $conn_login) or die(mysql_error());
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    $totalRows_Recordset1 = mysql_num_rows($Recordset1);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Scuba2u</title>
    <link href="styles.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <?php include('headerScuba2u.php'); ?>
    <div id="main">
        <div id="left">
          <h1>Registration Form</h1>
          <fieldset>
            <legend>Register for our website</legend>
            <form action="<?php echo $editFormAction; ?>" id="form1" name="form1" method="POST">
              <p>
                <label for="firstname">First Name</label>
                <input name="firstname" type="text" id="firstname" size="30" maxlength="40" />
              </p>
              <p>Last Name
                <label for="lastname"></label>
                <input name="lastname" type="text" id="lastname" size="30" maxlength="40" />
              </p>
              <p>Country
                <input name="country" type="text" id="country" size="30" maxlength="30" />
              </p>
              <p>Email
                <label for="email"></label>
                <input name="email" type="text" id="email" size="60" maxlength="60" />
              </p>
              <p>Password
                <label for="pwd"></label>
                <input name="pwd" type="password" id="pwd" size="10" maxlength="10" />
              </p>
              <p>
                <input name="role" type="hidden" id="role" value="guest" />
                <input name="id1" type="hidden" id="id1" value="<?php echo $row_Recordset1['userID']; ?>" />
                <input type="submit" name="submit" id="submit" value="Register" />
              </p>
              <input type="hidden" name="MM_update" value="form1" />
            </form>
          </fieldset>
        </div>
    </div>
    <?php include('footerScuba2u.php'); ?>
    </body>
    </html>
    <?php
    mysql_free_result($Recordset1);
    ?>

    Temporarily change your id1 field from a hidden field to a text field so you can see if it is being set correctly for the logged in user.

  • How to use a single page for create and update mode.

    Hi,
    I need to develop a single page to be used for both create and update modes.
    I am going to use a variable MODE
    and i will set this in the emp summary page.
    Based on the button clicked by the user i have to render the JSF page.
    For tis if the user selects a perticular and cliks on update thn i will pass the empno to the next.
    so there in the next i will appy a ViewCreiteria on my View Obj to fetch only that row so that only that emp will be displayed ion update mode.
    This is working fione for me.
    So now the issue is
    when the user clicks on CreatEmp button.
    i need to enable my VO for insert operations.
    for this i wrote the code like this in the beforePhase event
    FacesContext ctx = FacesContext.getCurrentInstance();
    ValueBinding valBinding = ctx.getApplication().createValueBinding("#{data}");
    BindingContext bContext = (BindingContext) valBinding.getValue(ctx);
    DCDataControl dcControl = bContext.findDataControl("DataControl");
    Application app = ctx.getApplication();
    ApplicationModule am = (ApplicationModule) dcControl.getDataProvider();
    System.out.println("After Appmodule initiation");
    // get the VO reference and initiate the query
    System.out.println("Before Page VO initiation");
    PrismDmPageSectionViewImpl vo = (ViewImpl)am.findViewObject("View");
    //ViewRowImpl row = (ViewRowImpl) vo.createRow();
    /* TO CREATE AN EMPTY ROW*/
    Row row=vo.createRow();
    System.out.println("New Row is created");
    //vo.createKey(row);
    vo.insertRow(row);
    vo.setCurrentRow(row);
    By doing this a new empty page is rendered.
    But when i fill up the values and click on ok.. i am getting the error like this..
    JBO-27023: Failed to validate all rows in a transaction.
    JBO-27027: Missing mandatory attributes for a row with key null of type View3
    JBO-27014: Attribute Id in View3 is required
    JBO-27014: Attribute PageeId in View3 is required
    Please point me out where i am missing.
    Thanks

    Hi,
    In my opinion you are over complicating things.
    This is what I do for using the sme page as both create and update without all this code.
    1) Create a browse page containing a an adf table with a select one component bound to your view object.
    2) Create an additional edit page containing only an edit form containing fields of your view object that your users must enter in order to add or edit rows.
    3) Link the pages in the JSF diagram with an "edit" navigation case from browse to edit page and a "return" navigation case from edit to browse (make sure that redirect option is NOT set on both cases)
    4) Remove the submit button from the edit page and add two application module bindings for the commit and rollback operations as command buttons in the form footer facet. Make sure that both buttons has an action of return and that their disabled property is set to false. You will probably change their labels to ok and cancel respectively.
    5) Drop a create action for your view object from the data control palette inside your page as a command button and set the action property to edit also.
    3) Set the action property of the view button to edit
    This should basically work without any code from your part. -- at least it does so for me -- if you like to make it a bit more funcy you may add am action listener inside your buttons and set a requeScope variable for example #{requestScope.editing} to true or false depending on the button clicked. Then add a title to your page with a value like #{requestScope.editing == true ? 'Editing record' : 'Adding a new record'}..
    Hope that helps.
    Thanassis

  • Is it still possible to downgrade from ios 6 to ios 5.1.1 on my ipod touch 4th gen as of Sept.24?Also, if I use a backup created AFTER updating to ios 6 when I restore/downgrade to ios 5.1.1, does it become ios 6 again because of the backup?

    Is it still possible to downgrade from ios 6 to ios 5.1.1 on my ipod touch 4th gen as of Sept.24? Also, if I use a backup created AFTER updating to ios 6, when I restore/downgrade to ios 5.1.1, does it become ios 6 again because of the version of ios 6 that I created the backup on?

    There has never been a legit way to downgrade.
    It will always restore to the latest available software.

  • BAPI to create and update scheduling agreement (type LZM) in ECC

    Hi,
    We have a requirement to create and update scheduling agreement of type LZM in ECC from an external system.
    Is there a BAPI available for this in ECC 6.0 which can be used?
    The integration is using PI.
    Regards,
    Srivatsan

    Hello,
    Please use the T-code "SE93" and then click on Display option after entering the T-code. After entering into the detail screen of the T-code, you shall find option to click on OBJECT LIST and then enter into the Function Group. Now enter the T-code and then click on function module and a list of function module will be displayed in referrence to the T-code. 
    For your easy reference i have also mentioned the flow.
    SE93 --> Use tcode (eg. VA01) > display> Object list ---> Function Groups --> Tcode ---> Function module.
    Regards,
    Sarthak

Maybe you are looking for

  • SAP BW supporting Oracle 10g

    Hello! Does anybody know if SAP BW 3.0b currently supports Oracle 10g? Moreover, does anybody know of any BW version currently supporting this Oracle 10g version? or by when does SAP plans to support it and which BW version(s) they plan? Thank you! R

  • Using SELECT INTO statement to transfer data from one DB to another?

    Hello, I need to move data from an SAP table to another downstream SQL server box without flat file in between. I have set up the DBCON interface, so that my ABAP code on SAP can connect to the remote SQL Server, then I can run INSERT command as Nati

  • Passing a pl/sql "array" to JDBC

    I have a PL/SQL table (index by binary_integer) and I want to pass the values through an OUT parameter to a external java application. But while we have tried declaring my table as a index by table, as a nested table and a varray, the Java gets the e

  • How to pass Text Lines to z-table..?

    Hi All.. I have a custome screen, where user inputs text of length 250 Char. How to pass this value to Z-table, where i have created a Field with CHAR type and 250 Length..??? Pavan

  • FAQ: Where can I find Adobe SpeedGrade CC help?

    Adobe SpeedGrade offers documentation both online and in PDF format. Here are links to each: Online Help: http://helpx.adobe.com/speedgrade/topics.html PDF: http://helpx.adobe.com/pdf/speedgrade_reference.pdf