Uncommitted transactions after recovery?

Will a database have uncommitted transactions after recovery?

Do you mean Instance Recovery? or Database Recovery?
Database Recovery will perform full rollforward/rollback. Instance Recovery will use a Fast-Start On-Demand Rollback, which means Oracle will only do transaction recovery in a similar way consistent reads are performed, this mitigates the adverse effect of recovery process.
Even though uncommitted transactions are present at start time, this doesn't mean you can resume dead transactions. Information will be completely rolled back by background processes afterwards.
Ref.
http://www.oracle.com/technology/deploy/availability/pdf/fast-start.pdf

Similar Messages

  • Uncommited transactions remain after Instance Recovery

    After Instance Recovery, the database seems to contain uncommitted transactions. Please provide an explanation for the following:
    create table t1
    as
    select *
    from all_objects;
    commit;
    create table t2
    as
    select *
    from all_objects;
    update t2
    set object_id = 1 where rownum = 1;
    shutdown abort;
    Neither table t2 nor the update to it were committed (right?), therefore, once the database starts up t2 should not be there. On the contrary, it is still there. In the Oracle Database Backup and Recovery Advanced Guide 10g Release 2, page 11-9, explains how the uncommitted transactions are removed (rolled back) in the Roll Backward step (transaction recovery) of the Instance recovery process.
    Any insight on this is highly appreciated. Thanks.

    Note also following scenario run with SYSDBA privileges:
    bas002> select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Prod
    PL/SQL Release 10.2.0.2.0 - Production
    CORE    10.2.0.2.0      Production
    TNS for 32-bit Windows: Version 10.2.0.2.0 - Production
    NLSRTL Version 10.2.0.2.0 - Production
    bas002>
    bas002> drop table t2;
    drop table t2
    ERROR at line 1:
    ORA-00942: table or view does not exist
    bas002> create table t2
      2  as
      3  select *
      4  from all_objects;
    Table created.
    bas002>
    bas002> update t2
      2  set object_id = 1 where object_id=258;
    1 row updated.
    bas002>
    bas002> shutdown abort;
    ORACLE instance shut down.
    bas002> startup
    ORACLE instance started.
    Total System Global Area  192937984 bytes
    Fixed Size                  1288484 bytes
    Variable Size             130025180 bytes
    Database Buffers           54525952 bytes
    Redo Buffers                7098368 bytes
    Database mounted.
    Database opened.
    bas002>
    bas002> select count(*) from t2 where object_id=1;
      COUNT(*)
             0
    bas002>Message was edited by:
    Pierre Forstmann

  • How to query uncommited transactions

    Hi Does anyone know how to query Oracle database from SQL*Plus to view uncommitted transactions?
    Thanks

    I noticed after I posted that I had used a package I found on the web called list that includes several useful functions. So in case someone wants it, here are the package and body:
    ***PACKAGE***
    CREATE OR REPLACE PACKAGE list AUTHID CURRENT_USER IS
    -- All of these functions and procedures have the following parameters:
    -- list_in - A delimited list to be parsed.
    -- delimiter - The delimiter to be used for parsing the list. Defaults
    -- to a comma.
    -- null_item - What to do with null items in the list. A null item is created
    -- by consecutive occurances of the delimiter. Valid values are
    -- 'KEEP' to allow items in the list to be null, or 'SKIP' to ignore
    -- null items, ie. treat consecutive occurances of delimiters as a
    -- single delimiter. The default is 'KEEP'.
    -- delimiter_use - How the delimiter is to be interpreted. Valid values are
    -- 'ANY' to treat the entire delimiter string as a single occurance
    -- of a delimiter which must be matched exactly, or 'ANY' to treat
    -- the delimiter string as a set of single character delimiters, any
    -- of which is a delimiter. The default is 'ANY'.
    -- Return the first item in a list.
    FUNCTION head(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN VARCHAR2;
    PRAGMA RESTRICT_REFERENCES (head,WNDS,WNPS);
    -- Return the remainder of a list after the first item and its delimiter.
    FUNCTION tail(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN VARCHAR2;
    PRAGMA RESTRICT_REFERENCES (tail,WNDS,WNPS);
    -- Return the nth item in a list.
    -- The parameter, item_num, denotes which item to return.
    FUNCTION item(
    list_in IN VARCHAR2,
    item_num IN INTEGER DEFAULT 1,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN VARCHAR2;
    PRAGMA RESTRICT_REFERENCES (item,WNDS);
    -- Append an item to a list and return the new list.
    -- The parameter, item_in, contains the new item to append.
    FUNCTION append_item(
    list_in IN VARCHAR2,
    item_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',') RETURN VARCHAR2;
    PRAGMA RESTRICT_REFERENCES (append_item,WNDS);
    -- Return the number of items in a list.
    FUNCTION num_items(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN INTEGER;
    PRAGMA RESTRICT_REFERENCES (num_items,WNDS);
    -- Search a list for an item, and give its location in the list,
    -- or zero IF not found.
    -- The parameter, item_in, gives the item to be found in the list.
    FUNCTION in_list(
    list_in IN VARCHAR2,
    item_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN INTEGER;
    PRAGMA RESTRICT_REFERENCES (in_list,WNDS);
    -- Convert an array to a delimited list.
    -- The array to be input is a DBMS_UTILITY.uncl_array so that
    -- the LIST package is compatible with the comma_to_table and
    -- table_to_comma built ins.
    -- In this function, delimiter is always treated as a single
    -- string.
    FUNCTION array_to_list(
    array_in IN DBMS_UTILITY.UNCL_ARRAY,
    arrlen_in IN INTEGER,
    delimiter IN VARCHAR2 DEFAULT ',') RETURN VARCHAR2;
    PRAGMA RESTRICT_REFERENCES (array_to_list,WNDS,WNPS);
    -- Print a list using DBMS_OUTPUT.
    PROCEDURE print_list(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY');
    -- Convert a list to an array and return the array and its size.
    -- This is a procedure because it returns more than one value.
    -- The array to be returned is a DBMS_UTILITY.uncl_array so that
    -- the LIST package is compatible with the comma_to_table and
    -- table_to_comma built ins.
    PROCEDURE list_to_array(
    list_in IN VARCHAR2,
    arrlen OUT BINARY_INTEGER,
    array_out OUT DBMS_UTILITY.uncl_array,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY');
    -- Sort a list
    -- Null items are always skipped when sorting lists, since they would sort
    -- to the end of the list anyway. CMPFNC is the name of a function to compare
    -- two items. The default of '>' sorts in ascending order, '<' in descending order.
    -- If you write your own function to be used for sorting, it must:
    -- 1. Take two parameters of type VARCHAR2
    -- 2. Return an INTEGER
    -- 3. Return a negative number if the first item is to sort lower than
    -- the second, a zero if they are to sort as if equal, or a positive
    -- number if the first item is to sort higher than the second.
    -- 4. Be executable by the user running the sort. Normal naming rules apply.
    FUNCTION sort_list(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    cmpfnc IN VARCHAR2 DEFAULT '>',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN VARCHAR2;
    PRAGMA RESTRICT_REFERENCES (sort_list,WNDS);
    end;
    ***END PACKAGE SPEC***
    ***BEGIN BODY***
    CREATE OR REPLACE PACKAGE BODY list IS
    current_list VARCHAR2(32760) DEFAULT '';
    current_delim VARCHAR2(30) DEFAULT ',';
    TYPE list_array IS TABLE OF VARCHAR2(2000)
    INDEX BY BINARY_INTEGER;
    current_array list_array;
    current_arrlen BINARY_INTEGER DEFAULT 0;
    current_null_item VARCHAR2(4) DEFAULT '';
    current_delimiter_use VARCHAR2(3) DEFAULT '';
    -- Find the first delimiter.
    FUNCTION find_delimiter(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN BINARY_INTEGER IS
    delimiter_loc BINARY_INTEGER;
    BEGIN
    IF upper(delimiter_use) = 'ALL' THEN
    delimiter_loc := INSTR(list_in,delimiter);
    ELSIF upper(delimiter_use) = 'ANY' THEN
    delimiter_loc := INSTR(TRANSLATE(list_in,delimiter,ltrim(RPAD(' ',LENGTH(delimiter)+1,CHR(31)))),CHR(31));
    END IF;
    RETURN delimiter_loc;
    END find_delimiter;
    -- Return the first item in a list.
    FUNCTION head(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN VARCHAR2 IS
    delimiter_loc BINARY_INTEGER;
    BEGIN
    delimiter_loc := find_delimiter(list_in,delimiter,null_item,delimiter_use);
    IF delimiter_loc > 1 THEN
    RETURN SUBSTR(list_in,1,delimiter_loc-1);
    ELSIF delimiter_loc = 1 THEN
    RETURN NULL;
    ELSE
    RETURN list_in;
    END IF;
    END head;
    -- Return the remainder of a list after the first item and its delimiter.
    FUNCTION tail(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN VARCHAR2 IS
    start_ch BINARY_INTEGER;
    BEGIN
    start_ch := find_delimiter(list_in,delimiter,null_item,delimiter_use);
    IF start_ch = 0 THEN
    RETURN NULL;
    ELSE
    IF upper(delimiter_use) = 'ALL' THEN
    start_ch := start_ch + LENGTH(delimiter);
    ELSE
    start_ch := start_ch + 1;
    END IF;
    IF start_ch > LENGTH(list_in) THEN
    RETURN NULL;
    ELSE
    RETURN SUBSTR(list_in,start_ch);
    END IF;
    END IF;
    END tail;
    -- Convert a list to an array.
    PROCEDURE parse_list(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') IS
    list_to_parse VARCHAR2(32760);
    BEGIN
    IF list_in = current_list AND
    delimiter = current_delim AND
    null_item = current_null_item AND
    delimiter_use = current_delimiter_use THEN
    NULL;
    ELSE
    current_list := list_in;
    current_delim := delimiter;
    current_null_item := upper(null_item);
    current_delimiter_use := upper(delimiter_use);
    list_to_parse := list_in;
    current_arrlen := 0;
    WHILE list_to_parse IS NOT NULL LOOP
    IF current_null_item <> 'SKIP' OR
    head(list_to_parse,delimiter,null_item,delimiter_use) IS NOT NULL THEN
    current_arrlen := current_arrlen + 1;
    current_array(current_arrlen) := SUBSTR(head(list_to_parse,delimiter,null_item,delimiter_use),1,2000);
    END IF;
    list_to_parse := tail(list_to_parse, delimiter,null_item,delimiter_use);
    END LOOP;
    END IF;
    END parse_list;
    -- Convert a list to an array and return the array and its size.
    PROCEDURE list_to_array(
    list_in IN VARCHAR2,
    arrlen OUT BINARY_INTEGER,
    array_out OUT DBMS_UTILITY.uncl_array,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') IS
    BEGIN
    parse_list(list_in,delimiter,null_item,delimiter_use);
    arrlen := current_arrlen;
    FOR i IN 1..arrlen LOOP
    array_out(i) := SUBSTR(current_array(i),1,240);
    END LOOP;
    END list_to_array;
    -- Print a list using DBMS_OUTPUT.
    PROCEDURE print_list(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') IS
    BEGIN
    DBMS_OUTPUT.ENABLE(100000);
    parse_list(list_in,delimiter,null_item,delimiter_use);
    FOR i IN 1..current_arrlen LOOP
    dbms_output.put_line(SUBSTR(current_array(i),1,240));
    END LOOP;
    END print_list;
    -- Return the number of items in a list.
    FUNCTION num_items(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN INTEGER is
    BEGIN
    parse_list(list_in,delimiter,null_item,delimiter_use);
    RETURN current_arrlen;
    END num_items;
    -- Return the nth item in a list.
    FUNCTION item(
    list_in IN VARCHAR2,
    item_num IN INTEGER DEFAULT 1,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN VARCHAR2 is
    BEGIN
    parse_list(list_in,delimiter,null_item,delimiter_use);
    IF item_num NOT BETWEEN 1 AND current_arrlen THEN
    RETURN NULL;
    ELSE
    RETURN current_array(item_num);
    END IF;
    END item;
    -- Append an item to a list and return the new list.
    -- The parameter, item_in, contains the new item to append.
    FUNCTION append_item(
    list_in IN VARCHAR2,
    item_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',') RETURN VARCHAR2 IS
    BEGIN
    IF list_in IS NULL THEN
    RETURN item_in;
    ELSE
    RETURN list_in || delimiter || item_in;
    END IF;
    END append_item;
    -- Search a list for an item, and give its location in the list,
    -- or zero IF not found.
    FUNCTION in_list(
    list_in IN VARCHAR2,
    item_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    null_item IN VARCHAR2 DEFAULT 'KEEP',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN INTEGER is
    BEGIN
    parse_list(list_in,delimiter,null_item,delimiter_use);
    FOR item_num IN 1..current_arrlen LOOP
    IF current_array(item_num) = item_in THEN
    RETURN item_num;
    END IF;
    END LOOP;
    RETURN 0;
    END in_list;
    -- Convert an array to a delimited list.
    FUNCTION array_to_list(
    array_in IN DBMS_UTILITY.UNCL_ARRAY,
    arrlen_in IN INTEGER,
    delimiter IN VARCHAR2 DEFAULT ',') RETURN VARCHAR2 IS
    list_out VARCHAR2(32760):= '';
    BEGIN
    FOR item_num IN 1 .. arrlen_in LOOP
    EXIT WHEN LENGTH(list_out) +
    LENGTH(array_in(item_num)) > 32760;
    list_out := list_out||array_in(item_num);
    IF item_num < arrlen_in THEN
    list_out := list_out||delimiter;
    END IF;
    END LOOP;
    RETURN list_out;
    END array_to_list;
    -- Sort a list
    FUNCTION sort_list(
    list_in IN VARCHAR2,
    delimiter IN VARCHAR2 DEFAULT ',',
    cmpFnc IN VARCHAR2 DEFAULT '>',
    delimiter_use IN VARCHAR2 DEFAULT 'ANY') RETURN VARCHAR2 IS
    temp_array list_array;
    temp_len PLS_INTEGER := 0;
    temp_item VARCHAR2(2000);
    list_out VARCHAR2(32760);
    PROCEDURE swap (
    first_item IN OUT VARCHAR2,
    second_item IN OUT VARCHAR2) IS
    temp_item VARCHAR2(2000);
    BEGIN
    temp_item := first_item;
    first_item := second_item;
    second_item := temp_item;
    END swap;
    FUNCTION cmp (
    first_item IN VARCHAR2,
    second_item IN VARCHAR2,
    cmpfnc IN VARCHAR2 DEFAULT '=') RETURN INTEGER IS
    return_value INTEGER;
    BEGIN
    IF cmpfnc = '>' THEN
    IF first_item < second_item THEN
    return_value := -1;
    ELSIF first_item = second_item THEN
    return_value := 0;
    ELSIF first_item > second_item THEN
    return_value := 1;
    END IF;
    ELSIF cmpfnc = '<' THEN
    IF first_item > second_item THEN
    return_value := -1;
    ELSIF first_item = second_item THEN
    return_value := 0;
    ELSIF first_item < second_item THEN
    return_value := 1;
    END IF;
    ELSE
    EXECUTE IMMEDIATE 'BEGIN :I := '||cmpfnc||'(:A,:B); END;'
    USING OUT return_value, IN first_item, IN second_item;
    END IF;
    RETURN return_value;
    END cmp;
    BEGIN
    parse_list(list_in,delimiter,'SKIP',delimiter_use);
    FOR item_num IN 1..current_arrlen LOOP
    temp_item := current_array(item_num);
    FOR i IN 1..temp_len LOOP
    IF cmp(temp_array(i),temp_item,cmpfnc) > 0 THEN
    swap(temp_array(i),temp_item);
    END IF;
    END LOOP;
    temp_len := temp_len + 1;
    temp_array(temp_len) := temp_item;
    END LOOP;
    FOR item_num IN 1..temp_len LOOP
    EXIT WHEN LENGTH(list_out) +
    LENGTH(temp_array(item_num)) > 32760;
    list_out := list_out||temp_array(item_num);
    IF item_num < temp_len THEN
    list_out := list_out||delimiter;
    END IF;
    END LOOP;
    RETURN list_out;
    END sort_list;
    END;
    *** END BODY***
    Carl

  • Number of uncommited transactions to a specific table

    Hello!
    Is there a way to get the number of uncommited transactions to a specific table?
    Best regards
    Dannie

    Hello!
    The problem is that I am doing a merge from an external table, and I want to know how many rows were actually merged into the table. Before i had to merge data into the table, I could simply do a select (*) from the external table to figure out how many rows were inserted, but I dont know how to get it from a merge. It does not work to select(*) on the target table before and after the insert, as its is VERY big.
    Maybe there is a way to get a merge to tell you how many rows were affected by a merge?
    Suggestions?
    Best regards
    Dannie

  • After recovery, admin password filled in with "dots" and cannot delete or change it

    Hello.
    I ran the Windows 7 updates yesterday, but only the necessary ones.  I did not install any of the optional ones.  After the updates completed, I turned the computer on and it was stuck in a loop cycle - starting windows, then the admin password log in box came up.  The box was fiiled in (with "dots" but too many to represent my password) and the screen just quickly flashed back & forth between the log in screen and "password incorrect".     I tried to switch user, and it flashed back to the admin log in. 
    I did a system recovery to factory defaults (after backing up all data)  using the recovery discs.  After recovery, the "Set a password for account" screen comes up with the box below "Type a password" filled in completely with dots.  I cannot erase them with the backspace or delete keys.  If I highlight it and then try erase it with backspace or delete, the cursor just moves to the right hand side of the password box, but it still doesn't delete the faulty password "dots" so that I can change it. 
    I tried to reboot by holding in the power button and then turning it back on.  After selecting country & language again, the same password screen come up.
    It is stuck!  Any help would be greatly appreciated!  I computer I have  is the HP TouchSmart 310 PC 1155-Y.
    Thank You!
    This question was solved.
    View Solution.

    That is curious with a Recovery.  First, try to reset the password using NTPassword.  Make the CD, boot to it  following the directions.  If that does not solve the signon problem, consider installing the OS from a regular Windows 7 disk of the same version, using the key from the COA sticker.
    {---------- Please click the "Thumbs Up" to say thanks for helping.
    Please click "Accept As Solution" if my help has solved your problem. ----------}
    This is a user supported forum. I am a volunteer and I do not work for HP.

  • Problem in a transaction after upgrade

    Hi ,
    I am getting a problem in transaction after upgrade.
    I am getting like "Too Many sctions"  in a Tab. Its a custom tab in a standard transaction.
    But its working fine before upgrade.
    Could you please suggest me, what can I do for this.
    some more  info.
    Errors: Dynpro genearation for this scrn has errors.
    call tcode SLG1 for object BDT_Dynpro_generate.
    And in SLG1 I am getting like this
    "Object RERO screen  RERO03: too many sctions."
    Regards,
    sarath

    Well if you are willing to invest money, even SAP will help you out, but i guess thats not what you are after :).
    The message "too many sections" is quite telling so i suppose you have too much of "something" on that subscreen.
    To more preciseley define what "something" may be you could do a where used on MESSAGE 03 of messagle class RERO.
    Or try to debug it and set a breakpoint at statement MESSAGE.
    This way you should be able to find out of WHAT exactky you have too much. When this is done you probably can think yourself of a way to overcome this.

  • How can I fix repetitive 'fontd' crashes after recovery from time machine backup?

    After recovery from time machine backup (Disk Utility told me to reformat my internal hard drive) i got annoying repetitive prompts from crashing 'fontd'. How can I fix it? Anyone suffering from the same disease?

    Back up all data.
    Launch the Font Book application and validate all fonts. You must select the fonts in order to validate them. See the built-in help and this support article for instructions. If Font Book finds any issues, resolve them, then boot in safe mode to rebuild the font caches. Boot again as usual and test.
    Note: If FileVault is enabled under OS X 10.7 or later, or if a firmware password is set, or if the boot volume is a software RAID, you can’t boot in safe mode. In that case, ask for instructions.

  • Faces thumbnails missing after recovery from time machine

    I got a new harddisk in my iMac via Apple's harddisk replacement program. I recovered all my data via a Time Machine backup (from a Time Capsule). All seemed fine after recovery of backup. When firing up iPhoto after the recovery iPhoto asks for updating all the thumbnails (don't know why). After a while everything seems fine - all photos are available with thumbnails in the events view. However all Faces thumbnails are missing - all persons in the faces view are black boxes. I can see that all the faces tagging are intact - when clicking a person I can see all the tagged images as black boxes. When switching the little "Faces - Photos" control to "Photos" I can see the photos containing all the tagged persons all right. I seems like it's only the face thumbnails that are missing.
    So far I have tried the following without succes:
    Repaired the iPhoto database with iPhotos own tool (holding Command and Option down when starting iPhoto)
    Updating the entire library from an earlier backup
    Updated the faces database files from an earlier backup as explained in this post
    I'm out of good ideas now - can anyone help?

    Using iPhoto Library Manager  to Rebuild Your iPhoto Library
    Download iPhoto Library Manager and launch.
    Click on the Add Library button,                         
    and select the library you want to add from those in the selection window.
    Now that the library is listed in the left hand pane of iPLM, click on your library and go to the Library ➙ Rebuild Library menu option
    In the next  window name the new library and select the location you want it to be placed.
    Click on the Create button.
    Note 1: This creates a new library based on the LIbraryData.xml file in the library and will recover Events, Albums, keywords, titles and comments. However, books, calendars, cards and slideshows will be lost.
    Note 2:  Your current library will be left untouched for further attempts at a fix if so desired.
    OT

  • Unable to restore backed up files after recovery

    I had to do a system recovery, and in the process backed up my files.  After recovery, I updated Microsoft and HP files, installed Norton 360, Office 2007, Outlook, and Nikon photo software.  I then tried to restore my backed up files.  Every time a User Account Control box pops ups and stating an unidentified program wants to access my computer.  I press allow, User account Control box goes away but nothing else happens.  Help!

    Hey asjhawk,
    If you go into the advance backup and restore function are the database on your device and on your backup the same size? 
    Also you can try this.
    Open the contact list.
    Press the Menu key, then click Filter.
    Clear the check box beside the category.
    Let us know how you make out.
    -SR
    Come follow your BlackBerry Technical Team on twitter! @BlackBerryHelp
    Be sure to click Kudos! for those who have helped you.Click Solution? for posts that have solved your issue(s)!

  • Report or table Customer have no transactions after creation

    Hi Friends,
    We have around 1500 customers in the system. Is there any standard report which we know that customers have no transactions after creation or we extract the data from table.
    Thanks & Regards,
    Pankaj

    Please do V look up in the excel between original customer list and BSID and BSAD customer list.
    There is one transaction but it'll show the accounts with out sales S_ALR_87012186 - Customer Sales
    Rgds
    Murali. N

  • Trail record size & check frecuency for end of uncommitted transactions

    Hi, everyone,
    Does anyone know if the trail record size can be changed from its default value of 4K?
    What about how long the data pump process delays before searching for more data to proccess in its source trail while it waits for the end of a uncommitted transaction (which is 1 second)?

    Thank you for your answer, MikeN
    The delay I'm referring to cannot be set with EofDelay or EofDelayCSecs: these parameters establish how much time the Data Pump process sleeps when it has nothing new in its source trail. The delay that bothers me seems to happen when the Data Pump has nothing new in its source trail but it is in the middle of an open transaction processing.
    I think is better explained with an example (which I think explains the goal of changing the record size too):
    This is an excerpt for the Extract process trace:
    *09:51:59.653622 write(20, "G\1\0\307H\0\0<E\4\0A\0F\5\377\2\361\361\317\21\232\265\300\0\0\0\0\0)h\20"..., 4096) = 4096* <----- Extract writes down the first 4K record of the transaction
    09:51:59.653690 time(NULL) = 1349769119
    09:51:59.653726 time(NULL) = 1349769119
    09:51:59.653763 time(NULL) = 1349769119
    09:51:59.653803 time(NULL) = 1349769119
    09:51:59.653838 time(NULL) = 1349769119
    09:51:59.653877 time(NULL) = 1349769119
    09:51:59.653913 time(NULL) = 1349769119
    09:51:59.653948 time(NULL) = 1349769119
    09:51:59.653987 time(NULL) = 1349769119
    09:51:59.654024 time(NULL) = 1349769119
    09:51:59.654058 time(NULL) = 1349769119
    09:51:59.654097 time(NULL) = 1349769119
    09:51:59.654140 time(NULL) = 1349769119
    09:51:59.654174 gettimeofday({1349769119, 654182}, NULL) = 0
    09:51:59.654207 clock_gettime(CLOCK_REALTIME, {1349769119, 654216293}) = 0
    09:51:59.654234 futex(0x9b62584, FUTEX_WAIT_PRIVATE, 957, {0, 999965707}) = 0
    09:51:59.751502 futex(0x9b62568, FUTEX_WAKE_PRIVATE, 1) = 0
    09:51:59.751554 llseek(19, 2722304, [2722304], SEEKSET) = 0
    09:51:59.751608 futex(0x9b62534, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9b62530, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
    09:51:59.751682 nanosleep({0, 0}, NULL) = 0
    *09:52:00.162689 write(20, "\0D\0\0O\0\0\0\30\0\0\0\0240000100050134977631"..., 2374) = 2374* <----- Extract writes down the remaining data for the transaction
    And this is an excerpt of the corresponding Data Pump process trace:
    09:51:59.653398 read(11, "F\0\4/0\0\1\3210\0\0\10GG\r\nTL\n\r1\0\0\2\0\0032\0\0\4 \0"..., 1048576) = 7604
    09:51:59.653472 stat64("/stella_dat/ggate/tlstella/tl000195", 0xbfca2a0c) = -1 ENOENT (No such file or directory)
    09:51:59.653543 nanosleep({0, 0}, NULL) = 0
    09:51:59.653651 llseek(11, 0, [0], SEEKSET) = 0
    *09:51:59.653543 nanosleep({0, 0}, NULL) = 0* <---- This is EOFDELAY: it's set to 0
    09:51:59.653651 llseek(11, 0, [0], SEEKSET) = 0
    *09:51:59.653709 read(11, "F\0\4/0\0\1\3210\0\0\10GG\r\nTL\n\r1\0\0\2\0\0032\0\0\4 \0"..., 1048576) = 11700* <----- Data Pump detects a new record in the source trail
    09:51:59.653767 read(11, "", 1048576) = 0
    09:51:59.653840 time(NULL) = 1349769119
    09:51:59.653910 time(NULL) = 1349769119
    09:51:59.653959 time(NULL) = 1349769119
    09:51:59.654014 time(NULL) = 1349769119
    09:51:59.654067 time(NULL) = 1349769119
    09:51:59.654123 time(NULL) = 1349769119
    09:51:59.654181 time(NULL) = 1349769119
    09:51:59.654232 time(NULL) = 1349769119
    09:51:59.654274 time(NULL) = 1349769119
    09:51:59.654312 time(NULL) = 1349769119
    09:51:59.654351 time(NULL) = 1349769119
    09:51:59.654389 time(NULL) = 1349769119
    09:51:59.654428 time(NULL) = 1349769119
    09:51:59.654467 time(NULL) = 1349769119
    09:51:59.654505 time(NULL) = 1349769119
    09:51:59.654543 time(NULL) = 1349769119
    09:51:59.654582 time(NULL) = 1349769119
    09:51:59.654620 time(NULL) = 1349769119
    09:51:59.654657 time(NULL) = 1349769119
    09:51:59.654695 time(NULL) = 1349769119
    09:51:59.654733 time(NULL) = 1349769119
    09:51:59.654771 time(NULL) = 1349769119
    09:51:59.654809 time(NULL) = 1349769119
    09:51:59.654844 read(11, "", 1048576) = 0
    *09:51:59.654881 nanosleep({1, 0}, NULL) = 0* <----- This is the 1 second delay that I want to get rid of
    *09:52:00.655079 read(11, "\0D\0\0O\0\0\0\30\0\0\0\0240000100050134977631"..., 1048576) = 2374* <----- Data Pump reads the second record of the transaction

  • HT201263 it is in recovery mode. after Recovery carried out it seems it can not be reproduce it says eoror number 1

    it is in recovery mode. after Recovery carried out it seems it can not be reproduce it says eoror number 1

    Try and restore it 2 more times. If you continue to get error 1 (or -1), that indicates a hardware failure. Make an appointment at the genius bar.

  • After recovery Photoshop will not start.

    I had made ​​a recovery from my Time Machine.
    I can not start my Photoshop CS4 up more after recovery. Getting this error message: Licensing for this product has stopped working. Error: 150:30
    I follow the instructions on the Adobe website, Solution 2: Run the License Repair Tool. Link: http://helpx.adobe.com/x-productkb/global/error-licensing-stopped-mac-os.html#ma in_Solution_4__Reset_permissions_on_the_FlexNet_Publisher_licensing_service_fold er
    I can not enter my password in teminal.
    What am I doing wrong?

    Adobe's approach, I am now come to the point H:
    h. Enter your administrator user name and password when prompted and click OK.
    Terminal:
    Last login: Sat Mar 29 18:51:25 on ttys000
    morten-work-clausens-imac:~ mortenworkclausen$ sudo python/Volumes/LicenseRecovery\ 11.6.1/LicenseRecovery/LicenseRecover.py
    I am not sure where I enter the password and username, what Adobe suggests.

  • HP Connected Music after recovery?

    HP Pavilion Ultrabook 15-b005eo with Windows 8 64bit.
    Another question for today.
    Last week I purchased this laptop, yesterday I did a factory reset because HP 3D DriveGuard had stopped working by telling me that hard drives are not supported. I tried all the solutions provided by this forum and it still didnt work so I decided to try factory reset as I had nothing special on my computer yet - or that is what I thought.
    As the name "factory reset" would suggest, the computer would be restored to the condition which I received it in.
    Almost everything was the way I expected. Except Norton and HP Connected Music were missing. Not a big deal Norton could be downloaded from their site, but the HP Connected Music isn't available from their or your site. It is not even available from recovery manager.
    I had not yet activated the trial to Connected Music.
    Is there a way to get this back? There should be, because this is still a new computer and that means I am eligible for the 90 day trial, right?
    PS. DriveGuard started working again after recovery.
    This question was solved.
    View Solution.

    Hmmm. Let me check and see what I can find out.  In the meantime, is there anyone else with experience on this issue?
    ↙-----------How do I give Kudos?| How do I mark a post as Solved? ----------------↓

  • DB_PAGE_NOTFOUND error after recovery on a CDS database

    I am getting a DB_PAGE_NOTFOUND error after recovery, with a database that is configured in CDS mode. The error occurs after I insert several rows, bring down the process, remove the environment files and start the process which attempts to insert additional rows - gets a DB_PAGE_NOTFOUND error. The error persists ie. terminating and starting a new oprocess does not resolve the problem.
    Amy help will be appreciated.

    Assuming, that the db is corrupted and that CDS db's can get corrupted - is there any way, I can reduce the frequency of these errors by increasing Cache, page size etc.?
    Following is my DB configuration:
                   dbEnv_->open(envHome_.c_str(), envFlags_, 0);
                    dbEnv_->set_errpfx(envHome_.c_str());
                    dbEnv_->set_thread_count(16);
                    dbEnv_->set_cachesize(0,(100*1024*1024),2);
                    envFlags_ =   DB_INIT_CDB | DB_THREAD | DB_INIT_MPOOL ;
                    envFlags_ |=  DB_CREATE ;
                    dbEnv_->open(envHome_.c_str(), envFlags_, 0);
    db->set_pagesize((32*1024));
                db->open(NULL, temp.c_str(), tableName.c_str(),\
                    DB_BTREE, DB_CREATE | DB_THREAD , S_IRUSR | S_IWUSR);
                    dbEnv_->open(envHome_.c_str(), envFlags_, 0);
    The platform is HPUX. The problems occurs periodically - i.e. not every time.
    Thanks for your help.

Maybe you are looking for