Best Access Method and Estimated Performance

Dear folks,
I'm new to BDB. Although I have read all the documentation and the DS Presentation from Margo, I would like to ask your help to tunne my db layout.
I have to index 1 million key/data pairs in wich key is a logical number and data is 256 lenght (64 int array).
The size of the database is around 200MB. After the initial seed of data, the data will be READ ONLY. No need for concurrent access. One C program will acess the DB (single threaded).
I'm running on a Dual Xeon 3.2 GHz with 4 gb RAM.
I've choosen to use the QUEUE ACCESS METHOD (since I'm using logical numbers as key and a fixed data size).
I need to randomly access 140.000 keys in the DB.
As I've read from the documentation this would be accomplished in less than a second.
I would like to ask you what would be the expected retrieval time (number of keys/second) for my case (millions of 256 bytes data, with default configuration options) and if QUEUE is the best choice.
From my implementation test the c program takes a considerable amount of time the first time it queries (dpb->get) the database for 140.000 keys (is this the so called COLD START?). The successive times I run the program querying the DB with different 140.000 random keys it becames faster for each new run (is this because I'm warming up the cache?).
I'm using default configuration values for all tunning params: cache, mmapsize, etc...
Would it be possible to load the whole DB in memory before querying it with dpb->get? Would it make the 140.000 querying process faster?
I've tryied to iterate trough every record with a cursor and it takes around 5 seconds the first time and then gets faster on the successive runs. I've also tryied to iterate through every page to "warm up" the process before querying the 140.000 keys but did not have a great improvement.
My goal is to query 140.000 random keys from the DB as fastest as possible. (Be it changing by choosing a more appropriate access method, be it for tunning the config parameters).
I appreciate your help.
Maurice S.

Thank you Michael for your reply!!!
I've seen the thread regarding the strategy of openning the mpool file and iterating through the pages.
I've implemented that sucessfully (that reduced the total time required to perform the "get's" and also make this time a CONSTANT of around 0.5 seconds).
My implementation works the following way:
1) First I create the DB_ENV pointer
1.A) All my dbs are in a folder called "dbs". Therefore I call dbenv->set_data_dir appropriatelly
1.B) dbenv->set_mp_mmapsize(dbenv,300*1024*1024); (each DB has 183 MB)
1.C) I set the cache size to the smallest possible value dbenv->set_cachesize(dbenv, 0, 20 *1024, 0); [as I've read through the forum about similar cases]
1.D) Finally dbenv->open(dbenv, "db",DB_CREATE | DB_RDONLY| DB_INIT_MPOOL, 0))
2) Then I call the db (wich has 700.000 records; with for 4 bytes for each key, and 260 bytes for each data)
2.A) db_create(&dbs[c], dbenv, 0))
2.B) dbs[c]->set_re_len(dbs[c],260)
2.C) dbs[c]->set_pagesize(dbs[c], 64*1024))
2.D) dbs[c]->open(dbs[c],NULL, database, NULL, DB_QUEUE, DB_RDONLY, 0664))
Then I do the "mpool file iteration":
.....all the code from that thread.....
DB_MPOOLFILE* mfp =NULL;
mfp = dbs[c]->get_mpf(dbs[c]);
db_pgno_t lastPageNum;
void* pageAddr;
mfp->get(mfp, &lastPageNum, NULL, DB_MPOOL_LAST, &pageAddr);
mfp->put(mfp, pageAddr, DB_PRIORITY_UNCHANGED, 0);
db_pgno_t pageNum=0;
for(pageNum=0; pageNum<=lastPageNum; pageNum++)
mfp->get(mfp,&pageNum, NULL, 0, &pageAddr);
mfp->put(mfp,pageAddr, DB_PRIORITY_UNCHANGED,0);
And then I get 140.000 random records:
DBT key, data;
for(k=0;k<140000;k++)
db_recno_t recno=rand()%700000;
memset(&key, 0, sizeof(DBT));
memset(&data, 0, sizeof(DBT));
key.data = &recno;
key.size = sizeof(recno);
int dc[65];
data.data = dc;
data.ulen = sizeof(dc);
data.flags = DB_DBT_USERMEM;
dbp->get(dbp, NULL, &key, &data, 0);
It takes around 0.5 seconds to perform all 140.000 random GET's.
I have 20 DB's like the one described above.
Changing the code above in order to use another one of the 20 DB's results in the same EXECUTION TIME (around 0.5 seconds).
Is this the performance that you would expect from BDB? 280.000 random accessess per second in a 700.000 records QUEUE DB with 260 bytes data field?
Is there any other parameters I could tunne to improve performace?
Would BTREE acess method perform better ? (I could index the record numbers as strings: "00000001", "00000002", ..... )
I do appreciate your attention.
Hope my post can be a source for help to other BDB users, as the forum has been to me.
Best rgs,
Maurice S.

