10 November 2009

0 Beware of Scareware

Scareware is a type of software that frightens you into downloading and purchasing certain rogue products (for e.g. fake antivirus, fake firewall). Scareware frightens you into installing the rogue product by displaying screens of your computer being attacked and claiming to be the solution to that attack. Typically, they are the result of scripts stitched into legitimate, hacked web sites, or into banner ads. Once installed, the scareware can invade your computer and attempt to record your keystrokes and banking/personal information. It can also attempt to take remote control of your machine to serve as a spam-sending Zombie robot.
The safest way to avoid being a victim to scareware is to:
1.Not click on any of the buttons within the browser window and instead, close the entire browser screen.
2.Run an antivirus scan immediately to ensure that new viruses have not been installed by the software.
Read More...

28 October 2009

0 confirmation

This post confirms my ownership of the site and that this site adheres to Google AdSense program policies and Terms and Conditions.
Read More...

02 October 2009

0 SQL Tutorial - Decrease the retrieval time from database using Multiple threads

SQL Tutorial - SQL Tip - Decrease the retrieval time from database using Multiple threads

How To  decrease the retrieval time while retrieving data from a table from database?

Normal retrieval query  :    

select  *  from user_info
     since user_info table having vast amount of data it will take lot of  time to retrieve entire data.

Query with Multi threading

select  /*+parallel(8)*/   *   from user_info
       8 in parenthesis represents number of threads. It will invoke 8 threads  and execution will happen on 8 threads in parallel. Comparatively this query using multiple threads will take less time  than the earlier query. Query with Multi threading will help us to reduce the execution time while fetching large number of records.
Read More...

0 SQL Tutorial - Loading data from a text file

SQL Tutorial - SQL Tip - Loading data from a text file

How can I load data into table from a .txt file?

You can load data into table from a .txt file using the below command.

LOAD DATA LOCAL INFILE <.txt file >
INTO TABLE <table_name>  FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
The data file should have the fields terminated by ‘,’ and lines terminated by '\r\n';

For Example
Say, the required input file "user.txt" is in the location C:\

LOAD DATA LOCAL INFILE 'C:\\user.txt'
INTO TABLE user_name  FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
Read More...

5 DB2 Tutorial - Making the primary key auto incremental in DB2

DB2 Tutorial - DB2 Tip - Making  the primary key auto incremental in db2

How to make a field auto incremental in DB2?

The following query example will show you how to set a field as Auto-increment field in DB2
create table WCSADM.itemlist
(
   ITEMLIST_INDEX         Integer          GENERATED ALWAYS AS IDENTITY,
   RESULTCODE      VARCHAR(254),
   ADDLINFO      VARCHAR (254)
)
Read More...

1 SQL Tutorial - Insert Zero in the auto incremental field

SQL Tutorial - MySQL Tips1 - Inserting Zero in the auto incremental field

How to insert a " 0" or zero value in the auto incremental column of MySQL ?

The following query will be setting Auto-increment to start from 0
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";

This will allow us to insert value zero in the auto incremental column which otherwise can only begin with atleast 1. This change should in no way affect the existing auto-incremental values.
That is, Auto increment value will start from 1 itself but we will be able to insert a record with 0 in the auto increment column.

Read More...

0 AJAX Tutorial onComplete event of Ajax Updater

AJAX Tutorial - Tips1 - onComplete event of Ajax.Updater

How to ensure that a function or action is called only after the successful execution of the AJAX call ?

Ajax updater has onComplete callback, which will be executed after the successful execution of the AJAX call. This will help to prevent AJAX updater success action before the successful execution of the AJAX call.

new Ajax.Updater('searchResults', 'items/seachItems.html', {
      parameters: {
            searchTerm: p_searchTerm,
            searchTermValues: p_searchTermValues,
            pageIndex :p_pageIndex,
            startIndex : p_startindex,
            endIndex :p_endIndex
      },
      onComplete : function updateValues(){
            updateValues1(p_startindex,p_endIndex,p_pageIndex);
      }
});
On the Event "onComplete", the function "updateValues()" will be executed, which in turn can call any function in the script.
Read More...

28 September 2009

0 SQL Tutorial - Find and Replace Text in MySQL Database

SQL Tutorial - Tips2- Find and Replace Text in MySQL

How to Find and Replace Text in MySQL Database using SQL Statements?

The syntax of REPLACE is REPLACE(text_string, from_string, to_string)

update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’);)

For example:
update vertical_element set vertical_display_name = replace(vertical_display_name, ‘zArchive’ , ‘zNOT_IN_USE’)
The above statement will replace all instances of ‘zArchive’ to ‘zNOT_IN_USE’ in the field ‘vertical_display_name’ of ‘vertical_element’ table.

Read More...

0 SQL Tutorial -" NULL in SQL"

SQL Tutorial - Tips1- 'NULL in SQL'

The Four Golden Rules for 'NULL' in SQL

