Privileges to update CLOBs

Hello,
I´ve attached part of the java code I use to update a CLOB column. The problem I have is that when executing the "while" loop I get the Oracle error ORA-01031 (insufficient privileges). Could anybody tell me which privileges are necessary?
The code is
oracle.sql.CLOB clob;
String data = "The data to be inserted";
StringReader reader = new StringReader(data);
Writer writer = clob.getCharacterOutputStream();
int size = clob.getBufferSize();
char[] buffer = new char[size];
int length = -1;
while ((length = reader.read(buffer)) != -1) {
writer.write(buffer,0,length);
TIA.
Diana.

You might check permissions on the "Quicktime Player" application..
Get info on the Quicktime Player application and see what the permissions are set at..
Mine says:
"You have custom access"
system = Read & Write
admin = Read & Write
everyone = Read Only

Similar Messages

  • Problem updating CLOBs across multiple schemas

    I am having a problem trying to update CLOB data in a schema owned by a user other than the logged-in user.
    Suppose I have user UA who owns table TA and user UB who owns table TB, and TA and TB contain CLOB columns. TA owns a package PA and TB owns package PB; these packages provide functions for updating the CLOB data via LOB locators.
    I have a JDBC connection logged on as user UA, and I can successfully call package PA to update the CLOB data in TA from my Java app. However, I cannot use this connection to similarly call package PB to update the CLOB data in TB - the app successfully calls CallableStatement.executeUpdate() but then I try to get the output stream of the returned CLOB:
    oracle.sql.CLOB oOraClob = (oracle.sql.CLOB)oCall.getClob(SQLPAR_CLOBCOL);
    Writer oOut = oOraClob.getCharacterOutputStream();
    and I get the following exception on the getCharacterOutputStream() call:
    java.sql.SQLException: ORA-01031: insufficient privileges ORA-06512: at "SYS.DBMS_LOB", line 498 ORA-06512: at line 1
    This is despite user UA having execute privilege on PB and update on table TB.
    I only get this problem when I try to update the CLOB directly from JDBC - I have another function in package PA which copies CLOB data directly from TA to TB and that works without any problem. Given this, I tried writing a procedure in PA to act as a kind of proxy between PB's CLOB-update function and user UA, i.e. UA calls a proc in PA which in turn calls PB which returns a LOB locator to PA, which in turn returns the LOB locator to user UA, but this still gave the same error.
    Does anyone know what might be causing the problem? Is there some user permission I'm missing?
    I don't want to have to use a separate DB connection as user UB just to update the CLOB. The only other solution I can see at present is to pass the string data to PA as a LONG and have PA copy the data to the LOB locator returned by PB. How could I achieve this? Is there a built-in function which enables a LONG to be copied to a CLOB?
    Any help would be very much appreciated. Thanks.
    Al.
    null

    Ian - You can use a different schema for each application while keeping the applications in a common workspace. This would allow users to authenticate once and for the applications to share the same authenticated session. In doing this, however, a user has to be given links from one application to another, e.g., from a menu page, in order for the "session continuity" to remain unbroken (a requirement to prevent another login challenge). But since these may be unrelated applications that have no need to access one anothers' session state, it might be better to use Single Sign-On. With this method there is only one login required and a user can access each application which will maintain its own private session.
    Scott

  • When trying to sync my iPhone with my MacBook Pro, I receive the error message "You do not have enough access privileges to update this device".  How to I adjust the access privileges??

    When trying to sync my iPhone/iPad with my MacBook Pro, I receive the error message "You do not have enough access privileges to update this device".  How to I adjust the access privileges?

    Hello magestecal,
    Thanks for using Apple Support Communities.
    To troubleshoot this issue where you're getting a permissions error when trying to sync your iPhone, I'd like you to please follow the steps in the article below.
    iTunes: Missing folder or incorrect permissions may prevent authorization - Apple Support
    Take care,
    Alex H.

  • User does not have privileges to update item :

    Hi guys
    Wondering if anyone has ever hit this before.
    I've created an item using the APPS user ego_item_pub.process_items routine, and then I want to add catalog descriptive elements to it.
    So I use the following code :
    declare
          l_cat_rec          inv_item_category_pub.category_rec_type;
          l_cat_item         inv_item_catalog_elem_pub.item_desc_element;
          l_cat_tab          inv_item_catalog_elem_pub.item_desc_element_table;
          l_cat_tab_ind      NUMBER := 0;
         l_return_status     VARCHAR2(4000);
         l_msg_count         NUMBER;
         l_msg_data          VARCHAR2(4000);
         l_message           VARCHAR2(4000);    
         v_message           VARCHAR2(4000);    
         v_generated_descr   VARCHAR2(4000);
         v_msg_index_out     NUMBER;
    begin
      l_cat_item    := NULL;
      l_cat_tab_ind := l_cat_tab_ind + 1;                 
      l_cat_item.element_name        := 'Software Version';
      l_cat_item.element_value       := SUBSTR('SP2',1,30);
      l_cat_item.description_default := 'N';
      l_cat_tab(l_cat_tab_ind)       := l_cat_item;
      -- catalog has been created, so add                 
         ego_item_pub.Process_item_descr_elements
           p_api_version             => 1.0,
           p_init_msg_list           => fnd_api.g_true,
           p_commit_flag             => fnd_api.g_false,
           p_inventory_item_id       => 43694,
           p_item_desc_element_table => l_cat_tab,       
           x_generated_descr         => v_generated_descr,     
           x_return_status           => l_return_status,
           x_msg_count               => l_msg_count,
           x_msg_data                => l_msg_data
    dbms_output.put_line(l_msg_count||' errors ');    
      IF l_msg_count > 0 THEN
        FOR v_index IN 1 .. l_msg_count
        LOOP
          fnd_msg_pub.get (p_msg_index => v_index, p_encoded => 'F', p_data => l_msg_data, p_msg_index_out => v_msg_index_out);
          v_message := SUBSTR (l_msg_data, 1, 3000);
    dbms_output.put_line (v_message||v_generated_descr);
        END LOOP;
      END IF;    
    end;And I get the error message :
    " User does not have privileges to update Item E/742/3/N/A. "
    So I created the item as apps, but do not have the privilege to add elements to it as apps ?
    Any ideas ?

    Login as the same user, use the same responsibility and then try to do the exact same update (item/field/value) using the screen.
    Then use the api.
    Make sure you add a line to set the context properly before calling ego_item_pub.
    I did not see that in your code.
    something like
    fnd_client_info.setup_client_info(&appl_id, &resp_id, &user_id) -- replace the variables with the appropriate value
    Hope this helps,
    Sandeep Gandhi

  • Help!!urgent!!can not insert/update clob:the row containing the lob is not locked

    Hi,
    could you do me help?
    i can not insert a string into a oracle clob field, it echo as:
    ORA22920 row containing the lob value is not locked. ORA 06512 at "SYS.DBMS_LOB" line 708
    ORA 06512 at line 1;
    what its means? please.
    my table defined as : create table clob1(id number(5),mclob clob default empty_clob()); the id is create by a sequece of test_sequence automaticly.
    my code as belows:
    import java.io.*;
    import java.sql.*;
    //import oracle.sql.*;
    public class test4 {
    public static void main(String args[]) {
    String url_String
    = "jdbc:oracle:thin:test/test@myhost:1521:myorcl";
    try {
    Class.forName
    ("oracle.jdbc.driver.OracleDriver");
    java.sql.Connection con =
    java.sql.DriverManager.getConnection(url_String);
    con.setAutoCommit(true);
    Statement stmt
    =con.createStatement();
    String sqlStr ="insert into
    clob1 (mclob) " + "values(empty_clob())";
    stmt.executeUpdate(sqlStr);
    String query = "select
    test_seq.CURRVAL from dual";
    ResultSet rs =stmt.executeQuery
    (query);
    rs.next();
    int currval =rs.getInt(1);
    query = "select * from clob1 where
    id="+currval;
    String str
    ="abcedefhijklmnopqrstuvwxyz";
    rs =stmt.executeQuery(query);
    rs.next();
    java.sql.Clob clob1
    =rs.getClob(2);
    oracle.sql.CLOB clob=
    (oracle.sql.CLOB)clob1;
    System.out.print(clob);
    java.io.Writer
    wr=clob.getCharacterOutputStream();
    wr.write(str);
    wr.flush();
    wr.close();
    stmt.close();
    con.close();
    } catch(Exception ex) {
    System.err.println("SQLException: "
    + ex.getMessage());
    null

    Hi,
    To avoid ORA-22920 error while selecting lob column, use the 'for update' clause in the select statement like :
    query = "select * from clob1 where id="+currval+" FOR UPDATE" ;
    This should solve the problem. However, after fixing this, you might get the error :
    java.sql.SQLException: ORA-1002: fetch out of sequence
    I got this error when testing your code. To avoid this error, before executing 'select ... for update' statement Set AutoCommit to OFF, like :
    query = "select * from clob1 where id="+currval+" FOR UPDATE" ;
    con.setAutoCommit(false);
    rs =stmt.executeQuery(query);
    Hope that Helps,
    Srinivas

  • Updating CLOB in Oracle 8i

    We are using Oracle 8i.
    And I need to update country code inside the message body. Please help me.
    Sample table structure
      CREATE TABLE test_xml_tab ( message_id NUMBER,
                                  message_body CLOB);
    -- Test data
    Sample data for Message_body
    <ADDRESSES>
    <ADDRESS>
      <TYPE>Ship To</TYPE>
      <SWADDRESS1>ABC 5</SWADDRESS1>
      <SWADDRESS2/>
      <SWADDRESS3/>
      <SWADDRESS4/>
      <SWADDRESS5/>
      <SWCITY>AA</SWCITY>
      <SWCOUNTY/>
      <SWCOUNTRY>22</SWCOUNTRY>
      <SWPROVINCE>.</SWPROVINCE>
      <SWMAILSTOP/>
      <SWNOTE/>
      <SWPOBOX/>
      <SWSTATE>.</SWSTATE>
      <SWZIP>50197</SWZIP>
      <SWDEFAULT/>
      <SWSTREETNUM/>
    </ADDRESS>
    </ADDRESSES>
    I need to update SWCOUNTRY value to IN.

    It can be done using UPDATEXML.
    SQL> with rec as (
    Select Xmltype(
      2    3  ' <ADDRESSES>
      4    <ADDRESS>
      5    <TYPE>Ship To</TYPE>
      6    <SWADDRESS1>ABC 5</SWADDRESS1>
      7    <SWADDRESS2/>
      8    <SWADDRESS3/>
      9    <SWADDRESS4/>
    10    <SWADDRESS5/>
    11    <SWCITY>AA</SWCITY>
    12    <SWCOUNTY/>
    13    <SWCOUNTRY>22</SWCOUNTRY>
    14    <SWPROVINCE>.</SWPROVINCE>
    15    <SWMAILSTOP/>
    16    <SWNOTE/>
    17    <SWPOBOX/>
    18    <SWSTATE>.</SWSTATE>
    19    <SWZIP>50197</SWZIP>
    20    <SWDEFAULT/>
    21    <SWSTREETNUM/>
    22   </ADDRESS>
    23   </ADDRESSES>') xml
    24   From Dual)
    25  select updatexml (xml,'//SWCOUNTRY/text()','INDIA') new_xml  from rec;
    NEW_XML
    <ADDRESSES>
      <ADDRESS>
        <TYPE>Ship To</TYPE>
        <SWADDRESS1>ABC 5</SWADDRESS1>
        <SWADDRESS2/>
        <SWADDRESS3/>
        <SWADDRESS4/>
        <SWADDRESS5/>
        <SWCITY>AA</SWCITY>
        <SWCOUNTY/>
        <SWCOUNTRY>INDIA</SWCOUNTRY>
        <SWPROVINCE>.</SWPROVINCE>
        <SWMAILSTOP/>
        <SWNOTE/>
        <SWPOBOX/>
        <SWSTATE>.</SWSTATE>
        <SWZIP>50197</SWZIP>
        <SWDEFAULT/>
        <SWSTREETNUM/>
      </ADDRESS>
    </ADDRESSES>
    SQL>But I am not sure whether UPDATEXML function is available in Oracle 8i .

  • How To Update CLOB.......... Data into Table

    I am using oracle 10g and i am having a tale Content_clob having two columns id integer and lob clob
    in thins table i would store the lob data as ('10 20 30 40 ....100 200.........n') n number of data's
    i the piece of data would be separated by space, i want to replace the data 20 into some character aa,
    but if i can ues normal replace function would replace not only the 20 it also replace the 200 too,
    but my requirement is replace only the specified data not the other data(like 200 or 2000)
    how update the clob value

    Since we're talking 10g, have you thought about using regular expressions? Here's an example:
    WITH t AS (SELECT to_clob('10 20 30 40 ....100 200.........n') col1
                 FROM dual
    SELECT REGEXP_REPLACE(col1, '(^| +)20( +|$)', '\1aa\2')
      FROM t;    C.

  • Ora-01031 insufficient privileges when update from a join table

    Update (select a.f1,b.f2 FROM tableA a join tableB b using(fk))
    set f1=f2
    the connection user just have readonly privilege for the tableB, but the sql never to update the tableB, why Oracle raise the error?
    How can I implement the update logic ?

    dotAge wrote:
    Update (select a.f1,b.f2 FROM tableA a join tableB b using(fk))
    set f1=f2
    the connection user just have readonly privilege for the tableB, but the sql never to update the tableB, why Oracle raise the error?
    How can I implement the update logic ?Try this syntax
    UPDATE tablea a
    SET    f1 = (SELECT b.f2
                 FROM   tableb b
                 WHERE  b.key = a.key)HTH
    SS

  • Am logged in as administrator Mac OS 10.6.7 Firefox states I do not have privileges to update ... fix ??

    running mac OS 10.6.7
    logged in with administrator privileges on my iMac
    Running Firefox 3.6.1
    When trying to install Firefox 4.0 Firefox states I do not have privileges for this action for some items when I move logo into apps folder.

    If you get an error message that you do not have sufficient permissions or if you have problems with updating then easiest is to download the full version and trash the currently installed version to do a clean install of the new version.
    Download a new copy of the Firefox program and save the DMG file to the desktop
    * Firefox 4.0.x: http://www.mozilla.com/en-US/firefox/all.html
    * Trash the current Firefox application to do a clean (re-)install
    * Install the new version that you have downloaded
    Your profile data is stored elsewhere in the [http://kb.mozillazine.org/Profile_folder_-_Firefox Firefox Profile Folder], so you won't lose your bookmarks and other personal data.

  • I do not have the Privilege to update my iPod

    I just switched from my PC to my new Macbook. I had to restore my iPod and reload all of my songs but when I try to update it, it gives me the message,
    "The iPod...cannot be updated. You do not have the privilege to make changes."
    I'm new to Mac so I have no idea what might be causing this. Please help.
    Also....when I was reuploading all of my songs to my iPod after restoring it, it gave me the same message but when I clicked "ok" on the message, it still uploaded all the songs. It won't do that anymore.

    Your iPod might not have the correct Ownership & Permissions.
    Select the iPod in the Finder (click once on the icon on the desktop).
    Get Info (⌘-I). Expand 'Ownership & Permissions:' and expand 'Details:'.
    At 'Owner:' you should read your username. If not, change it and also click on the 'Apply to enclosed items...' button.
    That should fix it. If you want to use your iPod with other usernames too, tick the checkbox 'Ignore ownership on this volume'.
    I would tick this checkbox anyway to avoid possible permission problems now and in the future.
    Hope this helps.
    M

  • Access Privileges mass update

    Gentlemen,
    I need to update Access Privileges for a lot of Business Rules. I've reviewed "Hyperion Business Rules Administrator’s Guide", and according to it, there is only option to update every rule's priviliges manually. But we have many business rules (more then 100) and it's weird to set "Validate or launch" Access Privilege for every one of it. Is there an option to choose several business rules and perform a mass edit? Please advice.

    Are you talking about an EAS business rule?  (not calc manager)  If so, simply create a project, and add all of your business rules to this project.  Assign Location & Privileges to the project.
    Hope this helps,
    - Jake

  • Problem in Updating CLOB data

    Hi,
    I am trying to update a table in oracle using a java application.
    The field i am trying to update is of CLOB type.
    I am calling the following function to updated the table.
    I am reading a data from the a file.
    But i am getting following error
    Exception :java.sql.SQLException: ORA-01002: fetch out of sequence
    Can anybody suggest some modification to make it work.
    Thank You
    public static void InsertClob(DBConnection dbcon,String gene_id){
    try{
    Statement stat = dbcon.con.createStatement();
    String query = "select aaseq,ntseq from gene where gene_id = '"+gene_id.trim()+"' for update ";
    ResultSet rs = stat.executeQuery(query);
    rs.next();
    Clob clob = rs.getClob(1);
    Writer clobWriter = ((CLOB)clob).getCharacterOutputStream();
    File seq = new File("seq.txt");
    FileReader fr = new FileReader(seq);
    char[] cbuffer = new char[10* 1024];
    int nread = 0 ;
    while((nread = fr.read(cbuffer)) != -1)
    clobWriter.write(cbuffer,0,nread);
    fr.close();
    clobWriter.close();
    rs.close();
    stat.close();
    }catch(Exception e){
    System.out.println("Exception :"+e);
    }//End of fucntion

    same problem. Did you solve that? If you leave off the FOR UPDATE, you get "row not locked" when do thhe clobWriter.write(...

  • Updating CLOB in table

    Hi,<br><br>
    I am currently cleaning up my Oracle Database (Oracle 10g XE) filled with approximately 3000 articles. In the body of these articles some HTML-code such as img - tags etc. is placed.<br>
    I wrote a little script to clean this up. But when I try to update my table nothing happens (value of CLOB stays the same, and I get no errors while using error_reporting(E_ALL)).<br><br>
    Anyone got an idea? My code:<br><br>
    <?<br>
    /* this code is placed within while-loop, going through all articles */<br><br>
    if(eregi("(<img[^>]*>)", $ARTIKEL_BODY) OR eregi("(<IMG[^>]*>)", $ARTIKEL_BODY))<br>
    {<br><br>
    echo "Artikel " . $i . " has got an img tag.";<br><br>                                        
    $ARTIKEL_BODY = eregi_replace("(<img[^>]*>)", "", $ARTIKEL_BODY);<br><br>
    $ARTIKEL_BODY = eregi_replace("(<IMG[^>]*>)", "", $ARTIKEL_BODY);<br><br>     
    $query_update =      "UPDATE TBLARTIKELS<br>
              SET ARTIKEL_BODY = EMPTY_CLOB()     <br>               WHERE ARTIKEL_ID = " . $row['ARTIKEL_ID'] . "<br><br>
    RETURNING ARTIKEL_BODY INTO :ARTIKEL_BODY";<br><br>
    $stid2 = oci_parse($conn, $query_update);<br><br>
    $clob = oci_new_descriptor($conn, OCI_D_LOB);<br><br>
    ocibindbyname($stid2, ":ARTIKEL_BODY", $clob, -1, OCI_B_CLOB);<br><br>
    oci_execute($stid2, OCI_DEFAULT);     <br><br>                                             
    if($clob->save($ARTIKEL_BODY))<br>
    {<br><br>
    echo "Artikel " . $i . " changed.";<br><br>
    echo $ARTIKEL_BODY;<br><br>
    }<br>
    else<br>
    {<br><br>
    echo "Something is wrong at article " . $i;<br><br>
    }<br><br>
    $clob->free();     <br><br>                    
    ?>

    1. Why are you doing a test for img and IMG when using eregi, which is case insensitive; one or the other will suffice with no need for the OR.
    2. Are you running the block of code correctly, i.e. is
    "echo "Artikel " . $i . " has got an img tag.";"
    printing output?
    3. Are you assigning $ARTIKEL_BODY correctly before the block? Further down you use $row['ARTIKEL_ID'], so I assume before the block you have assigned $row['ARTIKEL_BODY'] to $ARTIKEL_BODY.
    4. You are using oci_execute($stid2, OCI_DEFAULT); (which is not auto-commit) but I cannot see an expressed oci_commit() in that code, I assume this is done further down in some unposted code?
    Need to see all of the code to get a better idea. Often problems occur in the silliest of places...

  • CLOB, BC4J, how to insert/access/update CLOB attribute?

    Hello everybody,
    I'm using Jdev 3.1 on a 8.1.6 db and I am having a hard time trying to change my good ol' Varchar(4000) into CLOBs (the main reason me doing this is that I need to store data which can occasionnaly go over the 4K limit)
    I am actually trying to wrap CLOB access in String getAttribute() and
    void setAttribute(String newValue)
    methods which would use Strings as parameters, in order to get the same behaviour as Varchar and Long data types.
    Various problems arise:
    ** I can't create a new row through a view object! if I do the following:
    ViewObject myView = myAppModule.findViewObject("myViewName");
    Row myRow = myView.createRow();
    ClobDomain myClob = new ClobDomain();
    myClob.setBytes("hello world".getBytes());
    myRow.setAttribute("clobAttribute",myclob);
    myView.insertRow(myRow);
    myAppmodule.getDbTransaction().commit();
    Then the commit fails with JBO-26041 invalid column type...
    any hints on why this fails?
    ** Each time the row containing the CLOB column gets updated , I get a JBO-25014: another user has changed the row... exception.
    This occurs even if the updated columns do not include the CLOB. However, if i try repeatedly (as someone in this forum suggested) the call to setAttribute eventually succeeds (usually it works on the 3rd attempts).
    Any suggestion why this happens? any chance jdev 3.2 improves this?
    ** I have also tried to create a custom domain "StringClobDomain", with an attribute value of type String, and a Database column value of type CLOB.
    This nearly works!
    It allows insertion of data, and update (there are still JBO-25014 when updating, but it works on the 2nd attempt now).
    However, when trying to get the value stord in the db through the domain object, all I can get is stuff like "oracle.sql.CLOB@4b0c".
    It seems to me that internally, when copying the CLOB data to the domain object, a CLOB.toString() is called instead of a CLOB.getBytes() or the like.
    Am I right? is there a known workaround ?
    Thanks for any help, Rimi
    null

    Hello,
    Thanks for your answers, I took some time to reply because for a while I tried to achieve the same results with LONGs (Unfortunaltely it didn't work: it seems that using large strings with LONGs is not as straightforward as I expected).
    Now I'm back with CLOBs, and finally, with your help It seems to work ok, altough there are still a few points which need some work done...
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Shailesh (JDeveloper Team):
    Well ok, but in the example I gave, the attribute actually refered to a CLOB column...Please verify the columns that are being posted in the update statement...
    <HR></BLOCKQUOTE>
    It seems that this was the problem: I removed the attributes in the Entity/View wizards, then re-added them, and it worked afterwards, I guess I messed up with the wizard...
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>
    I do not have any control on how the Domain object is populated, so it feels like I'm a bit stuck no?My guess was that you've extended ClobDomain to create your own Domain class.
    Instead it seems you've used the UI to create a domain containing String. That does not work for non-scalar (large objects) like LOBs.
    <HR></BLOCKQUOTE>
    Ok, I'll keep that in mind.
    But if it doesn't work this way, shouldn't the IDE forbid this combination?
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>
    You may extend the ClobDomain class to get the data-conversion handled by the base domain and then use getBLOB() to get the sql-BLOB object and work with it.
    <HR></BLOCKQUOTE>
    Ok, I've tried this, but I still have some problems.
    I have created a class evenium.jbo.domain.ClobStringDomain which simply extends the oracle.jbo.domain.ClobDomain:
    package evenium.jbo.domain;
    public class ClobStringDomain extends oracle.jbo.domain.ClobDomain {}
    If I declare the Value attribute as based on ClobDomain in the entity wizard, everything works fine, I can even use an object of type evenium.jbo.domain.ClobStringDomain to set the attribute's value.
    However, if I declare the attribute as based on my custom ClobStringDomain, then, upon insertion (actually, it's when I commit), I get a null pointer exception...
    any Idea why this happens?
    TIA, Remi

  • 'do not have sufficient privileges' when updating apps

    when i update apps, or try to, by dragging them into the app folder, i get a message saying that i do not have sufficient privileges- though i am the admin and only account.
    this all started when a friend used photobooth to take a picture of himself. he then made another admin account and set it as default. i noticed when i sent an email and it has his ruddy picture instead of mine. i then deleted his account, leaving mine- both of which were admin, but only deleted his. now i cannot update apps, and who knows what else.
    any suggestions?

    hmm, that's strange. just to make sure, check that your account still says admin in system preferences->accounts. If it does, run the following terminal commands. they will reset permissions on your Applications folder and everything in it. Please copy and paste (do not retype). enter the commands one at a time.
    sudo chown -R root:admin /Applications
    sudo chmod -R g=rw,o=r,+X /Applications
    sudo chmod -RN /Applications
    sudo chmod +a "everyone deny delete" /Applications /Applications/Utilities
    You'll have to enter your admin password (which you won't see) after the first command. that's normal. see if you can update apps now.

Maybe you are looking for