Similar Messages

  • Access method and wait event

    hi,
    i am confused about access method and wait event.
    is there any relation between access method and wait event?

    sb92075 wrote:
    is there any relation between access method and wait event?No relationI disagree. If access method is full table scan or fast full index scan, that's likely to cause db file scattered read waits, whereas an index driven access method such as index range scan will likely cause db file sequential read waits.
    -Mark

  • Can't access "Network" and other performance issues

    Hi all,
    I'm facing a catch-22 and am not sure what to do to get myself and my mac out of this downward spiral. Any help you can offer would be greatly appreciated (fyi I am admittedly not great with macs and probably don't maintain my MacBook Pro well enough).
    I've had a serious slowdown in performance starting a couple weeks ago. the system moves at a glacial pace and most of the time is spent watching the spinning rainbow.
    To add to my issues, my ISP recently performed a system upgrade which requires me to change some settings under "Network" in my system preferences. Well, when I try to access "Network", the machine thinks for a while, then an error message appears telling me that the network preferences has shut down unexpectedly. When I hit "retry" the error message eventually reappears.
    So, because of the upgrade, I can't access the internet to download any repairs for the machine, and because of the problems with the machine, I can't modify the preferences to access the internet. Obviously a vicious cycle which someone of my expertise level is struggling to solve.
    Side notes
    - I've passed the 90-day phone support period so can't call for help.
    - I'm on my work computer now. Could I download some repair/diagnostic tool here, then run it on my machine at home?
    If anyone can throw me a lifeline I would be grateful!
    MacBook Pro 15"   Mac OS X (10.4.3)  

    OZ 99,
    For logic's sake, I'm gong to take these out of order a bit:
    2) A "disk error" occurs when the "file system" (sometimes called the "disk directory") becomes damaged. This is data that is written to the HD, so yes, it could be considered a software error. Your file system is, basically, a map of your physical HD, and it indexes the location on the drive of all the other files. When it is damaged for whatever reason, your disk "forgets" where some amount of data lives. Because of this, the associated files become damaged, or "corrupt." If those files happen to be critical components of the OS, bad things can happen. At worst, the disk will become unmountable, and all of your files unrecoverable.
    1) Disk errors can be caused by several things. Sometimes, one or more "blocks" (let's call them physical locations on the disk) on your HD can become physically damaged. Whether this is because of a slight flaw in manufacturing, a scratch, magnetic particles that lose their "oomph," whatever, matters not. What is important is that some data is lost. Because the file system still believes there is data living in this location, it (the file system) is no longer reliable; it is damaged. While the initial loss of data could be considered hardware-related, the disk error is not. I'll come back to this.
    Another potential cause is some random error in the process of writing data to the disk. Again, this is a software problem, not a hardware problem. The most common cause for this occurs when your computer is shut down improperly, either a forced shutdown or a power loss. Journaling, which is the default for an OS X boot volume, goes a long way toward automatically fixing these types of disk errors, but it is not always a guarantee.
    If you have had your MBP for only a short period of time, it is not surprising that a disk error has occurred, and probably because of a bad block. Absolutely flawless drives are rare, and many computers ship with incipient disk errors. For this reason, many people like to format any new drive, even one in a new computer, right out of the box (I'll get to reasons why this is a good thing to do).
    3) Yes. Disk Utility can check or repair your file system. Any repairs must be made using Disk Utility while booted to the OS X install disk. Your HD can be "verified," however, while booted to the HD. Simply open Disk Utilty (in the "Utilities" folder), select your startup disk, then click "Verify" in the "First Aid" pane.
    4) Yes, you will have to reinstall all of your applications after formatting and reinstalling. Formatting erases everything on the volume or drive selected. Settings and data for all of those applications can be saved, however, then transferred back to the MBP after reinstalling OS X. Once the applications, themselves, have been reinstalled, you will be right back where you started. I can talk about making a comprehensive backup in another post, if you like.
    DISK UTILITY: In my first post, I recommended that you select your entire drive, then using the "Zero All Data" option. This process takes a considerably longer amount of time (as much as an hour and a half, depending on the size of your drive), but it has one big advantage. When this option is used on an entire physical drive (also called a "device"), it will scan for those pesky bad blocks, and "map out" any it finds. Since these bad spots on the disk will not be included in the new file system's list of "useable" locations, your chances of encountering another disk error in the near future is drastically reduced. So, even though a bad block could be considered a hardware error, management of them is handled by software.
    Scott

  • Berkeley DB  about hash Access Methods

    When I use Berkeley DB with hash Access Methods, and the recored is very large, I want to know:
    for examle when i insert two recored
    (key1, data1) and (key2, data2) into DB, the hash of key1 and hash of key2 is same, but key1 and key2 is different, how the Berkeley DB to do this?
    is the Berkeley DB cover the key1,data1 with key2,date2 ?, if so, i think it is a terrible things.
    thanks for any reply, waiting......

    You are very welcome, thanks again,
    but now i find the Berkeley DB working are very slowly when the Database size grow up to more than 2GB, below is the list of my computer information:
    OS: windows server 2003
    API: C language
    memory: 1GB
    CPU: intel 820
    database Access Methods: hash
    key and dada: key is always char[32], data is always int32
    when I open the database in the env, I didn't set the catch and page size because I don't know how to set it, and i also find there is anthor method to improve the performance by set the "Page fill factor", and "DB->set_h_ffactor", but can you give me some advice how can set it to make DB more fast,
    by the way I find when the Berkeley DB's database size is larger than memory, it works very slowly, why?

  • DB_HEAP access method with db_hotbackup utility

    I open a Db handle with DB_HEAP access method and do nothing about it . When first created , the db file is 8kb , but after excuting db_hotbackup utility the db file is 4kb. if I do db_hotbackup under the failover environment , BDB give me an error message :
         db_hotbackup: Backup Failed: BDB0075 DB_PAGE_NOTFOUND: Requested page not found
         db_hotbackup: BDB5043 HOT BACKUP FAILED!
    Other access method is ok . I try to set the Db pagesize 8kb but still wrong .
    I think a db file is bigger than a page size. So it's hard to understand.
    Thanks

    Sorry about mix the two problems. Let me make it clearly :
    1 .Create an Environment contains an empty DB_HEAP database file with the code below.
         1.1 compile the code and mkdir "fileHome" for Environment direcotory,
         1.2 execute the program
    2. execute { db_hotbackup -h ./fileHome -b ./failover } . and in failover directory the database file will  become smaller than it in Environment direcotry.
    3. chang code { const char* fileHome = "fileHome"; } to { const char* fileHome = "failover"; }
    4. compile the changed code and execute again.( for creating region files in the failover directory)
    5. execute { db_hotbackup -h ./failover -b ./failover_back } after this we can see the wrong message :
               db_hotbackup: Backup Failed: BDB0075 DB_PAGE_NOTFOUND: Requested page not found
               db_hotbackup: BDB5043 HOT BACKUP FAILED!
    The problem I said on the previous time is I try to insert some record to the database but failed. I just wonder if this BDB version is not supportint DB_HEAP access method.
    The code is :
    #include<iostream>
    #include<cstring>
    #include<cstdlib>
    #include"db_cxx.h"
    int main()
      u_int32_t env_flags = DB_CREATE |
           DB_INIT_LOCK |
           DB_INIT_LOG |
           DB_INIT_TXN |
           DB_INIT_MPOOL;
      u_int32_t db_flags = DB_CREATE | DB_AUTO_COMMIT;
      const char* fileHome = "fileHome";
      const char* filename = "simpletxn.db";
      Db *dbp = NULL;
      DbEnv myEnv(0);
      try{
      myEnv.open(fileHome,env_flags,0);
      dbp = new Db(&myEnv,0);
      dbp->set_pagesize(8 * 1024);
      dbp->open(0,
       filename,
       NULL,
       DB_HEAP,
       db_flags,
       0);
      }catch(DbException& e){
      std::cerr<<"error when opening environment and database: "<<filename<<","<<fileHome<<std::endl;
      std::cerr<<e.what()<<std::endl;
      try{
      if(dbp != NULL)
      dbp->close(0);
      myEnv.close(0);
      }catch(DbException& e){
      std::cerr<<"error when closing environment and database: "<<filename<<","<<fileHome<<std::endl;
      std::cerr<<e.what()<<std::endl;
      return 0;
    Thanks !!!

  • Best methods to speed up and increase performance of Linux?

    I would like this thread to be dedicated to various speed up techniques and performance tweaks for Linux and especially arch.
    K.Mandla offers quite a bit of interesting tweaks in the guide "Howto: Set up Hardy for speed", most of it applies to all linux distros.
    http://kmandla.wordpress.com/2008/05/04 … for-speed/
    If you have come across any interesting information relating to getting faster and better performance from Linux please do not hesitate to post. Thanks.

    PrimoTurbo wrote:
    I would like this thread to be dedicated to various speed up techniques and performance tweaks for Linux and especially arch.
    K.Mandla offers quite a bit of interesting tweaks in the guide "Howto: Set up Hardy for speed", most of it applies to all linux distros.
    http://kmandla.wordpress.com/2008/05/04 … for-speed/
    If you have come across any interesting information relating to getting faster and better performance from Linux please do not hesitate to post. Thanks.
    You will most likely end up wasting a lot of time for very little gain.
    There are no miracle solutions, you either use faster apps or buy faster hardware.
    The tweaks which are truly interesting without major drawbacks usually make their way on a default system, one way or another.
    For example, for directory index on ext3 :
    http://wiki.archlinux.org/index.php/Ext … ystem_Tips : "Note: Directory indexing is activated by default in Archlinux via /etc/mke2fs.conf"
    So if you want an advice, there are areas more interesting to explore, like programming for instance. You might end up having the capability to really improve apps performance, or write your own lighter alternatives.

  • Please suggest a method and some settings to get the best quality DVD

    I’m trying to find the correct settings to use to make the best quality DVD of an iMovie project. It includes still photos (a couple use the Ken Burns effect), movie clips, titles, maps, transitions, and audio. The project is 33 minutes long. So far, I have burned it by using 3 different methods and the results vary, but not one of the three is optimal for everything. Is it possible to make a DVD that has the best quality of everything or do you have to sacrifice one thing to get the best of another? Here’s the workflow for each method.
    #1 iMovie09 ->share to media (960x540) ->burned with iDVD (best). Everything is acceptable except for the movie clips which have low quality with smeared details.
    #2 iMovie09 ->export to Quicktime (Apple intermediate codec, current frame rate, data rate-auto, compressor native, 1440x1080) ->burned with
    Toast 9. Compared to the first method, the titles are pixelated, the animated map arrows show jaggies, one Ken Burns zoom shimmers a lot, the quality of the photos is slightly less, but the movie clips are a lot better and are acceptable.
    #3 Quicktime .mov file from #2 ->MPEGStreamClip (deinterlace, all other settings auto or default ->burned with Toast 9. Movie clips are the best of the 3 methods, photo quality is better than #2, but not as good as #1. Titles and other effects are just a little better than #2, but not as good as #1.
    Can anyone suggest some settings using any combination of the programs mentioned above to produce a DVD that has the best photo, effects quality, and movie clip quality all on one DVD?
    Rick

    from a prior post, I find this worked quite well, but i think you already thought it was not that good for you, i did not get the 'smeared details" or so I thought:
    "In iMovie, do not "Share to iDVD", it makes a pretty bad product. Instead,
    "Share to Media Browser" and choose the "HD" version if you can, this will take your iMovie project and export it (Can take an hour or 2) into a 720p movie (that looks close to your original iMovie project). That 720p .mov file will be hidden in the iMovie's Project's file; access it if you want by right clicking on the project, show contents, movies (but you dont need to look at it as it is directly accessible through iDVD). SO after the movie has exported, you then open iDVD and click on the MEdia button in the lower R corner, then Choose MOvies, then choose iMovie and you should be able to see that 720p movie that iMovie made. Drag that movie version into iDVD's window (after setting up your theme, background music etc) and then burn. It should look pretty good. Remember, all DVDs are compressed to standard definition (SD) so you will lose definition from the 720p to the 480 resolution of a DVD, but hopefully it will be fine.

  • I'm moving to an imac from a PC. I want to move my itunes library from the PC to my new imac. What is the best method and where can I find instructions?

    I'm moving to an imac from a PC. I want to move my itunes library from the PC to my new imac. What is the best method and where can I find instructions?

    Move iTunes from PC to MAC, http://www.macworld.com/article/146958/2010/03/move_itunes_windows_mac.html

  • How do I access classes and methods defined in a wsdl file

    I have been provided a wsdl file I need to find out how do I access classes and methods defined in a wsdl file directly instead of doing a wsdl2java...

    Several comments :
    1- is there any reason to have blank chars inserted after the path ? Seems that you already have a problem there. If possible, try to solve the problem at the source
    2- the end of line char is usually CR (Carriage Return, aka ASCII char 13 = $0D = Control-D). But LF (Line Feed = 10 = $0A = control-A) is also used (platform dependent). In LV, you can use the "Concatenate strings" function to add/insert control chars (found in the String Control Palette). However, this will not solve your problem of unwanted added blank chars at the end of your string.
    3- you can use the Trim white space.vi (in the "Additionnal string functions" sub-palette) to remove ALL the spaces in your string
    4- you can build your own "end space remover" function. :
    reverse the string, wire to a "Match pattern" function, use " +" (space + "+") to search for any number of spaces, reverse again the "after substring".
    5- there is no point 5 :-)
    You may find interesting description of ASCII chars here
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        

  • Method access$0() and Interfaces doubts

    Hello All,
    I am working on a class browser, I have created one and it works successfully to a certain extent. But The class which I am having a Demo for a Tree Implementation in GUI, has a method called access$0() which I guess is automatically created on runtime by the super classes or somewhere, please let me know how and where can I get more details about this method.
    Also If my class under inspection is implementing one or more interfaces, how can I access its method names and variables.
    Also One more question, does Java maintain a list of sub-class information for each class somewhere.. just like Small Talk or it doesn't?? Please explain.
    Thanks,
    Sirish

    access$ methods are widely used to access private
    members of enclosing class from its inner class and
    vice-versa. These methods are generated by Java
    compiler, not by JVM runtime.
    See
    http://java.sun.com/docs/books/jvms/second_edition/htm
    l/ClassFile.doc.html#80128 for more details about
    synthetic class members.
    Other questions need more clarification.I will check that link, Regarding the other two questions:
    2. What I meant in my interfaces question is that... Say I have a class X that Extends Y and implements A,B
    Then if I want to display all the methods and fields of these classes and interfaces in a recursive way, till I reach the Object class, by going to superclass every time, then I understand I can get to class Y simple by
    using x.getSuperClass()
    but how can I get the interface methods?? and go upwards in that hierarchy??
    3. Sub class question is like this - Say I have 3 classes all user defined in the same directory Class A,B,C where A is the superclass of B and C. My class browser is displaying the hierarchy details of A, then is there any way to put in the details of B and C in the same hierarchical display or just display a separate list of subclass that this class has. I am not sure whether I have made it clear still.
    (I didnot understnad your reply on changing the class path, can you please explain it in a bit more detail, provided it holds for this question.)
    Regards,
    Sirish

  • Looking for the best access to .mac mail from cell phone and PDA devices

    Currently using Verizon, looking for best cell phone and/or PDA to easily access .mac mail (considering buying the LG VX 9800, does anyone use this phone w/success accessing their .mac email accounts?) Thanks.

    Dear RBP,
    Try posting your question in this forum area.
    The one you're now in is for user feedback on the forums themselves and not for specific product issues. If you post in the ,Mac forum I linked, I'm sure you'll get a quick response.
    Don't worry--we're all learning the new forum navigation.
    A

  • Data Pump - expdp and slow performance on specific tables

    Hi there
    I have af data pump export af a schema. Most of the 700 tables is exported very quickly (direct path) but a couple of them seems to be extremenly slow.
    I have chekced:
    - no lobs
    - no long/raw
    - no VPD
    - no partitions
    - no bitmapped index
    - just date, number, varchar2's
    I'm runing with trace 400300
    But I'm having trouble reading the output from it. It seems that some of the slow performning tables is runinng with method 4??? Can anyone find an explanation for the method in the trace:
    1 > direct path (i think)
    2 > external table (i think)
    4 > ?
    others?
    I have done some stats using v$filestat/v$session_wait (history) - and it seems that we always wait for DB seq file read - and doing lots and lots of SINGLEBLKRDS. Not undo is read
    I have a table 2.5 GB -> 3 minutes
    and then this (in my eyes) similar table 2.4 GB > 1½ hrs.
    There are 367.000 blks (8 K) and avg rowlen = 71
    I'm on Oracle 11.2 on a Linux box with plenty of RAM and CPU power.
    Trace file /opt/oracle112/diag/rdbms/prod/prod/trace/prod_dw00_24268.trc
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    ORACLE_HOME = /opt/oracle112/product/11.2.0.2/dbhome_1
    System name:  Linux
    Node name:  tiaprod.thi.somethingamt.dk
    Release:  2.6.18-194.el5
    Version:  #1 SMP Mon Mar 29 22:10:29 EDT 2010
    Machine:  x86_64
    VM name:  Xen Version: 3.4 (HVM)
    Instance name: prod
    Redo thread mounted by this instance: 1
    Oracle process number: 222
    Unix process pid: 24268, image: [email protected] (DW00)
    *** 2011-09-20 09:39:39.671
    *** SESSION ID:(401.8395) 2011-09-20 09:39:39.671
    *** CLIENT ID:() 2011-09-20 09:39:39.671
    *** SERVICE NAME:(SYS$BACKGROUND) 2011-09-20 09:39:39.671
    *** MODULE NAME:() 2011-09-20 09:39:39.671
    *** ACTION NAME:() 2011-09-20 09:39:39.671
    KUPP:09:39:39.670: Current trace/debug flags: 00400300 = 4195072
    *** MODULE NAME:(Data Pump Worker) 2011-09-20 09:39:39.672
    *** ACTION NAME:(SYS_EXPORT_SCHEMA_09) 2011-09-20 09:39:39.672
    KUPW:09:39:39.672: 0: ALTER SESSION ENABLE PARALLEL DML called.
    KUPW:09:39:39.672: 0: ALTER SESSION ENABLE PARALLEL DML returned.
    KUPC:09:39:39.693: Setting remote flag for this process to FALSE
    prvtaqis - Enter
    prvtaqis subtab_name upd
    prvtaqis sys table upd
    KUPW:09:39:39.819: 0: KUPP$PROC.WHATS_MY_ID called.
    KUPW:09:39:39.819: 1: KUPP$PROC.WHATS_MY_ID returned.
    KUPW:09:39:39.820: 1: worker max message number: 1000
    KUPW:09:39:39.822: 1: Full cluster access allowed
    KUPW:09:39:39.823: 1: Original job start time: 11-SEP-20 09:39:38 AM
    KUPW:09:39:39.862: 1: KUPP$PROC.WHATS_MY_NAME called.
    KUPW:09:39:39.862: 1: KUPP$PROC.WHATS_MY_NAME returned. Process name: DW00
    KUPW:09:39:39.862: 1: KUPV$FT_INT.GET_INSTANCE_ID called.
    KUPW:09:39:39.866: 1: KUPV$FT_INT.GET_INSTANCE_ID returned. Instance name: prod
    KUPW:09:39:39.870: 1: ALTER SESSION ENABLE RESUMABLE called.
    KUPW:09:39:39.870: 1: ALTER SESSION ENABLE RESUMABLE returned.
    KUPW:09:39:39.871: 1: KUPF$FILE.INIT called.
    KUPW:09:39:39.996: 1: KUPF$FILE.INIT returned.
    KUPW:09:39:39.998: 1: KUPF$FILE.GET_MAX_CSWIDTH called.
    KUPW:09:39:39.998: 1: KUPF$FILE.GET_MAX_CSWIDTH returned.
    KUPW:09:39:39.998: 1: Max character width: 1
    KUPW:09:39:39.998: 1: Max clob fetch: 32757
    KUPW:09:39:39.998: 1: Max varchar2a size: 32757
    KUPW:09:39:39.998: 1: Max varchar2 size: 7990
    KUPW:09:39:39.998: 1: In procedure GET_PARAMETERS
    KUPW:09:39:40.000: 1: In procedure GET_METADATA_FILTERS
    KUPW:09:39:40.001: 1: In procedure GET_METADATA_TRANSFORMS
    KUPW:09:39:40.002: 1: In procedure GET_DATA_FILTERS
    KUPW:09:39:40.004: 1: In procedure GET_DATA_REMAPS
    KUPW:09:39:40.005: 1: In procedure PRINT_MT_PARAMS
    KUPW:09:39:40.005: 1: Master table             : "SYSTEM"."SYS_EXPORT_SCHEMA_09"
    KUPW:09:39:40.005: 1: Metadata job mode        : SCHEMA_EXPORT
    KUPW:09:39:40.005: 1: Debug enable             : TRUE
    KUPW:09:39:40.005: 1: Profile enable           : FALSE
    KUPW:09:39:40.005: 1: Transportable enable     : FALSE
    KUPW:09:39:40.005: 1: Metrics enable           : FALSE
    KUPW:09:39:40.005: 1: db version               : 11.2.0.2.0
    KUPW:09:39:40.005: 1: job version              : 11.2.0.0.0
    KUPW:09:39:40.005: 1: service name             :
    KUPW:09:39:40.005: 1: Current Edition          : ORA$BASE
    KUPW:09:39:40.005: 1: Job Edition              :
    KUPW:09:39:40.005: 1: Abort Step               : 0
    KUPW:09:39:40.005: 1: Access Method            : AUTOMATIC
    KUPW:09:39:40.005: 1: Data Options             : 0
    KUPW:09:39:40.006: 1: Dumper directory         :
    KUPW:09:39:40.006: 1: Master only              : FALSE
    KUPW:09:39:40.006: 1: Data Only                : FALSE
    KUPW:09:39:40.006: 1: Metadata Only            : FALSE
    KUPW:09:39:40.006: 1: Estimate                 : BLOCKS
    KUPW:09:39:40.006: 1: Data error logging table :
    KUPW:09:39:40.006: 1: Remote Link              :
    KUPW:09:39:40.006: 1: Dumpfile present         : TRUE
    KUPW:09:39:40.006: 1: Table Exists Action      :
    KUPW:09:39:40.006: 1: Partition Options        : NONE
    KUPW:09:39:40.006: 1: Tablespace Datafile Count: 0
    KUPW:09:39:40.006: 1: Metadata Filter    Index : 1    Count : 10
    KUPW:09:39:40.006: 1:         1           Name - INCLUDE_USER
    KUPW:09:39:40.006: 1:                    Value - TRUE
    KUPW:09:39:40.006: 1:              Object Name - SCHEMA_EXPORT
    KUPW:09:39:40.006: 1:         2           Name - SCHEMA_EXPR
    KUPW:09:39:40.006: 1:                    Value -  IN ('TIA')
    KUPW:09:39:40.006: 1:         3           Name - NAME_EXPR
    KUPW:09:39:40.006: 1:                    Value -  ='ACC_PAYMENT_SPECIFICATION'
    KUPW:09:39:40.006: 1:                   Object - TABLE
    KUPW:09:39:40.006: 1:         4           Name - INCLUDE_PATH_EXPR
    KUPW:09:39:40.006: 1:                    Value -  IN ('TABLE')
    KUPW:09:39:40.006: 1:         5           Name - ORDERED
    KUPW:09:39:40.006: 1:                    Value - FALSE
    KUPW:09:39:40.006: 1:                   Object - TABLE_DATA
    KUPW:09:39:40.006: 1:         6           Name - NO_XML
    KUPW:09:39:40.006: 1:                    Value - TRUE
    KUPW:09:39:40.006: 1:                   Object - XMLSCHEMA/EXP_XMLSCHEMA
    KUPW:09:39:40.006: 1:         7           Name - XML_OUTOFLINE
    KUPW:09:39:40.006: 1:                    Value - FALSE
    KUPW:09:39:40.006: 1:                   Object - TABLE/TABLE_DATA
    KUPW:09:39:40.006: 1:         8           Name - XDB_GENERATED
    KUPW:09:39:40.006: 1:                    Value - FALSE
    KUPW:09:39:40.006: 1:                   Object - TABLE/TRIGGER
    KUPW:09:39:40.007: 1:         9           Name - XDB_GENERATED
    KUPW:09:39:40.007: 1:                    Value - FALSE
    KUPW:09:39:40.007: 1:                   Object - TABLE/RLS_POLICY
    KUPW:09:39:40.007: 1:         10           Name - PRIVILEGED_USER
    KUPW:09:39:40.007: 1:                    Value - TRUE
    KUPW:09:39:40.007: 1: MD remap schema    Index : 4    Count : 0
    KUPW:09:39:40.007: 1: MD remap other     Index : 5    Count : 0
    KUPW:09:39:40.007: 1: MD Transform ddl   Index : 2    Count : 11
    KUPW:09:39:40.007: 1:         1           Name - DBA
    KUPW:09:39:40.007: 1:                    Value - TRUE
    KUPW:09:39:40.007: 1:                   Object - JOB
    KUPW:09:39:40.007: 1:         2           Name - EXPORT
    KUPW:09:39:40.007: 1:                    Value - TRUE
    KUPW:09:39:40.007: 1:         3           Name - PRETTY
    KUPW:09:39:40.007: 1:                    Value - FALSE
    KUPW:09:39:40.007: 1:         4           Name - SQLTERMINATOR
    KUPW:09:39:40.007: 1:                    Value - FALSE
    KUPW:09:39:40.007: 1:         5           Name - CONSTRAINTS
    KUPW:09:39:40.007: 1:                    Value - FALSE
    KUPW:09:39:40.007: 1:                   Object - TABLE
    KUPW:09:39:40.007: 1:         6           Name - REF_CONSTRAINTS
    KUPW:09:39:40.007: 1:                    Value - FALSE
    KUPW:09:39:40.007: 1:                   Object - TABLE
    KUPW:09:39:40.007: 1:         7           Name - OID
    KUPW:09:39:40.007: 1:                    Value - TRUE
    KUPW:09:39:40.007: 1:                   Object - TABLE
    KUPW:09:39:40.007: 1:         8           Name - RESET_PARALLEL
    KUPW:09:39:40.007: 1:                    Value - TRUE
    KUPW:09:39:40.007: 1:                   Object - INDEX
    KUPW:09:39:40.007: 1:         9           Name - OID
    KUPW:09:39:40.007: 1:                    Value - TRUE
    KUPW:09:39:40.007: 1:                   Object - TYPE
    KUPW:09:39:40.007: 1:         10           Name - OID
    KUPW:09:39:40.007: 1:                    Value - TRUE
    KUPW:09:39:40.007: 1:                   Object - INC_TYPE
    KUPW:09:39:40.007: 1:         11           Name - REVOKE_FROM
    KUPW:09:39:40.008: 1:                    Value - SYSTEM
    KUPW:09:39:40.008: 1:                   Object - ROLE
    KUPW:09:39:40.008: 1: Data Filter        Index : 6    Count : 0
    KUPW:09:39:40.008: 1: Data Remap         Index : 7    Count : 0
    KUPW:09:39:40.008: 1: MD remap name      Index : 8    Count : 0
    KUPW:09:39:40.008: 1: In procedure DISPATCH_WORK_ITEMS
    KUPW:09:39:40.009: 1: In procedure SEND_MSG. Fatal=0
    KUPW:09:39:40.009: 1: KUPC$QUEUE.TRANSCEIVE called.
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    kwqberlst rqan->lascn_kwqiia > 0 block
    kwqberlst rqan->lascn_kwqiia  7
    kwqberlst ascn -90145310 lascn 22
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    KUPW:09:39:40.036: 1: KUPC$QUEUE.TRANSCEIVE returned. Received 2011
    KUPW:09:39:40.036: 1: DBMS_LOB.CREATETEMPORARY called.
    KUPW:09:39:40.037: 1: DBMS_LOB.CREATETEMPORARY returned.
    KUPW:09:39:40.038: 1: Flags: 18
    KUPW:09:39:40.038: 1: Start sequence number:
    KUPW:09:39:40.038: 1: End sequence number:
    KUPW:09:39:40.038: 1: Metadata Parallel: 1
    KUPW:09:39:40.038: 1: Primary worker id: 1
    KUPW:09:39:40.041: 1: In procedure GET_TABLE_DATA_OBJECTS
    KUPW:09:39:40.041: 1: In procedure CREATE_MSG
    KUPW:09:39:40.041: 1: KUPV$FT.MESSAGE_TEXT called.
    KUPW:09:39:40.041: 1: KUPV$FT.MESSAGE_TEXT returned.
    KUPW:09:39:40.041: 1: In procedure SEND_MSG. Fatal=0
    KUPW:09:39:40.041: 1: KUPC$QUEUE_INT.SEND called.
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    kwqberlst rqan->lascn_kwqiia > 0 block
    kwqberlst rqan->lascn_kwqiia  7
    kwqberlst ascn -90145310 lascn 22
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    KUPW:09:39:40.044: 1: KUPC$QUEUE_INT.SEND returned.
    KUPW:09:39:40.044: 1: Estimate in progress using BLOCKS method...
    KUPW:09:39:40.044: 1: In procedure UPDATE_TYPE_COMPLETION_ROW
    KUPW:09:39:40.044: 1: Old Seqno: 0 New Path: SCHEMA_EXPORT/TABLE/TABLE_DATA PO Num: -5 New Seqno: 62
    KUPW:09:39:40.046: 1: Created type completion for duplicate 62
    KUPW:09:39:40.046: 1: In procedure CREATE_MSG
    KUPW:09:39:40.046: 1: KUPV$FT.MESSAGE_TEXT called.
    KUPW:09:39:40.046: 1: KUPV$FT.MESSAGE_TEXT returned.
    KUPW:09:39:40.046: 1: In procedure SEND_MSG. Fatal=0
    KUPW:09:39:40.046: 1: KUPC$QUEUE_INT.SEND called.
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    kwqberlst rqan->lascn_kwqiia > 0 block
    kwqberlst rqan->lascn_kwqiia  7
    kwqberlst ascn -90145310 lascn 22
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    KUPW:09:39:40.047: 1: KUPC$QUEUE_INT.SEND returned.
    KUPW:09:39:40.047: 1: Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
    KUPW:09:39:40.048: 1: In procedure CONFIGURE_METADATA_UNLOAD
    KUPW:09:39:40.048: 1: Phase: ESTIMATE_PHASE Filter Name:  Filter Value:
    KUPW:09:39:40.048: 1: DBMS_METADATA.OPEN11.2.0.0.0 called.
    KUPW:09:39:40.182: 1: DBMS_METADATA.OPEN11.2.0.0.0 returned. Source handle: 100001
    KUPW:09:39:40.182: 1: DBMS_METADATA.SET_FILTER called. metadata_phase: ESTIMATE_PHASE
    KUPW:09:39:40.182: 1: DBMS_METADATA.SET_FILTER returned. In function GET_NOEXP_TABLE
    KUPW:09:39:40.194: 1: DBMS_METADATA.SET_PARSE_ITEM called.
    *** 2011-09-20 09:39:40.325
    KUPW:09:39:40.325: 1: DBMS_METADATA.SET_PARSE_ITEM returned.
    KUPW:09:39:40.325: 1: DBMS_METADATA.SET_COUNT called.
    KUPW:09:39:40.328: 1: DBMS_METADATA.SET_COUNT returned.
    KUPW:09:39:40.328: 1: DBMS_METADATA.FETCH_XML_CLOB called.
    *** 2011-09-20 09:39:42.603
    KUPW:09:39:42.603: 1: DBMS_METADATA.FETCH_XML_CLOB returned.
    KUPW:09:39:42.603: 1: In procedure CREATE_TABLE_DATA_OBJECT_ROWS
    KUPW:09:39:42.603: 1: In function GATHER_PARSE_ITEMS
    KUPW:09:39:42.603: 1: In function CHECK_FOR_REMAP_NETWORK
    KUPW:09:39:42.603: 1: Nothing to remap
    KUPW:09:39:42.603: 1: In procedure BUILD_OBJECT_STRINGS
    KUPW:09:39:42.604: 1: In procedure LOCATE_DATA_FILTERS
    KUPW:09:39:42.604: 1: In function NEXT_PO_NUMBER
    KUPW:09:39:42.620: 1: In procedure DETERMINE_METHOD_PARALLEL
    KUPW:09:39:42.620: 1: flags mask: 0
    KUPW:09:39:42.620: 1: dapi_possible_meth: 1
    KUPW:09:39:42.620: 1: data_size: 3019898880
    KUPW:09:39:42.620: 1: et_parallel: TRUE
    KUPW:09:39:42.620: 1: object: TABLE_DATA:"TIA"."ACC_PAYMENT_SPECIFICATION"                               <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    KUPW:09:39:42.648: 1: l_dapi_bit_mask: 7
    KUPW:09:39:42.648: 1: l_client_bit_mask: 7
    KUPW:09:39:42.648: 1: TABLE_DATA:"TIA"."ACC_PAYMENT_SPECIFICATION" either, parallel: 12               <<<<< Here is says either (I thought that was method ?)  <<<<<<<<<<<<<<<<
    KUPW:09:39:42.648: 1: FORALL BULK INSERT called.
    KUPW:09:39:42.658: 1: FORALL BULK INSERT returned.
    KUPW:09:39:42.660: 1: DBMS_LOB.TRIM called. v_md_xml_clob
    KUPW:09:39:42.660: 1: DBMS_LOB.TRIM returned.
    KUPW:09:39:42.660: 1: DBMS_METADATA.FETCH_XML_CLOB called.
    KUPW:09:39:42.678: 1: DBMS_METADATA.FETCH_XML_CLOB returned.
    KUPW:09:39:42.678: 1: DBMS_LOB.CREATETEMPORARY called.
    KUPW:09:39:42.678: 1: DBMS_LOB.CREATETEMPORARY returned.
    KUPW:09:39:42.678: 1: In procedure UPDATE_TD_ROW_EXP with seqno: 62
    KUPW:09:39:42.680: 1: 1 rows fetched
    KUPW:09:39:42.680: 1: In function NEXT_PO_NUMBER
    KUPW:09:39:42.680: 1: Next table data array entry: 1 Parallel: 12 Size: 3019898880 Method: 4Creation_level: 0               <<<<<<<<<<<<<<<<  HERE IT SAYS METHOD = 4  and PARALLEL=12 (I'm not using the parallel parameter ???)  <<<<<<<<<<<<<<<<<<
    KUPW:09:39:42.681: 1: In procedure UPDATE_TD_BASE_PO_INFO
    KUPW:09:39:42.683: 1: Updated 1 td objects with bpo between 1 and 1
    KUPW:09:39:42.684: 1: Send table_data_varray called.  Count: 1
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    kwqberlst rqan->lascn_kwqiia > 0 block
    kwqberlst rqan->lascn_kwqiia  7
    kwqberlst ascn -90145310 lascn 22
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    KUPW:09:39:42.695: 1: Send table_data_varray returned.
    KUPW:09:39:42.695: 1: In procedure SEND_MSG. Fatal=0
    KUPW:09:39:42.695: 1: In procedure UPDATE_TYPE_COMPLETION_ROW
    KUPW:09:39:42.695: 1: Old Seqno: 62 New Path:  PO Num: -5 New Seqno: 0
    KUPW:09:39:42.695: 1: Object count: 1
    KUPW:09:39:42.697: 1: 1 completed for 62
    KUPW:09:39:42.697: 1: DBMS_METADATA.CLOSE called. Handle: 100001
    KUPW:09:39:42.697: 1: DBMS_METADATA.CLOSE returned.
    KUPW:09:39:42.697: 1: In procedure CREATE_MSG
    KUPW:09:39:42.697: 1: KUPV$FT.MESSAGE_TEXT called.
    KUPW:09:39:42.698: 1: KUPV$FT.MESSAGE_TEXT returned.
    KUPW:09:39:42.698: 1: In procedure SEND_MSG. Fatal=0
    KUPW:09:39:42.698: 1: KUPC$QUEUE_INT.SEND called.
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    kwqberlst rqan->lascn_kwqiia > 0 block
    kwqberlst rqan->lascn_kwqiia  7
    kwqberlst ascn -90145310 lascn 22
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    KUPW:09:39:42.699: 1: KUPC$QUEUE_INT.SEND returned.
    KUPW:09:39:42.699: 1: Total estimation using BLOCKS method: 2.812 GB
    KUPW:09:39:42.699: 1: In procedure CONFIGURE_METADATA_UNLOAD
    KUPW:09:39:42.699: 1: Phase: WORK_PHASE Filter Name: BEGIN_WITH Filter Value:
    KUPW:09:39:42.699: 1: DBMS_METADATA.OPEN11.2.0.0.0 called.
    KUPW:09:39:42.837: 1: DBMS_METADATA.OPEN11.2.0.0.0 returned. Source handle: 200001
    KUPW:09:39:42.837: 1: DBMS_METADATA.SET_FILTER called. metadata_phase: WORK_PHASE
    KUPW:09:39:42.837: 1: DBMS_METADATA.SET_FILTER returned. In function GET_NOEXP_TABLE
    KUPW:09:39:42.847: 1: DBMS_METADATA.SET_PARSE_ITEM called.
    KUPW:09:39:42.964: 1: DBMS_METADATA.SET_PARSE_ITEM returned.
    KUPW:09:39:42.964: 1: DBMS_METADATA.SET_COUNT called.
    KUPW:09:39:42.967: 1: DBMS_METADATA.SET_COUNT returned.
    KUPW:09:39:42.967: 1: KUPF$FILE.OPEN_CONTEXT called.
    KUPW:09:39:42.967: 1: KUPF$FILE.OPEN_CONTEXT returned.
    KUPW:09:39:42.968: 1: DBMS_METADATA.FETCH_XML_CLOB called. Handle: 200001
    *** 2011-09-20 09:40:01.798
    KUPW:09:40:01.798: 1: DBMS_METADATA.FETCH_XML_CLOB returned.
    KUPW:09:40:01.798: 1: Object seqno fetched:
    KUPW:09:40:01.799: 1: Object path fetched:
    KUPW:09:40:01.799: 1: In procedure SEND_MSG. Fatal=0
    KUPW:09:40:01.799: 1: In procedure COMPLETE_EXP_OBJECT
    KUPW:09:40:01.799: 1: KUPF$FILE.FLUSH_LOB called.
    KUPW:09:40:01.815: 1: KUPF$FILE.FLUSH_LOB returned.
    KUPW:09:40:01.815: 1: In procedure UPDATE_TYPE_COMPLETION_ROW
    KUPW:09:40:01.815: 1: Old Seqno: 226 New Path:  PO Num: -5 New Seqno: 0
    KUPW:09:40:01.815: 1: Object count: 1
    KUPW:09:40:01.815: 1: 1 completed for 226
    KUPW:09:40:01.815: 1: DBMS_METADATA.CLOSE called.  Handle: 200001
    KUPW:09:40:01.816: 1: DBMS_METADATA.CLOSE returned.
    KUPW:09:40:01.816: 1: KUPF$FILE.CLOSE_CONTEXT called.
    KUPW:09:40:01.820: 1: KUPF$FILE.CLOSE_CONTEXT returned.
    KUPW:09:40:01.821: 1: In procedure SEND_MSG. Fatal=0
    KUPW:09:40:01.821: 1: KUPC$QUEUE.TRANSCEIVE called.
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    kwqberlst rqan->lascn_kwqiia > 0 block
    kwqberlst rqan->lascn_kwqiia  7
    kwqberlst ascn -90145310 lascn 22
    kwqberlst !retval block
    kwqberlst rqan->lagno_kwqiia  7
    KUPW:09:40:01.827: 1: KUPC$QUEUE.TRANSCEIVE returned. Received 2012
    KUPW:09:40:01.827: 1: DBMS_LOB.CREATETEMPORARY called.
    KUPW:09:40:01.828: 1: DBMS_LOB.CREATETEMPORARY returned.
    KUPW:09:40:01.828: 1: Process order range: 1..1
    KUPW:09:40:01.828: 1: Method: 1
    KUPW:09:40:01.828: 1: Parallel: 1
    KUPW:09:40:01.828: 1: Creation level: 0
    KUPW:09:40:01.830: 1: BULK COLLECT called.
    KUPW:09:40:01.830: 1: BULK COLLECT returned.
    KUPW:09:40:01.830: 1: In procedure BUILD_OBJECT_STRINGS
    KUPW:09:40:01.836: 1: In procedure MOVE_DATA UNLOADing process_order 1 TABLE_DATA:"TIA"."ACC_PAYMENT_SPECIFICATION"            <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    KUPW:09:40:01.839: 1: KUPD$DATA.OPEN called.
    KUPW:09:40:01.840: 1: KUPD$DATA.OPEN returned.
    KUPW:09:40:01.840: 1: KUPD$DATA.SET_PARAMETER - common called.
    KUPW:09:40:01.843: 1: KUPD$DATA.SET_PARAMETER - common returned.
    KUPW:09:40:01.843: 1: KUPD$DATA.SET_PARAMETER - flags called.
    KUPW:09:40:01.843: 1: KUPD$DATA.SET_PARAMETER - flags returned.
    KUPW:09:40:01.843: 1: KUPD$DATA.START_JOB called.
    KUPW:09:40:01.918: 1: KUPD$DATA.START_JOB returned. In procedure GET_JOB_VERSIONThis is how I called expdp:
    expdp system/xxxxxxxxx schemas=tia directory=expdp INCLUDE=TABLE:\" =\'ACC_PAYMENT_SPECIFICATION\'\" REUSE_DUMPFILES=Y LOGFILE=expdp:$LOGFILE TRACE=400300

    Hi there ...
    I have read the note - thats where I found the link to the trace note 286496.1 - on now to setup a trace
    But I still need an explanation for the methods (1,2,4 etc)
    regards
    Mette

  • Can't printing in front-end when implement LOCL access method 'G'

    We are implementing ECC5.0 and print Purchase Order in normal status.But in recent,user print PO by long printer name with some trouble.So we check the notes,and it recommand us to implement access method 'G'.It seems every thing is OK on front-end printing.Still not work for printing PO on front-end output immediate.If we choose short printer name and access method 'F',it work fine.But SAP will no longer develop method 'F'.Please advise it.

    SAP PO is using background printing. SAP frontend print doesn't support background printing.
    As per SAP Frontend document, You cannot perform front-end printing in the background, as there is not connection to the front end.
    For this, you need to configure network printer.
    Thanks,
    Miral.

  • What is the best malwear detection and protection for use on a Mac?

    What is the best malwear detection and protection for use on a Mac?

    Mac users often ask whether they should install "anti-virus" software. The answer usually given on ASC is "no." The answer is right, but it may give the wrong impression that there is no threat from what are loosely called "viruses." There  is a threat, and you need to educate yourself about it.
    1. This is a comment on what you should—and should not—do to protect yourself from malicious software ("malware") that circulates on the Internet and gets onto a computer as an unintended consequence of the user's actions. It does not apply to software, such as keystroke loggers, that may be installed deliberately by an intruder who has hands-on access to the computer, or who has been able to log in to it remotely. That threat is in a different category, and there's no easy way to defend against it.
    The comment is long because the issue is complex. The key points are in sections 5, 6, and 10.
    OS X now implements three layers of built-in protection specifically against malware, not counting runtime protections such as execute disable, sandboxing, system library randomization, and address space layout randomization that may also guard against other kinds of exploits.
    2. All versions of OS X since 10.6.7 have been able to detect known Mac malware in downloaded files, and to block insecure web plugins. This feature is transparent to the user. Internally Apple calls it "XProtect."
    The malware recognition database used by XProtect is automatically updated; however, you shouldn't rely on it, because the attackers are always at least a day ahead of the defenders.
    The following caveats apply to XProtect:
    ☞ It can be bypassed by some third-party networking software, such as BitTorrent clients and Java applets.
    ☞ It only applies to software downloaded from the network. Software installed from a CD or other media is not checked.
    As new versions of OS X are released, it's not clear whether Apple will indefinitely continue to maintain the XProtect database of older versions such as 10.6. The security of obsolete system versions may eventually be degraded. Security updates to the code of obsolete systems will stop being released at some point, and that may leave them open to other kinds of attack besides malware.
    3. Starting with OS X 10.7.5, there has been a second layer of built-in malware protection, designated "Gatekeeper" by Apple. By default, applications and Installer packages downloaded from the network will only run if they're digitally signed by a developer with a certificate issued by Apple. Software certified in this way hasn't necessarily been tested by Apple, but you can be reasonably sure that it hasn't been modified by anyone other than the developer. His identity is known to Apple, so he could be held legally responsible if he distributed malware. That may not mean much if the developer lives in a country with a weak legal system (see below.)
    Gatekeeper doesn't depend on a database of known malware. It has, however, the same limitations as XProtect, and in addition the following:
    ☞ It can easily be disabled or overridden by the user.
    ☞ A malware attacker could get control of a code-signing certificate under false pretenses, or could simply ignore the consequences of distributing codesigned malware.
    ☞ An App Store developer could find a way to bypass Apple's oversight, or the oversight could fail due to human error.
    Apple has so far failed to revoke the codesigning certificates of some known abusers, thereby diluting the value of Gatekeeper and the Developer ID program. These failures don't involve App Store products, however.
    For the reasons given, App Store products, and—to a lesser extent—other applications recognized by Gatekeeper as signed, are safer than others, but they can't be considered absolutely safe. "Sandboxed" applications may prompt for access to private data, such as your contacts, or for access to the network. Think before granting that access. Sandbox security is based on user input. Never click through any request for authorization without thinking.
    4. Starting with OS X 10.8.3, a third layer of protection has been added: a "Malware Removal Tool" (MRT). MRT runs automatically in the background when you update the OS. It checks for, and removes, malware that may have evaded the other protections via a Java exploit (see below.) MRT also runs when you install or update the Apple-supplied Java runtime (but not the Oracle runtime.) Like XProtect, MRT is effective against known threats, but not against unknown ones. It notifies you if it finds malware, but otherwise there's no user interface to MRT.
    5. The built-in security features of OS X reduce the risk of malware attack, but they are not, and never will be, complete protection. Malware is foremost a problem of human behavior, and no technological fix alone is going to solve it. Trusting software to protect you will only make you more vulnerable.
    The best defense is always going to be your own intelligence. With the possible exception of Java exploits, all known malware circulating on the Internet that affects a fully-updated installation of OS X 10.6 or later takes the form of so-called "Trojan horses," which can only have an effect if the victim is duped into running them. The threat therefore amounts to a battle of wits between you and Internet criminals. If you're better informed than they think you are, you'll win. That means, in practice, that you always stay within a safe harbor of computing practices. How do you know when you're leaving the safe harbor? Below are some warning signs of danger.
    Software from an untrustworthy source
    ☞ Software of any kind is distributed via BitTorrent, or Usenet, or on a website that also distributes pirated music or movies.
    ☞ Software with a corporate brand, such as Adobe Flash Player, doesn't come directly from the developer’s website. Do not trust an alert from any website to update Flash, or your browser, or any other software.
    ☞ Rogue websites such as Softonic, Soft32, and CNET Download distribute free applications that have been packaged in a superfluous "installer."
    ☞ The software is advertised by means of spam or intrusive web ads. Any ad, on any site, that includes a direct link to a download should be ignored.
    Software that is plainly illegal or does something illegal
    ☞ High-priced commercial software such as Photoshop is "cracked" or "free."
    ☞ An application helps you to infringe copyright, for instance by circumventing the copy protection on commercial software, or saving streamed media for reuse without permission. All "YouTube downloaders" are in this category, though not all are necessarily malicious.
    Conditional or unsolicited offers from strangers
    ☞ A telephone caller or a web page tells you that you have a “virus” and offers to help you remove it. (Some reputable websites did legitimately warn visitors who were infected with the "DNSChanger" malware. That exception to this rule no longer applies.)
    ☞ A web site offers free content such as video or music, but to use it you must install a “codec,” “plug-in,” "player," "downloader," "extractor," or “certificate” that comes from that same site, or an unknown one.
    ☞ You win a prize in a contest you never entered.
    ☞ Someone on a message board such as this one is eager to help you, but only if you download an application of his choosing.
    ☞ A "FREE WI-FI !!!" network advertises itself in a public place such as an airport, but is not provided by the management.
    ☞ Anything online that you would expect to pay for is "free."
    Unexpected events
    ☞ A file is downloaded automatically when you visit a web page, with no other action on your part. Delete any such file without opening it.
    ☞ You open what you think is a document and get an alert that it's "an application downloaded from the Internet." Click Cancel and delete the file. Even if you don't get the alert, you should still delete any file that isn't what you expected it to be.
    ☞ An application does something you don't expect, such as asking for permission to access your contacts, your location, or the Internet for no obvious reason.
    ☞ Software is attached to email that you didn't request, even if it comes (or seems to come) from someone you trust.
    I don't say that leaving the safe harbor just once will necessarily result in disaster, but making a habit of it will weaken your defenses against malware attack. Any of the above scenarios should, at the very least, make you uncomfortable.
    6. Java on the Web (not to be confused with JavaScript, to which it's not related, despite the similarity of the names) is a weak point in the security of any system. Java is, among other things, a platform for running complex applications in a web page, on the client. That was always a bad idea, and Java's developers have proven themselves incapable of implementing it without also creating a portal for malware to enter. Past Java exploits are the closest thing there has ever been to a Windows-style virus affecting OS X. Merely loading a page with malicious Java content could be harmful.
    Fortunately, client-side Java on the Web is obsolete and mostly extinct. Only a few outmoded sites still use it. Try to hasten the process of extinction by avoiding those sites, if you have a choice. Forget about playing games or other non-essential uses of Java.
    Java is not included in OS X 10.7 and later. Discrete Java installers are distributed by Apple and by Oracle (the developer of Java.) Don't use either one unless you need it. Most people don't. If Java is installed, disable it—not JavaScript—in your browsers.
    Regardless of version, experience has shown that Java on the Web can't be trusted. If you must use a Java applet for a task on a specific site, enable Java only for that site in Safari. Never enable Java for a public website that carries third-party advertising. Use it only on well-known, login-protected, secure websites without ads. In Safari 6 or later, you'll see a lock icon in the left side of the address bar when visiting a secure site.
    Stay within the safe harbor, and you’ll be as safe from malware as you can practically be. The rest of this comment concerns what you should not do to protect yourself.
    7. Never install any commercial "anti-virus" (AV) or "Internet security" products for the Mac, as they are all worse than useless. If you need to be able to detect Windows malware in your files, use one of the free security apps in the Mac App Store—nothing else.
    Why shouldn't you use commercial AV products?
    ☞ To recognize malware, the software depends on a database of known threats, which is always at least a day out of date. This technique is a proven failure, as a major AV software vendor has admitted. Most attacks are "zero-day"—that is, previously unknown. Recognition-based AV does not defend against such attacks, and the enterprise IT industry is coming to the realization that traditional AV software is worthless.
    ☞ Its design is predicated on the nonexistent threat that malware may be injected at any time, anywhere in the file system. Malware is downloaded from the network; it doesn't materialize from nowhere. In order to meet that nonexistent threat, commercial AV software modifies or duplicates low-level functions of the operating system, which is a waste of resources and a common cause of instability, bugs, and poor performance.
    ☞ By modifying the operating system, the software may also create weaknesses that could be exploited by malware attackers.
    ☞ Most importantly, a false sense of security is dangerous.
    8. An AV product from the App Store, such as "ClamXav," has the same drawback as the commercial suites of being always out of date, but it does not inject low-level code into the operating system. That doesn't mean it's entirely harmless. It may report email messages that have "phishing" links in the body, or Windows malware in attachments, as infected files, and offer to delete or move them. Doing so will corrupt the Mail database. The messages should be deleted from within the Mail application.
    An AV app is not needed, and cannot be relied upon, for protection against OS X malware. It's useful, if at all, only for detecting Windows malware, and even for that use it's not really effective, because new Windows malware is emerging much faster than OS X malware.
    Windows malware can't harm you directly (unless, of course, you use Windows.) Just don't pass it on to anyone else. A malicious attachment in email is usually easy to recognize by the name alone. An actual example:
    London Terror Moovie.avi [124 spaces] Checked By Norton Antivirus.exe
    You don't need software to tell you that's a Windows trojan. Software may be able to tell you which trojan it is, but who cares? In practice, there's no reason to use recognition software unless an organizational policy requires it. Windows malware is so widespread that you should assume it's in every email attachment until proven otherwise. Nevertheless, ClamXav or a similar product from the App Store may serve a purpose if it satisfies an ill-informed network administrator who says you must run some kind of AV application. It's free and it won't handicap the system.
    The ClamXav developer won't try to "upsell" you to a paid version of the product. Other developers may do that. Don't be upsold. For one thing, you should not pay to protect Windows users from the consequences of their choice of computing platform. For another, a paid upgrade from a free app will probably have all the disadvantages mentioned in section 7.
    9. It seems to be a common belief that the built-in Application Firewall acts as a barrier to infection, or prevents malware from functioning. It does neither. It blocks inbound connections to certain network services you're running, such as file sharing. It's disabled by default and you should leave it that way if you're behind a router on a private home or office network. Activate it only when you're on an untrusted network, for instance a public Wi-Fi hotspot, where you don't want to provide services. Disable any services you don't use in the Sharing preference pane. All are disabled by default.
    10. As a Mac user, you don't have to live in fear that your computer may be infected every time you install software, read email, or visit a web page. But neither can you assume that you will always be safe from exploitation, no matter what you do. Navigating the Internet is like walking the streets of a big city. It's as safe or as dangerous as you choose to make it. The greatest harm done by security software is precisely its selling point: it makes people feel safe. They may then feel safe enough to take risks from which the software doesn't protect them. Nothing can lessen the need for safe computing practices.

  • APEX database sizing methods and spreadsheets

    APEX database sizing methods and spreadsheets

    Yes I asking how much space the APEX 3.2 framework requires as well as yes to how much space to allocate for your particular application that happens to be implemented in APEX. I have 1 word form that contains 10 fields that are filled in by users currenlty now. So far, I have 50 of these completed (same form) and would like to create an APEX application supported by a database that can initially contain this data in one table once migrated and be able to hold more of this data as the new online system is used. Therefore, are any sizing methods, for example, function points or excel macros, etc...that can be used to predict potential database sizes needed based on an increase in data volume.
    I ask this because currently APEX 3.2 uses Oracle Database Express Edition (XE). Oracle Database XE can address only 1GB of RAM. This limitation mainly affects how many users can access the database concurrently and how well it perform but APEX can run against a full 10g or 11g install of Database as well as XE, and you can upgrade rather nicely from XE to full DB if your needs demand

Maybe you are looking for

  • Adding Labour charge to an open Production order

    Hi, How do I add a labour charge (for time spent on the job) to an open production order created in CO01?

  • IWeb crashes every time I try to publish a site

    As the title states, iWeb crashes every time I hit the publish button. It worked fine for a long time, but now I am unable to publish anything to mobile me. iWeb 09 / 10.6.1 / Mac Mini (Intel Core 2 Duo)

  • Animate transform of sequence and adjustment layer

    New to AE - trying to use it to rescue some time lapse footage taken in very dusty conditions. Lots of sensor dust So far Exported sequence as tiff's from LR Imported as tiff sequence in AE Created "New comp from selection" Set the comp to 1080p24 On

  • Photoshop CC dejó de funcionar

    Hola a Todos, les escribo porque estoy teniendo un problema con Photoshop CC cuando intento guardar un archivo me arroja el error "Photoshop CC dejó de funcionar" y automaticamente me lo cierra. Lo estoy ejecutando en windows 7 64 bits y he probado e

  • Siebel 7.7 templates problem.

    Hi, We're using Siebel 7.7 in our company and have an issue that it's quite strange in my opinion. Randomly from time to time several templates just disappear from the Body dropdown list when trying to send an email. Being in the correct view (not st