1. Use NULLs to indicate unknown/missing information only. Do not use NULLs in place of zeroes, zero-length strings or other "known: blank values. Update your NULLs with proper information as soon as possible.
2. In ANSI SQL, NULL is not equal to anything, even other NULLs! Comparisons with NULL always result in UNKNOWN
3. Use SET ANSI_NULLS ON, and always use ANSI standard SQL syntax for NULLs. Straying from the standard can cause problems including portability issues, incompatibility with existing code and databases and returning incorrect results.
4. The ANSI standard COALESCE() and CASE syntaxes are preferred over ISNULL() or other proprietary syntax

No Two NULLs Are Created Equal
ANSI SQL three-valued logic (3VL) is that NULL is not equal to anything else. It is not less than, greater than, or even unequal to anything else either.

All NULLs Are Created Not Distinct
From above we know that comparisons with NULL never evaluate to TRUE or FALSE, that NULL is never equal to NULL, and that NULL comparisons always result in UNKNOWN. Now it's time to list the exceptions. In order to simulate NULL equality, and to keep from contradicting themselves in the process, the ANSI SQL-92 standard decreed that two NULL values should be considered "not distinct". The definition of not distinct in the ANSI standard includes any two values that return TRUE for an equality test (e.g., 3 = 3, 4 = 4, etc.), or any two NULLs. This simulated NULL equality is probably most used in the GROUP BY clause, which groups all NULL values into a single partition. In Unique Constraint also NULLs are treated same.

NULLs Flock Together
The ORDER BY clause in SELECT queries places all NULL values together when it orders your results. SQL Server treats NULLs as the "lowest possible values" in your results. What this means is NULL will always come before your non-NULL results when you sort in ascending order, and after your non-NULL results when you sort in descending order

Read More...

23 September 2009

0 UNIX tips

Read More...

13 September 2009

0 Basic JAVA Tutorial - JAVA Installation and Set Up Guide

Basic JAVA Tutorial - CHAPTER-8 installation and Set Up of JAVA

Installing and using JAVA

Before we begin JAVA installation, some points on JAVA installation

• For executing Java Programs Java 2 SDK Version 1.4 or higher Version needs to be installed.
• Java 2 SDK Can be downloaded freely from http://java.sun.com
• IDEs for JAVA are Eclipse and Netbeans, and Eclipse can be downloaded freely and doesnot require installation

Setting Environment variables for Java
We need to set some Environmental variables.
• Environmental variable is a variable that describes the operating environment of the process
• Common environment variables describe the home directory, command search path etc.

Environment variables used by JVM

JAVA_HOME
This environment variable is pointing to the Java Installation directory. This environment variable is used to derive all other environment variables used by JVM

In Windows:
set JAVA_HOME=C:\ProgramFiles\JAVA\jdk1.4.3

In UNIX:
export JAVA_HOME=/var/usr/java

CLASSPATH

Path variable is used by OS to locate executable files
In Windows:
set PATH=%PATH%;%JAVA_HOME%\lib\tools.jar

In UNIX:
set PATH=$PATH:$JAVA_HOME/lib/tools.jar:.

Do the Environmental variable settings by typing the given commands in the Command Prompt and Type ‘javac’. It will display all the options of using javac as shown in the diagram. If it says bad command or file name then check the path setting.

Alternate way to set CLASSPATH
In Windows:
set PATH=%PATH%;%JAVA_HOME%\bin

In UNIX:
set PATH=$PATH:$JAVA_HOME/bin
• This approach helps in managing multiple versions of Java – Changing JAVA_HOME will reflect on CLASSPATH and PATH as well
Read More...

0 Basic JAVA Tutorial - JAVA Architecture

Basic JAVA Tutorial - CHAPTER-6 Architecture of JVM Runtime Environment

JAVA Platform Architecture

The JVM Runtime Environment
The byte codes are stored in class files. At runtime, the bytecodes that make up a java software program are loaded, checked, and run in an interpreter. The interpreter has two functions: it executes bytecodes, and makes the appropriate calls to the underlying hardware.
The Java runtime environment runs code compiled for a JVM and performs four main tasks:
• Loads Code - Performed by the class loader
• Verifies Code - Performed by the bytecode verifier
• Executes Code - Performed by the runtime interpreter
• Garbage Collection - De allocates memory not being used

Class Loader
The class loader loads all classes needed for the execution of a program. The class loader adds security by separating the namespaces for the classes of the local file system from those imported from network sources.
Once all the classes have been loaded, the memory layout of the executable file is determined. At this point specific memory addresses are assigned to symbolic references and the lookup table is created. Because memory layout occurs at runtime, the java technology interpreter adds protection against unauthorized access into the restricted areas of code.
Java software code passes several tests before actually running on your machine. The JVM puts the code through a bytecode verifier that tests the format of code fragments and checks code fragments for illegal code ie code that forges pointers, violates access rights on objects, or attempts to change object type.
The bytecode verifier makes four passes on the code in a program. It ensures that the code follows the JVM specifications and does not violate system integrity. If the verifier completes all four passes without returning an error message, then the following is ensured. The classes follow the class file format of the JVM specification
• There are no access restriction violations
• The code causes no operand stack overflows or underflows
• No illegal data conversions

