House keeping

Super quick, potentially stupid, question !
I'm a long term apple user on a G4 running OS 9 and OSX 10.3.9 and I'm about to buy one of the new iMac's.
So my question is, do the same house keeping rules applicable to OSX 10.3.9, i.e. repairng permissions after a software install or upgrade and utilising an app like Macjanitor to run the out of hours cron jobs, apply to Leopard ?
Does Leopard require any specific, additional, housekeeping jobs of it's own ?
Actually, that's two questions...sorry but many thanks for any info.
Nick

No, it seems you know the maintenance to keep Mac's healthy. The same procedures apply. Run permissions, disk repair, clean caches...etc.
Just keep doing what you have been and your Mac will last as long as the last one.
52 tips for a healthy Mac is a good article, google for it.
Ray

Similar Messages

  • House-keeping:  When was it last used ...

    Hi Everyone,
    I am doing "house-keeping" on my tables and wondered if there is a way to see when data in a particular table was last inserted or updated?
    Ideally, I would like to list all tables with their size (this I can already get) and the last editing date.
    If I could do this, then I could identify all "big, old tables" and DROP them.
    Thanks very much for any tips that you can give me.
    Regards,
    Alan Searle

    Please read the following
    You can do it using dba_tab_modifications.
    But read before,
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1590655700346557237
    Last DML in Table
    G.

  • When carrying out some house keeping on my bookmarks, every time I delete or move or add a folder I get the beach ball showing and a very delayed response where everything freezes. Any ideas

    When carrying out some house keeping on my bookmarks, every time I delete or move one or add a folder I get the beach ball showing and a very delayed response where everything freezes. Any ideas?

    If you're synchronizing Safari with iCloud, disable that temporarily and see whether there's an improvement.

  • House Keeping with a MacBook Air

    This is the first Mac I've ever owned and I'm loving it. I bought a 13in. MacBook Air about two weeks ago. Are there regular maintenance check-ups that I need to do regarding my laptop? Do I need to defrag or do things similar to that to keep the computer running smoothly?

    How to maintain a Mac
    1. Make redundant backups, keeping at least one off site at all times. One backup is not enough. Don’t back up your backups; make them independent of each other. Don’t rely completely on any single backup method, such as Time Machine. If you get an indication that a backup has failed, don't ignore it.
    2. Keep your software up to date. In the Software Update preference pane, you can configure automatic notifications of updates to OS X and other Mac App Store products. Some third-party applications from other sources have a similar feature, if you don’t mind letting them phone home. Otherwise you have to check yourself on a regular basis. This is especially important for complex software that modifies the operating system, such as device drivers. Before installing any Apple update, you must check that all such modifications that you use are compatible.
    3. Don't install crapware, such as “themes,” "haxies," “add-ons,” “toolbars,” “enhancers," “optimizers,” “accelerators,” “extenders,” “cleaners,” "tune-ups," “defragmenters,” “firewalls,” "barriers," “guardians,” “defenders,” “protectors,” most “plugins,” commercial "virus scanners,” "disk tools," or "utilities." With very few exceptions, this stuff is useless, or worse than useless.
    The more actively promoted the product, the more likely it is to be garbage. The most extreme example is the “MacKeeper” scam.
    As a rule, the only software you should install is that which directly enables you to do the things you use a computer for — such as creating, communicating, and playing — and does not modify the way other software works. Use your computer; don't fuss with it.
    Never install any third-party software unless you know how to uninstall it. Otherwise you may create problems that are very hard to solve.
    The free anti-malware application ClamXav is not crap, and although it’s not routinely needed, it may be useful in some environments, such as a mixed Mac-Windows enterprise network.
    4. Beware of trojans. A trojan is malicious software (“malware”) that the user is duped into installing voluntarily. Such attacks were rare on the Mac platform until sometime in 2011, but are now increasingly common, and increasingly dangerous.
    There is some built-in protection against downloading malware, but you can’t rely on it — the attackers are always at least one day ahead of the defense. You can’t rely on third-party protection either. What you can rely on is common-sense awareness — not paranoia, which only makes you more vulnerable.
    Never install software from an untrustworthy or unknown source. If in doubt, do some research. Any website that prompts you to install a “codec” or “plugin” that comes from the same site, or an unknown site, is untrustworthy. Software with a corporate brand, such as Adobe Flash Player, must be acquired directly from the developer. No intermediary is acceptable, and don’t trust links unless you know how to parse them. Any file that is automatically downloaded from a web page without your having requested it should go straight into the Trash. A website that claims you have a “virus,” or that anything else is wrong with your computer, is rogue.
    In OS X 10.7.5 or later, downloaded applications and Installer packages that have not been digitally signed by a developer registered with Apple are blocked from loading by default. The block can be overridden, but think carefully before you do so.
    Because of recurring security issues in Java, it’s best to disable it in your web browsers, if it’s installed. Few websites have Java content nowadays, so you won’t be missing much. This action is mandatory if you’re running any version of OS X older than 10.6.8 with the latest Java update. Note: Java has nothing to do with JavaScript, despite the similar names. Don't install Java unless you're sure you need it. Most users don't.
    5. Don't fill up your boot volume. A common mistake is adding more and more large files to your home folder until you start to get warnings that you're out of space, which may be followed in short order by a boot failure. This is more prone to happen on the newer Macs that come with an internal SSD instead of the traditional hard drive. The drive can be very nearly full before you become aware of the problem. While it's not true that you should or must keep any particular percentage of space free, you should monitor your storage consumption and make sure you're not in immediate danger of using it up. According to Apple documentation, you need at least 9 GB of free space on the startup volume for normal operation.
    If storage space is running low, use a tool such as the free application OmniDiskSweeper to explore your volume and find out what's taking up the most space. Move rarely-used large files to secondary storage.
    6. Relax, don’t do it. Besides the above, no routine maintenance is necessary or beneficial for the vast majority of users; specifically not “cleaning caches,” “zapping the PRAM,” "resetting the SMC," “rebuilding the directory,” "defragmenting the drive," “running periodic scripts,” “dumping log files,” “scanning for viruses,” "purging memory," or “repairing permissions.” Such measures are either completely pointless or are useful only for solving problems, not for prevention.
    The very height of futility is running an expensive third-party application called “Disk Warrior” when nothing is wrong, or even when something is wrong and you have backups, which you must have. Disk Warrior is a data-salvage tool, not a maintenance tool, and you will never need it if your backups are adequate. Don’t waste money on it or anything like it.

  • What are diffrent house keeping jobs??

    Dear Guru's,
    One of the important activity of DBA is space management on the database server.
    Ex :- Maintaing only latest Week of Export backup and removing older export backups.
    What are the standard rules for maintaing the diffrent log files ,i.e. Alert log files and Listener.log files ?
    Edited by: user12000301 on Sep 6, 2011 3:09 AM
    Edited by: user12000301 on Sep 6, 2011 3:09 AM

    >
    Dear Guru's,
    One of the important activity of DBA is space management on the database server.
    Ex :- Maintaing only latest Week of Export backup and removing older export backups.
    What are the standard rules for maintaing the diffrent log files ,i.e. Alert log files and Listener.log files ?
    >
    Alert log: I rotate my alert logs every month. Move it to a different file name
    Listener log : I create a new one every couple of months or when it reaches a gig. I remember that in older Linux, Listener will hang when the log size reaches 2 GB (not because of ulimit resource but even otherwise)
    Trace files : I archive them along with the trace files and delete them after 3 months
    Space : Have a script to check the Oracle Home, background dump, user dump etc directories and make sure there's always good amount of space left.
    Export must not be considered as a backup. It may be "thought" of as a supplementary to the regular backups (RMAN) but not on its own. Yes, keep three days at least (to cover weekend and bacnk holidays) before you delete them from disk. Or move them to tapes.
    Again, it all differs from one shop to another and also from one DBA to another.

  • Help with House keeping Archivelog files....!!

    Hi,
    I am trying to develop a script for housekeeping archive log files. The archives are written to a local disk, then moved to a different location, before being backed up to a tape. The purpose of the script is to identify and move the archive logs to a different location.
    Following is the code for the script:
    ORACLE_SID=BSCSDEV1
    ORACLE_BASE=/oracle/app/oracle
    ORACLE_HOME=/oracle/app/oracle/product/10.1.0/db_1
    PATH=$ORACLE_BASE:$ORACLE_HOME:$PATH
    ARCHDIR1=/oracle/oradata/BSCSDEV1/arch1
    ARCHDIR2=/oracle/oradata/BSCSDEV1/arch2
    rm -f archout.txt
    export ORACLE_SID ORACLE_BASE ORACLE_HOME PATH
    $ORACLE_HOME/bin/sqlplus -S '/ as sysdba'<<END
    @archquery.sql
    exit
    END
    while read line
    do
    dir=`dirname $line`
    file=`basename $line`
    if [ $dir = $ARCHDIR1 ]; then
    if [ -f $line ]; then
    echo "$file : matched"
    mv $line $HOME/movedfiles/$file
    fi
    elif [ $dir = $ARCHDIR2 ]; then
    if [ -f $line ]; then
    echo "$file : matched"
    mv $line $HOME/movedfiles/$file
    fi
    else
    echo "No Files to Move......"
    fi
    done < $HOME/archout.txt
    ARCHQUERY.SQL:
    set linesize 75
    set verify on
    set feedback off
    set heading on
    set termout off
    set serveroutput on
    set pagesize 999
    spool archout.txt
    select name,completion_time
    from v$archived_log
    where to_char(completion_time,'DD-MON-YY HH24:MI')<=(select to_char(sysdate - (30/1440),'DD-MON-YY HH24:MI') from dual)
    and
    to_char(completion_time,'DD-MON-YY HH24:MI')<=(select to_char(sysdate,'DD-MON-YY HH24:MI') from dual)
    and
    to_char(completion_time,'DD-MON')=(select to_char(sysdate,'DD-MON') from dual)
    and
    archived='YES';
    spool off
    My Logic:
    I am trying to identify the archive files generated every 30 minutes from v$archived_logs. For this, I am using the COMPLETED_TIME column and am comparing the same with SYSDATE.
    These files, I am comparing with the files in the archive destination and then am moving them to a different location.
    My problem:
    When I test the query, it lists out even those outside the timerange. Also, files that are shown as completed in the ARCHIVED columns and are physically present are not identified for at least 45 minutes.
    Could one of you please go through the scripts and tell me where I am going wrong?
    Any tips in this regard is deeply appreciated.
    Thanking You all in advance,
    Sriraman.

    Hi,
    Thanks for your reply.
    In my production setup, the client's techspecs insist on setting up only 1 archival destination. I did suggest the usage of a second destination, but they do not want it. They did not give me any concrete reason for this. So I have no option but to do this.
    It is therefore necessary that we move only those archive files that have been completed and not files being currently used.
    That is the reason for this script.
    Could you please have a look at it and tell me if I am missing something here?
    Regards,
    Sriraman

  • Is this a good idea for house keeping? (re: render files)

    I have half a dozen or so projects that I am all finished with, and want to make some disc space.
    I am thinking a good way to make some is to delete all render files for a project, then open i and just re-render all so only actual files used in the timeline take up space.
    Is there any reason why this isn't a good idea?
    cheers
    hugh

    Not that I can think of.
    Shane

  • Software Update Service house cleaning

    What controls house cleaning for the Software Update Service? If I ask it to stop mirroring updates that have long since been applied, the files still hide in /usr/share/swupd/.
    Deselecting the mirroring of an update doesn't help.
    The normal house keeping tasks don't seem to clear it out.
    I could just navigate to the directory and delete by hand, but that just doesn't seem The MacWay™...

    This is probably because you had it set to copy everything automatically in the first place and then you switched that option off. We run into the same problem and, unfortunately, you just have to bear the huge download of the last 4 years worth of Apple updates... Once that has been downloaded SUS will obey new settings. You may need to manually enable the updates if you changed that setting since the download started.
    Mind it, since you would have everything there anyway there would be less of an issue leaving on the automatic download option...

  • How to keep short dumps for a longer time

    Hi All,
    I need to write a program to fetch all the below mentioned fields from the system dump tables and insert into a user defind table. Please help me with the code. Thanks in advance....
    PROBLEM DESCRIPTION
    ABAP runtime errors (also known as short-dumps) are kept in the system only for two days, mainly because every short-dump can use a lot of disk space depending on short-dump type. Problem is that this reduced time frame (two days) is not allowing us to focus in solve the more frequent ones and we do not have any statistic about:
        how many are we getting
        how often
        repetitive ones
    PROPOSED SOLUTION
    We need a program to be executed in a daily job right after midnight which will take the basic information of all today’s short-dumps and store it in a custom table.
    Information to be kept:
          DATE
          TIME
          HOST
          USER
          SYSTEM
          CLIENT
          ERROR ID
          TRANSACTION
          PROGRAM NAME
          PROGRAM NAME VERSION (TRANSPORT REQUEST NUMBER)
          PROGRAM NAME VERSION TIMESTAMP (transported to PPx)
          SCREEN
          SCREEN LINE
          MAIN PROGRAM NAME
          MAIN PROGRAM NAME VERSION (TRANSPORT REQUEST NUMBER)
          MAIN PROGRAM NAME VERSION TIMESTAMP (transported to PPx)
          PROGRAM LINE NUMBER AT TERMINATION
          SAP RELEASE
          SAP KERNEL
          PATCH LEVEL
          DATABASE VERSION
    The program must have archiving capabilities implemented. In the month end run it will also perform the table house-keeping accordingly with a parameter like this:
         ERROR-ID
         MONTHS TO KEEP
    We need to have the possibility of defining different retention periods for different kind of errors, for example our friend GETWA_TOO_MANY_SEGMENT could be stored for a year and a simple CONVT_NO_NUMBER only for a month. One of the parameters should be the default one, something like 
            ERROR-ID **************
            MONTHS TO KEEP 01.

    Aruna,
    Following may be the action points for your requirements.
    1. Create Custom table with all fields you required.
    2. Create ABAP program to extract the data from SAP standard table where runtime error information is stored.
    Like: select * from snap_beg into wa_snap_beg
              where seqno = '000'
              and   datum in s_datum
              and   uzeit in s_uzeit
              and   ahost in s_ahost
              and   uname in s_uname
              and   mandt in s_mandt.......
    So SNAP_BEG is a table where you can find dump information.
    After extracting the data from this table insert it into a Custom table which you have created in Step 1.
    Use INSERT statement for this.
    3. Create transaction for this report.
    4. Schedule this program every day so that you will get all data into custom table.
    I hope this will help you.
    Regards,
    Amey

  • What do you use to keep your mac fast

    I just want to know what you use to keep your mac clean and fast. What apps do you reccomend?

    AlecJ wrote:
    I just want to know what you use to keep your mac clean and fast. What apps do you reccomend?
    You have  DiskUtility to run periodicly for your basic good house keeping.  As for as fast I would recommend 8GB of RAM.
    I would recommend Installing AppleJack -
    "a user friendly troubleshooting assistant for Mac OS X. With AppleJack you can troubleshoot a computer even if you can`t load the GUI, or don`t have a startup CD handy. AppleJack runs in  Single User Mode and is menu-based for ease of use."

  • Delete File From Mounted Volume

    Hey,
    I am trying to delete the "Calendar Cache" files on both my laptop PowerBook G4 and the Mac Pro Quad that I sync my calendars with. I am using ChronoSync and the individual calendars sync fine, but there is a little house keeping needed with the cache file. They need to be deleted on both systems in order to "refresh" the views of the calendars.
    So after the sync of calendars, I have the software initiating an AppleScript that deletes both. Here's the script:
    +(* PowerBook Files / delete cache file *)+
    +(* Please note that both systems have the same username. This may be arise a conflict *)+
    +tell application "Finder"+
    + activate+
    + tell application "Finder" to delete file "Calendar Cache" of folder "Calendars" of folder "Library" of disk "useranthony"+
    +end tell+
    +(* Mac Pro Quad/ delete cache file *)+
    +tell application "Finder"+
    + mount volume "afp://10.10.10.1/anthonyabraira"+
    + tell application "Finder" to delete file "Calendar Cache" of folder "Calendars" of folder "Library" of disk "/volumes/useranthony"+
    +end tell+
    I am having trouble addressing a deletion on the networked Mac Pro Quad.

    why send it to the trash — just delete it...
    (* PowerBook Files / delete cache file )
    try
            do shell script "rm -rf /Library/Calendars/Calendar\\ Cache"
    end try
    you may need a delay for the Mac Pro Quad to mount
    ( Mac Pro Quad/ delete cache file *)
    --the mount and then the delay
    delay 4
    try
            do shell script "rm -rf /THE-CORRECT/PATH-HERE/Library/Calendars/Calendar\\ Cache"
    end try
    Tom

  • Connection pool for ldap

    Hi
    My application is an interface to ldap directory. I have not used any ldap open source api to retrieve data from ldap. I have written connection pool that will help the application to connect to the ldap. It's working fine, but it's creating threads which are not invited.
    ConnectionPool class takes care of the connection storage and creation, while Housekeeping thread relases these connection when idle after a given time.
    Can someone please help in finding the problem in the code that creates additional threads.
    package com.ba.cdLookup.manager;
    import com.ba.cdLookup.exception.CDLookupException;
    import com.ba.cdLookup.server.CdLookupProperties;
    import java.util.Vector;
    import javax.naming.Context;
    import javax.naming.NamingException;
    public class HouseKeeperThread extends Thread {
             * Apache Logger to log erro/info/debug statements.
        protected static org.apache.commons.logging.Log log = org.apache.axis.components.logger.LogFactory
             .getLog(HouseKeeperThread.class.getName());
        private static HouseKeeperThread houseKeeperThread;
             * Close all connections existing.
             * @param connections
             *                void
        private void closeConnections(Vector connections) {
         String methodIdentifier = "closeConnections";
         int numOfConn = connections.size();
         try {
             for (int i = 0; i < numOfConn; i++) {
              Context context = (Context) connections.get(i);
              if (context != null) {
                  context.close();
                  context = null;
                  connections.remove(i);
                  numOfConn--;
                  log.info(" connection name:" + context
                       + " removed. Threadcount =" + (connections.size()));
         } catch (NamingException e) {
             String errMsg = "CDLdapBuilder connect() - failure while releasing connection "
                  + " Exception is " + e.toString();
             log.error(errMsg);
         } catch (Exception e) {
             String errMsg = "CDLdapBuilder connect() - failure while releasing connection "
                  + " Exception is " + e.toString();
             log.error(errMsg);
             * Thread run method
        public void run() {
         String methodIdentifier = "run";
         try {
             while(true){
              log.debug("house keeping :" + this + " ---sleep");
              //sleep(100000);
              log.debug("house keeping :" + this + " startd after sleep");
               sleep(CdLookupProperties.getHouseKeepConnectionTime());
              ConnectionPool connectionPool = ConnectionPool
                   .getConnectionPool();
              Vector connList = connectionPool.getAvailableConnections();
              closeConnections(connList);
         } catch (CDLookupException cde) {
             log.error(methodIdentifier + " " + cde.getStackTrace());
         } catch (InterruptedException ie) {
             log.error(methodIdentifier + " " + ie.getStackTrace());
         * @param connectionPool
         * @return
         * Thread
        public static Thread getInstance() {
         if(houseKeeperThread==null){
             houseKeeperThread = new HouseKeeperThread();
         return houseKeeperThread ;
    package com.ba.cdLookup.manager;
    import com.ba.cdLookup.exception.CDLookupException;
    import com.ba.cdLookup.server.CdLookupProperties;
    import com.ba.cdwebservice.schema.cdLookupPacket.LookupFailureReasons;
    import java.util.Properties;
    import java.util.Vector;
    import javax.naming.Context;
    import javax.naming.NamingException;
    import javax.naming.directory.DirContext;
    import javax.naming.directory.InitialDirContext;
    * ConnectionPool class manages, allocates LDAP connections. It works as a lazy
    * binder and retrieves connections only when required. It doesn't allow
    * connection greater then the maximum connection stated.
    * To retrieve a connection the singelton method getConnectionPool is to used,
    * which retruns thread safe singleton object for the connection.
    public class ConnectionPool implements Runnable {
        private int initialConnections = 0;
        private int maxConnections = 0;
        private boolean waitIfBusy = false;
        private Vector availableConnections, busyConnections;
        private boolean connectionPending = false;
        private static int threadCount = 0;
             * classIdentifier
        private final String classIdentifier = "ConnectionPool";
             * Apache Logger to log erro/info/debug statements.
        protected static org.apache.commons.logging.Log log = org.apache.axis.components.logger.LogFactory
             .getLog(CDLdapBuilder.class.getName());
             * To get the attribute a systemaccessfor out of the search result
        private String vendorContextFactoryClass = "com.sun.jndi.ldap.LdapCtxFactory";// "com.ibm.jndi.LDAPCtxFactory";
             * context factory to use
        private String ldapServerUrl = "LDAP://test.ldap.com"; // default ldap
             * server live used by default
        private String searchBase;
             * environment properties.
        private Properties env;
             * DirContext
        private javax.naming.directory.DirContext ctx;
             * default search base to be used in Corporate Directory searches
        private String defaultSearchBase = "dc=Pathway";
             * search criteria
        private String searchAttributes;
             * search filter to retrieve data from CD
        private String searchFilter;
             * CorporateDirectoryLookup Constructor
             * <p>
             * loads the setup parameters from the properties file and stores them
             * Makes a connection to the directory and sets default search base
             * @throws CDLookupException
             * @throws CDLookupException
        private ConnectionPool() throws CDLookupException {
         this.maxConnections = CdLookupProperties.getMaxConnection();// maxConnections;
         this.initialConnections = CdLookupProperties.getInitialConnection();
         this.waitIfBusy = CdLookupProperties.isWaitIfBusy();
         this.searchBase = CdLookupProperties.getDefaultSearchBase();
         //for local env testing
    //      this.maxConnections = 5;
    //      this.initialConnections = 1;
    //      this.waitIfBusy = true;
             * For keeping no of connections in the connection pool if
             * (initialConnections > maxConnections) { initialConnections =
             * maxConnections; }
         availableConnections = new Vector(maxConnections);
         busyConnections = new Vector(maxConnections);
         for (int i = 0; i < maxConnections; i++) {
             availableConnections.add(makeNewConnection());
             *  ConnectionPoolHolder provide Thread safe singleton
             *         instance of ConnectionPool class
        private static class ConnectionPoolHolder {
             * connection pool instance
         private static ConnectionPool connectionPool = null;
             * If no ConnectionPool object is present, it creates instance of
             * ConnectionPool class and initiates thread on that.
             * @return ConnectionPool Returns singleton object of ConnectionPool
             *         class.
             * @throws CDLookupException
         private static ConnectionPool getInstance() throws CDLookupException {
             if (connectionPool == null) {
              connectionPool = new ConnectionPool();
              new Thread(connectionPool).start();
              // Initiate house keeping thread.
              HouseKeeperThread.getInstance().start();
             return connectionPool;
             * Returns singleton object of ConnectionPool class.
             * @return ConnectionPool
             * @throws CDLookupException
        public static ConnectionPool getConnectionPool() throws CDLookupException {
         return ConnectionPoolHolder.getInstance();
             * getConnection retrieves connections to the corp directory. In case
             * there is no available connections in the pool then it'll try to
             * create one, if the max connection limit for the connection pool
             * reaches then this waits to retrieve one.
             * @return Context
             * @throws CDLookupException
        public synchronized Context getConnection() throws CDLookupException {
         String methodIdentifier = "getConnection";
         if (!availableConnections.isEmpty()) {
             int connectionSize = availableConnections.size() - 1;
             DirContext existingConnection = (DirContext) availableConnections
                  .get(connectionSize);
             availableConnections.remove(connectionSize);
                     * If connection on available list is closed (e.g., it timed
                     * out), then remove it from available list and repeat the
                     * process of obtaining a connection. Also wake up threads that
                     * were waiting for a connection because maxConnection limit was
                     * reached.
             if (existingConnection == null) {
              notifyAll(); // Freed up a spot for anybody waiting
              return (getConnection());
             } else {
              busyConnections.add(existingConnection);
              return (existingConnection);
         } else {
                     * Three possible cases: 1) You haven't reached maxConnections
                     * limit. So establish one in the background if there isn't
                     * already one pending, then wait for the next available
                     * connection (whether or not it was the newly established one).
                     * 2) You reached maxConnections limit and waitIfBusy flag is
                     * false. Throw SQLException in such a case. 3) You reached
                     * maxConnections limit and waitIfBusy flag is true. Then do the
                     * same thing as in second part of step 1: wait for next
                     * available connection.
             if ((totalConnections() < maxConnections) && !connectionPending) {
              makeBackgroundConnection();
             } else if (!waitIfBusy) {
              throw new CDLookupException("Connection limit reached", 0);
                     * Wait for either a new connection to be established (if you
                     * called makeBackgroundConnection) or for an existing
                     * connection to be freed up.
             try {
              wait();
             } catch (InterruptedException ie) {
              String errMsg = "Exception raised =" + ie.getStackTrace();
              log.error(errMsg);
              throw new CDLookupException(classIdentifier, methodIdentifier,
                   errMsg, ie);
             // connection freed up, so try again.
             return (getConnection());
             * You can't just make a new connection in the foreground when none are
             * available, since this can take several seconds with a slow network
             * connection. Instead, start a thread that establishes a new
             * connection, then wait. You get woken up either when the new
             * connection is established or if someone finishes with an existing
             * connection.
        private void makeBackgroundConnection() {
         connectionPending = true;
         try {
             Thread connectThread = new Thread(this);
             log.debug("background thread created");
             connectThread.start();
         } catch (OutOfMemoryError oome) {
             log.error("makeBackgroundConnection ="+ oome.getStackTrace());
             * Thread run method
        public void run() {
         String methodIdentifier = "run";
         try {
             Context connection = makeNewConnection();
             synchronized (this) {
              availableConnections.add(connection);
              connectionPending = false;
              notifyAll();
         } catch (Exception e) { // SQLException or OutOfMemory
             // Give up on new connection and wait for existing one
             // to free up.
             String errMsg = "Exception raised =" + e.getStackTrace();
             log.error(errMsg);   
             * This explicitly makes a new connection. Called in the foreground when
             * initializing the ConnectionPool, and called in the background when
             * running.
             * @return Context
             * @throws CDLookupException
        private Context makeNewConnection() throws CDLookupException {
         String methodIdentifier = "makeNewConnection";
         Context context = null;
         env = new Properties();
         log.debug("inside " + methodIdentifier);
         try {
             env.put(Context.INITIAL_CONTEXT_FACTORY,
                  getVendorContextFactoryClass());
             env.put(Context.PROVIDER_URL, getLdapServerUrl());
             env.put("com.sun.jndi.ldap.connect.pool", "true");
             context = new InitialDirContext(env);
         } catch (NamingException e) {
             String errMsg = "CDLdapBuilder connect() - failure while attempting to contact "
                  + ldapServerUrl + " Exception is " + e.toString();
             throw new CDLookupException(classIdentifier, methodIdentifier,
                  errMsg, e, LookupFailureReasons.serviceUnavailable);
         } catch (Exception e) {
             String errMsg = "CDLdapBuilder connect() - failure while attempting to contact "
                  + ldapServerUrl + " Exception is " + e.toString();
             throw new CDLookupException(classIdentifier, methodIdentifier,
                  errMsg, e, LookupFailureReasons.serviceUnavailable);
         log.info("new connection :" + (threadCount++) + " name =" + context);
         log.debug("exit " + methodIdentifier);
         return context;
             * releases connection to the free pool
             * @param context
        public synchronized void free(Context context) {
         busyConnections.remove(context);
         availableConnections.add(context);
         // Wake up threads that are waiting for a connection
         notifyAll();
             * @return int give total no of avail connections.
        public synchronized int totalConnections() {
         return (availableConnections.size() + busyConnections.size());
             * Close all the connections. Use with caution: be sure no connections
             * are in use before calling. Note that you are not <I>required</I> to
             * call this when done with a ConnectionPool, since connections are
             * guaranteed to be closed when garbage collected. But this method gives
             * more control regarding when the connections are closed.
        public synchronized void closeAllConnections() {
         closeConnections(availableConnections);
         availableConnections = new Vector();
         closeConnections(busyConnections);
         busyConnections = new Vector();
             * Close all connections existing.
             * @param connections
             *                void
        private void closeConnections(Vector connections) {
         String methodIdentifier = "closeConnections";
         try {
             for (int i = 0; i < connections.size(); i++) {
              Context context = (Context) connections.get(i);
              if (context != null) {
                  log.info(" connection name:" + context
                       + " removed. Threadcount =" + (threadCount++));
                  context.close();
                  context = null;
         } catch (NamingException e) {
             String errMsg = "CDLdapBuilder connect() - failure while attempting to contact "
                  + ldapServerUrl + " Exception is " + e.toString();
             log.error(errMsg);
        public synchronized String toString() {
         String info = "ConnectionPool(" + getLdapServerUrl() + ","
              + getVendorContextFactoryClass() + ")" + ", available="
              + availableConnections.size() + ", busy="
              + busyConnections.size() + ", max=" + maxConnections;
         return (info);
             * @return the defaultSearchBase
        public final String getDefaultSearchBase() {
         return defaultSearchBase;
             * @param defaultSearchBase
             *                the defaultSearchBase to set
        public final void setDefaultSearchBase(String defaultSearchBase) {
         this.defaultSearchBase = defaultSearchBase;
             * @return the ldapServerUrl
        public final String getLdapServerUrl() {
         return ldapServerUrl;
             * @param ldapServerUrl
             *                the ldapServerUrl to set
        public final void setLdapServerUrl(String ldapServerUrl) {
         this.ldapServerUrl = ldapServerUrl;
             * @return the vendorContextFactoryClass
        public final String getVendorContextFactoryClass() {
         return vendorContextFactoryClass;
             * @param vendorContextFactoryClass
             *                the vendorContextFactoryClass to set
        public final void setVendorContextFactoryClass(
             String vendorContextFactoryClass) {
         this.vendorContextFactoryClass = vendorContextFactoryClass;
         * @return the availableConnections
        public final Vector getAvailableConnections() {
            return availableConnections;
    }

    Hi,
    As the connection pool implmentation has the bug of not extending more than the min size, workaround I use is MIN_CONN=100 and MAX_CONN=101,and just waiting for the bug to get fixed. (using Netscape SDK for java4.0)

  • Copying file from one event to another deleted large number of photos

    I was doing some house keeping on my Photo Library in iPhoto11.
    I opened a event and selected al the photos in this event and then copied them to another event. This operation took a very long time. The end effect is that in excess of 10k photos have dissappeared from my libary and are nowhere to be seen.
    I tris rebuildingt the library but this makes no imprevement but it shows that the library size reduces from 12Gb to about .5 Gb. But both librarys seems to be identical. So where have my photos gone? I have about 6 years worth of photos in this library and because of an earlier problem with OSX on my laptop I had to move this library to an external disc which is not backed up. I think I may have an older backup! I did to at any point press delete or move anything to the trash - this seems to be a software but - any suggestion how to recover my photos. I have checked the system trash and they do not seem to be there either.
    Help

    Open the event and select the photo you want to duplicate, go to the edit menu and select copy (command-c), go to all events and select the target event and go to the edit menu and select paste (command-v)
    another possible alternative it to use albums - make a new album and drag the photo to it - this saves disk space since the photo only exists once no matter how many albums you place it in - the albums simply reference the photo in the event
    LN

  • N97 V2 music player has more bugs than a hundred y...

    My problem is back!
    This is what I have done in the past hour.
    Exported my contacts to vcf onto memory card. Removed the card.
    *#7370# - hard reset
    Went through all that... Then remembered I hadn't wiped mass storage.
    Wiped mass storage (Which it kept complaining it couldn't do until I removed all the default active apps on the front screen). After removing them it eventually formatted it
    *#7370# - hard reset
    Let it get settled...
    Connected to USB, did a firmware update check. 2.00.19, no update available. Disconnected USB.
    Removed all the front screen **bleep**, added shortcut 2, put my normal shortcuts onto it.
    Added my wifi destination
    Opened the browser, went to google.co.uk via my wifi, added that as bookmark
    Put the memory card back in (there are no apps on it, I never got round to using it for anything).
    Imported my contacts back from the memory card.
    Went into music player, zero tracks shown. Good.
    Connected USB, started Nokia Music PC application (latest version, had checked). Right clicked on one album 13 tracks.
    Let it send them over to the N97.
    Disconnected phone. Started N97's music player. It says music library corrupt, scanning... Says 13 tracks found.
    Artists shows one artist, 13 tracks. Albums shows 1 album. All looks good.
    Go into the album, pick on a track, starts playing.
    Volume control does nothing. Touch volume control does nothing. Headset remote control, volume, forward and reverse do nothing. Touch screen pause/play forward and reverse do work, but there is no way to control volume.
    I've screwed up this music player app before the Nokia system has even got round to sending me the Welcome text message (which I have seen too many times!).
    Okay, I'm going to write the next bit line by line as I do it... So bear with me... It's step by step. You never know, it might help anyone that gives a damn (Nokia hopefully), fix it!
    *#7780# - soft reset
    Front screen now just shows shortcuts1 and 2, but the shortcuts themselves have switched back to Nokia's defaults.
    Music player volume now works!
    Connect to USB, send another mp3 album. PC app says (and shows on the %age bar) transferring 5 tracks. Album has 18. Nokia Music system tray icon says complete after 5, but the little arrows shows things are still being transferred. Waited for them to finish. Click the N97 icon and it's showing both albums, with all 18 tracks the second one really does have.
    Disconnect USB
    Go into Music library on N97, no auto refresh message. Showing only the original album with 13 tracks.
    "Options\refresh library" nothing shows as scanning, just appear straight back at the artist,album,playlist option screen. Albums still shows just the first one.
    Option\music library details says 13 tracks
    Playback and volume still work.
    Using the file manager, mass storage, music there's my 2nd artist, the album, and all the mp3 files. I can click them and play them. Volume still works.
    Select original (found) album, select delete. Everything shows 0, even though 2nd album is there in the mass memory, file mgr shows it. First artist and albums folders are still there, but empty (Nice house keeping Nokia).
    Reconnect USB, Nokia Music just shows the "invisible" 2nd album, and will play it.
    Pick a 3rd album of 11 tracks... Send that to N97.. No progress bar or anything shown, just wait for the arrows to stop flashing and then confirm N97 is showing two albums (the invisible on and new one) on the PC app.
    Disconnect USB.
    Back on the N97... Apps, Music.. Says Music Library 11 songs (that's the 3rd album)... Go into it..
    Albums (no songs)
    All songs (no songs)
    Artists: The artist from 3rd album is shown... 11 songs!
    Click it... Shows the album name, 11 songs.
    Click the album, and click the first track to play it... Long delay of a few seconds...
    Starts playing... Volume not working again!
    Try refresh library... again, nothing, no progress bar...
    No change, no volume control.
    Now here's the really weird bit... If I go and find the mp3 file on the mass storage, and play it from there, volume control works! Come back through the music play app, play the same track, volume won't work.
    *#7780# - soft reset
    Welcome message, yeah yeah... Ooooh, very fast confirmation text message...
    Apps, Music, Music Library (11 songs), go into that, click Albums.... "Cannot perform whilst USB connected" **bleep**?I disconnected that ages ago when i said I did. After that every attempt to go into Albums dumps me back to the Music app showing "Last player - blank" "Music Library 11" etc etc...
    Exit all the way out and try to go back in...Artists does the "USB connected" error. Albums just dumps me out. Playlists says "File corrupt". All songs say "(no songs)". Podcasts and Genres say "USB connected", composers "General system error" and after that I get a couple of other system errors from other options and then it just dumps me back out.
    *#7780# - soft reset
    Ovi welcome... blah blah...
    Apps, music, music library (11 songs), go into it, option\refresh... Ooooh, something happens, a progress bar! 18 files added! That's 3rd album...
    Albums show both... Artists show both
    Pick one for playback... Volume control is back!
    Right... Time to try a different tack...
    Connect USB, mass storage mode this time (all previous attempts have been PC suite mode).
    Create a now folder in music for the artist name (as stored in ID3 tag), create subfolder in that for the Album name (as stored in ID3). Copy mp3 files.
    Eject USB device, wait for windows to confirm... It does.
    Disconnect USB cable.
    App\music\Music Library (29 songs - Thats the two previous albums). Go into it, previous tracks shown, playback/volume okay.
    Refresh library works again... Now 3 albums, volume works.
    Back to USB (mass storage mode).
    This time deliberately doing the storage structure wrong... \music\albumname\mp3s (normally \music\artist\albumname\mp3s).
    Music library still showing the 48 tracks from the first 3 albums... Seems to open a bit slower... Still works though.
    Refresh library... 13 files added...
    4 albums... All working...
    Looking with file mgr from badly arranged folder is still as I made it... I guess the Nokia Music PC app creates the tree format, and the N97 doesn't actually need it.
    Okay, proof of pudding test...
    Connect via USB (mass storage).
    Delete the album I created with the mangled folder structure.
    Copy 20 folders of mp3 albums across using just windows file manager to the mass storage drive's music folder.
    Eject USB storage device from windows....
    Oh... Up until now I was almost certain I would be able to use N97 as an MP3 player as long as I avoided the Nokia Music PC app...
    Apps\Music\music library shows 61 songs, which is what it had...
    Go into it, click albums and I'm getting the USB device connected message. It's not, and the icon isn't even showing on the phone, so I can't go into the player to see if volume works.
    Refresh isn't displaying anything, or doing anything I can see. Playlists say the file is corrupt...
    *#7780# - Soft reset
    Apps\Music\music library (61 songs).. go in, "Repairing corrupted library. Searching for music and podcasts"
    After a little while... 2 hundred and something found...
    Yup, all there...
    Guess what...
    Volume control is screwed again!
    Manually telling it to scan for new tracks doesn't do anything.
    *#7780# - Soft reset
    Apps\Music\music library (276 songs)... Go in "Repairing corrupted library....."
    2 seconds later "Search complete 0 file(s) added"
    All albums there, still no volume control.
    Okay, that enough... No more...
    Hopefully that is enough to give Nokia a clue as to what is wrong, and may I just make a slight suggestion.
    TEST WITH MORE THAN HALF A DOZEN TRACKS YOU **^(*&)(*)(*(*£$%^*(#!
    I'm off to buy a 7lb club hammer.

    Last night I had a thought...
    I wondered if the N97's Music player was getting upset when scanning my music because I had the jpg of the album cover in the folder with it (I tend to do that). As I hadn't bothered reloading any music since my last hard reset I thought I would give it a try.
    I removed all non-mp3 files from my music folders.
    Connected N97 in PC Suite mode
    Started Nokia Music PC app and transferred one album. Let it finish, closed the PC Nokia Music app, gave it a few seconds to settle, disconnected the N97 and had a look.
    It appeared in the music player and worked.
    Ooooh, right, in for a penny, in for a pound as they say... I connected it back up and sent over another 6 albums. Again closed the Nokia Music app... Waited a few seconds and disconnected the N97.
    Went and had a look... "Library corrupt, scanning.... blah blah"... Oh dear, here we go again. But no, a progress bar actually appeared, and after a minute it said "0 file(s) added", but they were all there. All the album art appeared (I'd already embedded that in the mp3 files days ago). All the albums, all the music.
    They played, and the volume worked!
    Yay! Thinks me... Solved... And goes to bed a happy man.
    I set my alarm (on the phone) for the morning and turn the phone off so nobody can phone me before my alarm (which really screws up my sleep!).
    This morning the alarm goes off.
    I hit stop. It asks if I want to turn the phone on, I say yes.
    It asks for my lock code (which I have enabled). I enter it. It says code correct.
    Flash of white on the screen... and it asks for my lock code again, which I enter... It says correct again.
    This time I get the Nokia tune.
    It comes up to the normal front screen, jumps itself onto the application screen, throws up a system error and reboots.
    It comes back up (without asking for a pin) and this time settles at the front screen looking for all the world like a working phone... A text message arrives to prove at least that's working.
    Hmmm... I wonder about my music...
    Well it's all there... But guess what... Volume control doesn't work again!
    Oh and clicking "Podcasts", of which I have zero, still produces, and has always produced (even straight after a hard reset), the message "Out of memory, please remove something"... Pressing it again produces "System Error". After that nothing in the Music Library menu works, all produce "System Error". You have to close it and restart to get anything in Music Library to "work".
    I wouldn't say I am short of memory. DeviceInfo (from moubail.com) Shows
    C: 32.68 MB free
    E: 30116.46 MB free
    F: (8Gig card) 7120.86 MB free
    RAM: 48.83 MB free.
    I keep my C: drive clear of everything. Even my text message storage has been switched to E: (not that I have may since all the hard/soft reboots. Most of them are the "Welcome to nokia" message. Anything that gives me the option to install to another "drive" gets put onto E:
    I haven't installed any of the 3 files offered in since the hard reset "SW Update", N-Gage, Nokia Messaging or Ovi Contacts.

  • F-03 Clearing issue

    Hi All,
    Step1:
    Entered entry as
    Provision - Exp DR                       55000
                             TO House keeping chgs                        55000
    Step2:
    Later Entry Reversed through FBS1 As
    House keeping chgs DR             55000
        TO Provision - Exp                               55000
    Both are showing as open items in Fbl3n for Provision A/c
    If we gor for Clearing Through  F-03 it is showing only First entry
    Provision - Exp DR                       55000
                             TO House keeping chgs                        55000
                   So same i cant clear
    Best Regards

    Hi,
    There is a possibility that this has got cleared wrongly against the same monthly closing entry. Check the clearing doc number in the entry not coming as open item. Through this you will be able to find out the reason for clearing.
    Regards

Maybe you are looking for