Read More...

0 Basic JAVA Tutorial - JAVA Architecture

Basic JAVA Tutorial - CHAPTER-7 Architecture of JVM Runtime Environment

JAVA Platform Architecture Continues..

Garbage Collection
As the objects are dynamically allocated memory by using "new" operator, they must be released for later reallocation. Java handles de-allocation automatically. This technique is called Garbage Collection.
When no references to an object exist, that object is assumed to be no longer needed and the memory occupied by the object can be reclaimed. This is done by Garbage Collection. Garbage Collection occurs periodically during the execution of the program.

Finalize
Finalize method is used when certain objects are required to perform some action when they are destroyed. By using this method, we can define specific actions that will occur when an object is just about to be reclaimed by the garbage collector.
When certain objects are required to perform some action when they are destroyed then those actions can be added by defining finalize() method. Java Run time calls that method whenever it is about to recycle an object of that class.

The Garbage collector runs periodically, checking for objects that are no longer referenced by any running state or indirectly through other referenced objects. Right before an object is freed, the Java Run time calls the finalize() method on that object.

Read More...

0 Basic JAVA Tutorial - Platform Independence of JAVA

Basic JAVA Tutorial - CHAPTER-5 Platform Independence of JAVA and JVM

JAVA is Platform Independent

Java is a language that is platform independent.
• A platform is the hardware and software environment in which a program runs
• Once compiled, code will run on any platform without recompiling or any kind of modification.
– “Write Once Run Anywhere”
• JAVA Program Portability is made possible by making use of a Java Virtual Machine commonly known as JVM
Always keep onething in mind, only the programs written in JAVA language is portable, JVM or Java platform is not portable. These JAVA platforms are purely platform dependent, it will depend on the underlying Operating system and defenitely hardware also. That is, Windows OS has its own JVM, or JRE, and so as Mac, UNIX, LINUX etc

Java Virtual Machine (JVM)

The source code of Java will be stored in a text file with extension .java
• The Java compiler compiles a .java file into byte code
• The byte code will be in a file with extension .class
• The .class file that is generated is the machine code of the processor.
– Byte code is a binary language
• The byte code is interpreted by the JVM
• JVM varies from platform to platform, or, JVM is platform dependent
• JVM can be considered as a processor purely implemented with software.
• The interface that the JVM has to the .class file remains the same irrespective of the underlying platform.
– This makes platform independence possible
• The JVM interprets the .class file to the machine language of the underlying platform.
• The underlying platform processes the commands given by the JVM

Read More...

0 Basic JAVA Tutorial - Features of JAVA

Basic JAVA Tutorial - CHAPTER-4

Features of JAVA - Object Oriented

Java is an Object Oriented Language. Object-Oriented design is a technique that helps the programmer visualize the program using real-life objects.
    Eventhough JAVA is an Object Oriented language, Unlike C++, It will not support Operator Overloading and Multiple inheritance. But, like every other Object oriented languages JAVA will support method overloading.


Features of JAVA - Robust

JAVA programming language is built in such a way that programmers can easily write Robust Programs.

For any programming language, the main reasons for program failure are:
(1) Memory management mistakes
(2) Mishandled run time errors.

      Java has solution to both these problems.
(1) With Java, Memory management is very easy since the de allocation is done by the garbage collector automatically.
(2) Java provides object oriented exception handling to manage run time errors.

Features of JAVA - Platform independent

Java is platform independent or in other words JAVA is Architecture Neutral or simply Portable. About a JAVA program, we can say "Write once, Run anywhere". Java is an Interpreter based language. With Java, the program needs to be compiled only once, and the code generated by the Java compiler can run on any platform. Java is platform independent at both the source and the binary level. Java can be easily ported on any type of system and irrespective of the operating system being used. Java achieves this portability due to its feature of Implementation Independency.

Features of JAVA - Secured

Java is a secured programming language because it provides the user with a Virtual Firewall between the applications and the computer thus ensuring that the data in the user’s system is protected by any possible Infectious contents. This is achieved by confining the Java program within the Java Runtime Environment.

Features of JAVA - Multithreading

Multithreading is the capability for a program to perform several tasks simultaneously within a program. A good example of mutithreading would be one of the game software where the GUI display, sound effect, timer control and score updating are happening within the same process simultaneously. In network programming, a server can serve multiple clients at the same time via mutithreading.

Features of JAVA - Designed for the Distributed Environment

Java is designed for the distributed environment of the Internet. Simply speaking, Java allows objects on two different computers to execute procedures remotely.

Features of JAVA - Simple

Java is a Simpler Language comparing to other Object oriented languages like C++. The reason is, Certain complex features like operator overloading, multiple inheritance, pointers, explicit memory de allocation are not present in Java language.

Read More...

26 July 2009

0 Method Overloading and Method Overriding in JAVA - A comparison study

Static Polymorphism And Dynamic Polymorphism in JAVA

Static Polymorphism in JAVA is also known as Function Overloading in JAVA. Dynamic Polymorphism in JAVA is also known as Function Overriding in JAVA. Let us compare Function Overloading and Function Overriding in JAVA. Here it goes,the difference between Function Overloading and Function Overriding in JAVA

Static Polymorphism Dynamic Polymorphism
Function Overloading
– within same class more than one method having same name but differing in signature
Function Overriding
– keeping the signature and return type same, method in the base class is redefined in the derived class
Resolved during compilation time Resolved during run time
Return type is not part of method signature Which method to be invoked is decided by the object that the reference points to and not by the type of the reference
Read More...

25 July 2009

0 BASICS OF JAVA - Introduction to JAVA

BASICS OF JAVA - CHAPTER-3 -Introduction to JAVA

A language developed by Sun Microsystems
• A general-purpose language
• High-level language
• Developed initially for consumer devices
• Now-a-days, popular platform to develop enterprise applications

Know more about history of JAVA and some intersting factors about JAVA.

Features of Java

• Object-oriented
• Robust
• Portable or 'Architecture Neutral'
• Secure
• Support for Multithreading at language level
• Designed to handle Distributed applications
• Simpler language

Read More...

0 BASICS OF JAVA - Object Oriented Concepts (OOC) contd.

BASICS OF JAVA - CHAPTER-2 -Object Oriented Concepts (OOC) contd.

In this page we are discussing about advantages and disadvantages of Object oriented concept. In order to analyse the various advantages and disadvantages of the object oriented concepts, we will compare the object oriented concept against the Procedural Programming methodology.

Object Oriented Programming vs Procedural Programming

Object Oriented Programming Procedural Programming
Emphasis on Data; binding of data structures with methods that operate on data Emphasis on algorithms, procedures
Real world is represented by objects mimicking external entities. Allows modeling of real life problem into objects
with state and behavior
Real world is represented by logical entities and control flow. Tries to fit real life problem into procedural language
Data (State) is encapsulated effectively by methods (Behavior) In a given module, data and procedures are separate
Program modules are integrated parts of overall program. Objects interact with each other by Message passing Program modules are linked through parameter passing mechanism
Uses abstraction at class and object level Uses abstraction at procedure level
Object Oriented decomposition focuses on abstracted objects and their interaction Algorithmic decomposition tends to focus on the sequence of events
Active and intelligent data structures (object) encapsulates all passive procedures Passive and dumb data structures used by active methods
Object Oriented Languages: C++, Small Talk, Java, C#, JavaScript etc Procedural languages: C, COBOL, PASCAL
Read More...

0 BASICS OF JAVA Object Oriented Concepts

BASICS OF JAVA - CHAPTER-1 -Object Oriented Concepts (OOC)

Java is an Object-Oriented Language. So before learning java, let us have a look on the Object-Oriented Concepts.

Object Oriented Concepts (OOC)

Class and Object

A class is prototype that defines the variables and the methods (functions) common to all objects of a certain kind.

Elements of a class are :
1. Member Variable: Variables declared within a class
2. Member Functions: Functions or methods declared within the class. These methods operate upon the member variables of the class. So a class is a definition of a set of data and methods (functions). When memory space for this data is actually allocated, we say that class is instantiated i.e an object is created.

An object is a representative or specimen of a class. In other words, object is an instance of a class. Each instance of a class will have its own data. Actually an object is a bundle of related variables and methods (functions).

Objects possess two characteristics :
1. State : condition of an item.
2. Behavior : Observable effects of an operation or event including its results.

State can be of two types : Active state which reflects the behavior and Passive State refers to state which does not change. The behavior of an object forms the interface to the external world.

Features of OOP (Features of Object oriented Concept)

Abstraction:
The process of extracting the essential information and hiding the irrelevant details

Encapsulation:
The process of binding code and data together in the form of a capsule

Inheritance:
The feature by which one class acquires the properties and functionalities of another class

Polymorphism:
The feature that allows the same interface to be used for a general set of actions

Explanations with examples

Abstraction is the process of exposing the relevant things and ignoring the irrelevant details. The easiest way to understand and appreciate this concept of handling complexity is by studying the example of Globe, a model/prototype of earth that is used by students to understand its geography. Globe provides only that information that is required and if too much of information is mentioned in it i.e. streets, lakes etc, it becomes too complex to comprehend. Hence Globe abstracts unwanted information and makes it easy to comprehend the complex earth.
Encapsulation is the mechanism that binds together code and the data it manipulates, and keeps both safe from outside interference and misuse. The data is not accessible to the outside world and only those functions that are wrapped in the class can access it. These functions provide the interface between the object’s data and the program. The insulation of the data from the direct access by the program is called data hiding.
         In OOP, code and data are merged into an object so that the user of an object can never peek inside the box. This is defined as encapsulation (i.e. Object is a capsule encapsulating data and behavior). All communication to it is through messages (i.e function calls which we use to communicate to the object). Messages define the interface to the object. Everything an object can do is represented by its message interface. Therefore, we need not know
anything about what is in the object when we use it.
Inheritance is the process by which one class acquires the properties and functionalities of another class. This is important because it supports the concept of hierarchical classification.. Inheritance provides the idea of reusability of code and each sub class defines only those features that are unique to it.
Polymorphism is a feature that allows one interface to be used for a general class of actions. An operation may exhibit different behavior in different instances. The behavior depends on the types of data used in the operation. It plays an important role in allowing objects having different internal structures to share the same external interface. Polymorphism is extensively used in implementing inheritance.

Read More...

21 June 2009

1 HOW TO AVOID VIRUS, SPREADING THROUGH USB DRIVE

USB Security measures in Windows

DON’T GET PANIC ABOUT THE VIRUS ,Try to avoid it

• Virus & worms are easily spread by carrying it on a removable medium such as USB drive, Flash based Mp3 players(Ipods), CD, Floppy
• USB drive is otherwise called as “Flash Drive”,“Thumb Drive”, “Memory stick”, “External USB Hard Disk”.
• Even though we have very good Antivirus, new Viruses are one step ahead than Antivirus
• We cannot restrict USB Drive, but we can avoid spreading of virus & worms through USB Drive.
• So we have to be little bit careful while working with USB Drive,some precautionary steps are follows

STEP 1:
• Don’t allow the USB Drive to Auto Play after plug in, cancel it.

STEP 2:
• Go to My computer
• Devices with Removable storage
• Do not Double click the USB Drive
• Note the drive letter assigned to USB Drive as mentioned in the Figure
• Here its E:

STEP 3:
• Go to Start > Run > Type (the drive letter+:)(Here its E:)- Refer the figure shown below

• Click on "OK" button or Hit the enter key

Now you can view the Contents of your USB Drive
• Copy the necessary files only, dont use cntrl+A
Repeat the whole steps whenever you are plug in the USB drive. In this way you can keep your Desktop and Laptop free from viruses & worms.
• It may be a time consuming process, but no other way to avoid the virus.

HOW TO IDENTIFY VIRUS AFFECTED USB DRIVE

If you find such a screen after plugging in the USB drive, its a virus affected one.Immediately click on cancel button

If you had already enabled hidden files and folders view, you can see the virus file from an affected USB drive.

While doing the STEP 3: you can find the virus files as shown below

Remember one thing.

Do not doubleclick or autorun a removable storage device (especially USB drive)

If you doubleclick or autorun it the autorun will be executed which will inturn execute the virus file.

To view or enable the hidden files and folders

• Open any folder
• Goto Tools > Folder options > click view tab
• Under view tab goto > Advanced settings > Hidden files and folders
• Click radio button “show hidden files and folders”
• Remove check mark “Hide extension for known file types”
• Remove check mark “Hide protected operating system files”
• Click Apply , ok.


Read More...

16 April 2009

0 Static IP for UNIX machines

Static IP for red hat Linux:

·         Use setup/neat to configure static IP on the machine. Command is # setup or # neat

·         This will pop up a new screen with various options to configure IP. Choose the appropriate one.


Static IP for SuSe Linux:

·         Use yast to change the IP address of the machine. Command is # yast

·         Configure the IP with the given options


Static IP for Solaris:

You should have all the required information regarding the new IP like IP address, subnet mask, Default gateway and name. Modify the following files with the new entry.

·         # vi /etc/hosts. Enter the host name and IP address of the machine.

·         # vi /etc/netmasks. Enter the subnet mask for the IP.

·         # vi /etc/defaultrouter. Enter the default gateway.


Static IP for IBM AIX:

·         Use smit to change the IP address. Command is # smitty tcpip

·         Configure the IP with the given options


Static IP for HP UX:

·         Modify the entries in the file /etc/rc.config.d/netconf

·         Give the command # vi /etc/rc.config.d/netconf

·         Configure the IP with the given options and reboot the system by command # reboot

·         You can also use SAM to change the IP Address of the machine by command #sam and select appropriate options to configure IP Address

Read More...

0 FEATURES OF OWB (Oracle Warehouse Builder)

FEATURES OF OWB (Oracle Warehouse Builder)

¢  Data Quality

¢  Data Auditing

¢  Fully integrated, rational and relational data modeling

¢  Full cycle management of data and metadata

¢  Create data warehouses

¢  Data Consolidation and Integration

¢  Clean and transform data to provide quality information

Earlier Versions of OWB (Oracle Warehouse Builder)

¢  Oracle9i Warehouse Builder v9.2.0.2.8 for Solaris

¢  Oracle Warehouse Builder 10g Release 1 (10.1.0.4)

¢  Oracle Warehouse Builder 10g Release 2 (10.2.0.1)

¢  Oracle Warehouse Builder 11g Release 1 (11.1.0.6.0) Standalone Software  

What’s new in OWB (Oracle Warehouse Builder)

¢  Enhancements to Warehouse Builder Architecture: One Unified Repository

In previous Warehouse Builder releases, the runtime environment and the design environment resided in separate repositories: the runtime repository and the design repository. Beginning in this release, both environments share a single Warehouse Builder repository. If you prefer to separate the environments, you can achieve this by creating multiple repositories.

¢  User Interface Enhancements

In previous releases of Warehouse Builder, editing different types of objects required using different editors. This release provides one common look and feel for all editors, including automatic layout, dockable panels, bird's eye view, and zoom capabilities. A new property inspector standardizes the properties interface for all objects.

¢  Enhancements to Accessing Non-Oracle Data and Metadata

  Creating Flat file Targets

In previous releases, you used the Mapping Editor when you wanted to create a new flat file target for which there was no existing metadata to import. You added an unbound flat file operator to the mapping canvas and then used the operator editor to add and define fields for the flat file. Beginning in this release, the preferred method is to use the Create Flat File Wizard. Compared to the previous method, the Create Flat File Wizard enables a wider range of functionality such as specifying the character set and defining single or multiple record types. 

  Introducing Non ASCII Flat files

In previous releases, importing binary files into Warehouse Builder was difficult or not possible, depending on the complexity of the file. Beginning in this release, you can use the Create Flat File Wizard to introduce non ASCII files into Warehouse Builder 

  Sampling ASCII flat files

This release introduces enhancements to the Flat File Sample Wizard that include sampling and importing new data types such as GRAPHIC, RAW, and SMALLINT.

  Custom Metadata Interface

Beginning with this release of Warehouse Builder, you can define and use SQL- or XML-based custom metadata stores to retrieve definitions of source and target objects such as tables and views

  Deploying to Remote and Non-Oracle Targets

Beginning with this release, you can deploy objects to a remote or a non-Oracle database. This means that you can configure a target operator in a mapping to refer to a remote Oracle location or a non-Oracle location.

¢  Enhancements to Accessing Non-Oracle Data and Metadata

  Impact Analysis and Change Management

Warehouse Builder now provides graphical tools for analyzing the possible outcomes to proposed metadata changes. Determine the potential costs of your proposed changes

  Defining User Defined Properties (UDP’s)

In the previous release, you could assign UDPs only to existing Warehouse Builder repository objects. You defined UDPs using the OMB Plus scripting command OMBDEFINE and prefixed the new property name with UPD_. Beginning in this release, you can define new objects in addition to new properties. Prefix all user defined objects and properties with UD_. Any properties you defined in the previous release using the UDP_ prefix are still valid; however, UD_ is now the preferred prefix for both properties and objects.

  New User Defined Objects

Beginning in this release, you can define new folders, first class objects, and second class objects. For each object you can define properties and associations, manage them in the Warehouse Builder repository, and assign custom icons for unique recognition. Because user defined objects are repository objects, you can access metadata reports and lineage and impact analyses.

  User Defined Icons

You can import custom icons for unique representation in the user interface of any of the existing objects and user defined objects.

  Enhancements to Metadata Security

Beginning in this release, Warehouse Builder offers a user interface for defining and implementing metadata security policies. 

¢  ETL Design and Performance Enhancements

  Scheduled Process Executions

In previous releases, you were required to use Oracle Workflow to schedule the execution of Warehouse Builder mappings and process flows. Beginning in this release and when using Oracle database release 10g or higher, you can create schedules to plan when and how often to execute mappings and process flows. You can define schedules to execute once or to execute repeatedly based on an interval you define in the user interface

  High Performance Data Extraction from Remote Sources

In previous releases, if you designed mappings that extracted data from remote sources, you could expect performance to be slow as data was accessed via database links. Beginning in this release, you can use Transportable Modules to replicate remote Oracle databases to the local Oracle database and thereby achieve rapid data extraction

  Pluggable Mappings

This new feature in Warehouse Builder increases your design productivity through reusable logic that you can incorporate into various ETL processes or share between many designers.

  Set Based Updates

In previous versions, when you set an Oracle target operator to load using an UPDATE loading type, Warehouse Builder updated the target in row based mode. Beginning with this release, if you configure the Oracle target module to generate 10g PL/SQL code, Warehouse Builder performs UPDATES in set based mode. For modules configured to generate 9i and earlier versions of PL/SQL code, Warehouse Builder performs UPDATES on targets in row based mode.

  User Defined Data types

Beginning in this release, Warehouse Builder offers a user interface for creating user defined data types and using them for mapping in Warehouse Builder. You can use the user defined types to model real-world entities such as customers and purchase orders as objects in the database.

¢   Enhancements to Enable Quality Information

  Slowly Changing Dimensions

Warehouse Builder now provides support for designing, deploying, and loading relational Type 1, 2, and 3 SCDs. For information on defining SCDs

  New Sources and Targets

You can now read data from any source or write data to any target using PL/SQL and Java APIs. You can also read data from or write data to table functions and Oracle streams.

  Data Profiling

This new feature in Warehouse Builder enables you to discover the structural content of your data, capture its semantics, and identify any anomalies or outliers prior to loading it in your BI system. With data profiling, you can automatically derive business rules and mappings to clean data, derive quality indices such as Six Sigma, and use auditors to continuously monitor data quality. You can integrate data profiling into your ETL process.

¢  Enabling Business Intelligence

  Dimensional Objects

In the previous release, you had to use the OLAP bridge to deploy dimensional objects to an analytic workspace. Beginning with this release, the logical design of the dimensional object is separated from the storage. You can use the same metadata to create and manage both your relational and multidimensional data stores. You define the dimensional object and can then deploy them directly either to a relational schema or to an analytic workspace.

  Business Intelligence Objects

Beginning with this release, you can define or derive business intelligence objects that can be integrated with analytical business intelligence tools such as Oracle BI Discoverer and Oracle BI Beans. You can deploy business intelligence objects defined using Warehouse Builder to these tools and then perform adhoc queries on the warehouse data.

¢  Enhancements to Enable Expertise Capture

Beginning with this release, you can create experts that enable you to build your own applications by reusing Warehouse Builder components. Experts are solutions that enable advanced users to design solutions that simplify routine or complex tasks that can be performed by end users.

¢  Terminology Changes

  Synchronize replace Reconcile

For an operator such as a source and target operator or a key lookup, Warehouse Builder maintains a version of the object in the repository. Propagating changes between an operator and its repository object is known as synchronizing. In previous releases, this process was known as reconciling or reconciliation. These terms are no longer used.

  Refresh replace Synchronize

When multiple users access the same repository, use the refresh command to update the Design Center display. In previous releases, this command was called synchronize. Synchronize now refers to the action of updating an operator with an associated repository object.

  User Defined Process replace External Process

In previous releases, an activity that you defined in a process flow to launch an external process was known as an External Process activity. In this release, the term is now User Defined Process.

 

¢  Improvements to the Documentation Set

The documentation set has been reorganized and revised.

The book formerly entitled the Oracle Warehouse Builder Installation and Configuration Guide is now entitled the Oracle Warehouse Builder Installation and Administration Guide and includes administration information such as implementing security.

Oracle Warehouse Builder User's Guide now includes enhanced introductory and conceptual information.

Oracle Warehouse Builder API and Scripting Reference now include information on using experts and the Expert Editor, which was formerly contained in the User's Guide.

Read More...

15 April 2009

0 Running ANT

Command Line
If you've installed Ant as described in the Installing Ant section, running Ant from the command-line is simple: just type ant.

When no arguments are specified, Ant looks for a build.xml file in the current directory and, if found, uses that file as the build file and runs the target specified in the default attribute of the <project> tag. To make Ant use a build file other than build.xml, use the command-line option -buildfile file, where file is the name of the build file you want to use

If you use the -find [file] option, Ant will search for a build file first in the current directory, then in the parent directory, and so on, until either a build file is found or the root of the filesystem has been reached. By default, it will look for a build file called build.xml. To have it search for a build file other than build.xml, specify a file argument.

Note: If you include any other flags or arguments on the command line after the -find flag, you must include the file argument for the -find flag, even if the name of the build file you want to find is build.xml.

You can also set properties on the command line. This can be done with the -Dproperty=value option, where property is the name of the property, and value is the value for that property. If you specify a property that is also set in the build file (see the property task), the value specified on the command line will override the value specified in the build file. Defining properties on the command line can also be used to pass in the value of environment variables - just pass -DMYVAR=%MYVAR% (Windows) or -DMYVAR=$MYVAR (Unix) to Ant. You can then access these variables inside your build file as ${MYVAR}. You can also access environment variables using the property task's environment attribute.

Options that affect the amount of logging output by Ant are:
-quiet, which instructs Ant to print less information to the console;
-verbose, which causes Ant to print additional information to the console;
-debug, which causes Ant to print considerably more additional information.
It is also possible to specify one or more targets that should be executed. When omitted, the target that is specified in the default attribute of the project tag is used.
The -projecthelp option prints out a list of the build file's targets. Targets that include a description attribute are listed as "Main targets", those without a description are listed as "Subtargets", then the "Default" target is listed.

Command-line Options Summary
ant [options] [target [target2 [target3] ...]]

Options:

-help, -h

print this message

-projecthelp, -p

print project help information

-version

print the version information and exit

-diagnostics

print information that might be helpful to diagnose or report problems.

-quiet, -q

be extra quiet

-verbose, -v

be extra verbose

-debug, -d

print debugging information

-emacs, -e

produce logging information without adornments

-lib <path>

specifies a path to search for jars and classes

-logfile <file>

use given file for log

-l <file>

use given file for log

-logger <classname>

the class which is to perform logging

-listener <classname>

add an instance of class as a project listener

-noinput

do not allow interactive input

-buildfile <file>

use given buildfile

-file <file>

use given buildfile

-f <file>

use given buildfile

-D<property>=<value>

use value for given property

-keep-going, -k

execute all targets that do not depend on failed target(s)

-propertyfile <name>

load all properties from file with -D properties taking precedence

-inputhandler <class>

the class which will handle input requests

-find <file>

(s)earch for buildfile towards the root of

-s <file>

the filesystem and use it

Ant tasks

The following tables provide a short description of each task.

  • Archive Tasks (Jar, Ear, Tar, War, GZip, Zip etc.)
  • Audit/Coverage Tasks (JDepend, JPorbe, MMetrics, etc. )
  • Compile Tasks (javac, jspc, rmic etc.)
  • Deployment Tasks (ServerDeploy)
  • Documentation Tasks (Javadoc, Stylebook)
  • EJB Tasks
  • Execution Tasks (Ant, Antcall, Exec, Java, Sleep etc.)
  • File Tasks (Attrib, Copy, Copydir, delete, Mkdir etc.)
  • Java2 Extensions Tasks (Jarlib-available, Jarlib-display etc.)
  • Logging Tasks (Record)
  • Mail Tasks (Mail, MimeMail)
  • Miscellaneous Tasks (Echo, GenKey, Script, Sql etc.)
  • .NET Tasks
  • Pre-process Tasks (ANTLR, AntStructure, Import, Xslt/Style etc.)
  • Property Tasks (Available, Basename, BuildNumber, LoadFile etc.)
  • Remote Tasks (FTP, Telnet etc. )
  • SCM Tasks (Cvs, CvsChangeLog, CVSPass etc.)
  • Testing Tasks (Junit, JunitReport, Test)
  • Visual Age for Java Tasks

Core tasks

  • Ant
  • AntCall
  • AntStructure
  • Apply/ExecOn
  • Available
  • Basename
  • BuildNumber
  • BUnzip2
  • BZip2
  • Checksum
  • Chmod
  • Concat
  • Condition
  • Supported conditions
  • Copy
  • Copydir
  • Copyfile
  • Cvs
  • CvsChangeLog
  • CVSPass
  • CvsTagDiff
  • Defaultexcludes
  • Delete
  • Deltree
  • Dependset
  • Dirname
  • Ear
  • Echo
  • Exec
  • Fail
  • Filter
  • FixCRLF
  • GenKey
  • Get
  • GUnzip
  • GZip
  • Import
  • Input
  • Jar
  • Java
  • Javac
  • Javadoc/Javadoc2
  • LoadFile
  • LoadProperties
  • Mail
  • MacroDef
  • Manifest
  • Mkdir
  • Move
  • Parallel
  • Patch
  • PathConvert
  • PreSetDef
  • Property
  • Record
  • Rename
  • Replace
  • Rmic
  • Sequential
  • SignJar
  • Sleep
  • Sql
  • Style
  • Subant
  • Sync
  • Tar
  • Taskdef
  • Tempfile
  • Touch
  • TStamp
  • Typedef
  • Unjar
  • Untar
  • Unwar
  • Unzip
  • Uptodate
  • Waitfor
  • War
  • WhichResource
  • XmlProperty
  • Xslt
  • Zip

Ant command line arguments

Several tasks take arguments that will be passed to another process on the command line. To make it easier to specify arguments that contain space characters, nested arg elements can be used.

value - a single command-line argument; can contain space characters.
file - The name of a file as a single command-line argument; will be replaced with the absolute filename of the file.
path - A string that will be treated as a path-like string as a single command-line argument; you can use ; or : as path separators and Ant will convert it to the platform's local conventions.
pathref - Reference to a path defined elsewhere. Ant will convert it to the platform's local conventions.
line - a space-delimited list of command-line arguments.

It is highly recommended to avoid the line version when possible. Ant will try to split the command line in a way similar to what a (Unix) shell would do, but may create something that is very different from what you expect under some circumstances.

Examples
<arg value="-l -a"/>
is a single command-line argument containing a space character.
<arg line="-l -a"/>
represents two separate command-line arguments.
<arg path="/dir;/dir2:\dir3"/>
is a single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

Command-line Options Summary
ant [options] [target [target2 [target3] ...]]

Options:

-help, -h

Displays help information describing the Ant command and its options

-projecthelp, -p

Print project help information

-version

Print the version information and exit

-diagnostics

Print information that might be helpful to diagnose or report problems.

-quiet, -q

Suppresses most messages not originated by an echo task in the buildfile

-verbose, -v

Displays detailed messages for every operation during a build.

-debug, -d

Print debugging information

-emacs, -e

Produce logging information without adornments

-lib <path>

Specifies a path to search for jars and classes

-logfile <file>

Use given file for log

-l <file>

Use given file for log

-logger <classname>

Specifies a class to handle Ant logging.

-listener <classname>

Add an instance of class as a project listener

-noinput

Do not allow interactive input

-buildfile <file>

Use given buildfile

-file <file>

Use given buildfile

-f <file>

Use given buildfile

-D<property>=<value>

Defines a property name-value pair on the command line.

-keep-going, -k

execute all targets that do not depend on failed target(s)

-propertyfile <name>

load all properties from file with -D properties taking precedence

-inputhandler <class>

the class which will handle input requests

-find <file>

Search for buildfile towards the root of the filesystem and use it

Read More...