• IBM Consulting

    DBA Consulting can help you with IBM BI and Web related work. Also IBM Linux is our portfolio.

  • Oracle Consulting

    For Oracle related consulting and Database work and support and Migration call DBA Consulting.

  • Novell/RedHat Consulting

    For all Novell Suse Linux and SAP on Suse Linux questions releated to OS and BI solutions. And offcourse also for the great RedHat products like RedHat Enterprise Server and JBoss middelware and BI on RedHat.

  • Microsoft Consulting

    For Microsoft Server 2012 onwards, Microsoft Client Windows 7 and higher, Microsoft Cloud Services (Azure,Office 365, etc.) related consulting services.

  • Citrix Consulting

    Citrix VDI in a box, Desktop Vertualizations and Citrix Netscaler security.

  • Web Development

    Web Development (Static Websites, CMS Websites (Drupal 7/8, WordPress, Joomla, Responsive Websites and Adaptive Websites).

27 April 2010

TIP

Caution! 


Never construct a WHERE clause or query using unfiltered data entered by the user; doing so opens you to attack by SQL injection from malicious users. Instead either filter user input to make sure it does not contain SQL code, or use BIND VARIABLES and view criteria in stead of setQuery().

24 April 2010

Your Database is slow, and now…..


When your Database is slow there are a few possible sources to look for the bottleneck(s) in your Database.

1)    The OS is not tuned correctly.

For Linux and UNIX set your semaphores, shared memory realms and shmmax and shmmin parameters and max_nproc parameters.

For windows set the virtual memory parameter correct.

2)   The Database is not tuned correctly.

Set the init.ora parameters correctly and use AMM and ASMM. Size the UNDO tablespace and the undo segments correctly. For RAC determine whether to use a logical standby Database or a Physical standby Database.

3)   The SQL and PL/SQL statements are not tuned well enough.

Use automatic SQL tuning in oracle 10g and 11g. In earlier releases tune the statements with reprogramming and SQL plan management.

Query Optimizer and Execution Plans

When a SQL statement is executed on an Oracle database, the query optimizer determines the most efficient execution plan after considering many factors related to the objects referenced and the conditions specified in the query. This determination is an important step in the processing of any SQL statement and can greatly affect execution time.
During the evaluation process, the query optimizer reviews statistics gathered on the system to determine the best data access path and other considerations. You can override the execution plan of the query optimizer with hints inserted in SQL statement.

4)   In Oracle 11g use Native dynamic SQL or Static SQL depending on your objective. There is an expert presentation on that from Seven Feuerstein on the TOAD website.


5)   Use Native compiling of Java and PL/SQL procedures and packages in Oracle 11g. Oracle proved substantial improvements in performance of up to a 100 percent!

A new option is available from Oracle:


Oracle TimesTen In-Memory Database (TimesTen) is a memory-optimized relational database that empowers applications with the responsiveness and high throughput required by today's real-time enterprises and industries such as telecom, capital markets and defense. Oracle In-Memory Database Cache (IMDB Cache) uses the Oracle TimesTen In-Memory Database as its RDBMS engine. Deployed in the application tier as an embedded database, Oracle TimesTen In-Memory Database operates on databases that fit entirely in physical memory using standard SQL interfaces. High availability for the in-memory database is provided through real-time transactional replication.

12 April 2010

Use Data Guard and Configure the DB_ULTRA_SAFE Initialization Parameter
Use Data Guard and configure the DB_ULTRA_SAFE initialization parameter on both the primary and standby systems for the most comprehensive data corruption prevention and detection.
·         On the primary database, set the DB_ULTRA_SAFE=DATA_AND_INDEX initialization parameter to prevent and detect data corruptions in a timely manner, and thus provide critical data protection and high availability for the Oracle Database.
The DB_ULTRA_SAFE initialization parameter also controls other data protection behavior in Oracle Database, such as requiring ASM to perform sequential mirror write I/Os.
Table 2-1 describes the values that the DB_ULTRA_SAFE parameter automatically assigns to the DB_BLOCK_CHECKING, DB_BLOCK_CHECKSUM, or DB_LOST_WRITE_PROTECT parameters.
Table 2-1 Parameter Values Set by the DB_ULTRA_SAFE Initialization Parameter
When you set DB_ULTRA_SAFE to ...
Then ...
DATA_AND_INDEX (recommended)
o                                DB_BLOCK_CHECKING is set to FULL.
o                                DB_LOST_WRITE_PROTECT is set     to TYPICAL.
o                                DB_BLOCK_CHECKSUM is set to FULL.
DATA_ONLY
o                                DB_BLOCK_CHECKING is set to MEDIUM.
o                                DB_LOST_WRITE_PROTECT is set to TYPICAL.
o                                DB_BLOCK_CHECKSUM is set to FULL.

Note:
When you set the DB_ULTRA_SAFE parameter, it automatically integrates and controls the behavior (described in Table 2-1) of the following initialization parameters:
o        DB_BLOCK_CHECKING detects and prevents data block corruptions.
Block checking prevents memory and data corruptions, but it incurs some performance overhead on every block change. For many applications, the block changes are a small percentage compared to the blocks read (typically less than five percent), so the overall effect of enabling block checking is small.
o        DB_BLOCK_CHECKSUM detects redo and data block corruptions and can prevent most corruptions from happening on the physical standby database.
Redo and data block checksums detect corruptions on the primary database and protect the standby database. This parameter requires minimal CPU resources.
o        DB_LOST_WRITE_PROTECT detects stray and lost writes.
Lost write protection enables a physical standby database to detect lost write corruptions on both the primary and physical standby database.
However, if you explicitly set the DB_BLOCK_CHECKING, DB_BLOCK_CHECKSUM, or DB_LOST_WRITE_PROTECT parameters in the initialization parameter file, then the DB_ULTRA_SAFE parameter has no effect and no changes are made to the parameter values. Thus, if you specify the DB_ULTRA_SAFE parameter, do not explicitly set these underlying parameters.
·         On physical standby databases, specify the DB_BLOCK_CHECKSUM and DB_LOST_WRITE_PROTECT parameters:
o        Set DB_BLOCK_CHECKSUM=FULL
If DB_BLOCK_CHECKSUM is set to FULL, then both disk corruption and in-memory corruption are detected and the block is not written to disk, thus preserving the integrity of the physical standby database. This parameter has minimal effect on Redo Apply performance.
o        Set DB_LOST_WRITE_PROTECT=TYPICAL
Lost write protection prevents corruptions—due to stray or lost writes on the primary—from being propagated and applied to the standby database. Setting this parameter has a negligible effect on the standby database. Moreover, setting the DB_LOST_WRITE_PROTECT initialization parameter is recommended over employing the HARD solution, because HARD does not provide full stray and lost write protection and redo application validation.
·         A standby database is a database that is decoupled from the primary database and on which redo data is checked and verified. Redo Apply and SQL Apply processes perform another layer of validation on the standby database that can detect stray or lost writes and corrupted blocks caused by hardware, software, or network issues. Most of these issues cannot be detected on the primary database or may remain hidden on the primary database for a long period.
·         Enable the DB_BLOCK_CHECKING initialization parameter.
Consider setting the DB_BLOCK_CHECKING parameter only on the primary database. Enabling DB_BLOCK_CHECKING on the standby database incurs a much higher overhead and can dramatically reduce Redo Apply performance. Testing is recommended to measure the effect on your environment.

10 April 2010

HTML/CSS3 Browser Compatibility Table


The Browser Wars are in full swing with the new standards of HTML5 and CSS3 making their way into use. Some of the fiercest competitors are lingering old versions of the browsers. If you’re wanting to use a cool new feature, this site can help you understand which browsers will support it. The site currently lists compatibility for Firefox 3.5 and Safari 4 on Mac and these versions for Windows:
  • Firefox 2, 3, 3.5, 3.6
  • Safari 4
  • Chrome 2
  • Internet Explorer 6, 7, 8
  • Opera 10



The site includes many subcategories for HTML5 Embedded Content, Web Applications, CSS3 Properties, HTML5 Forms 2.0, and CSS3 Selectors. The table is updated each Friday and you can find it here at the Web Designers’ Browser Support Checklist.
The same site has another related product that might be of interest. The Client Reporting tool works in 3 steps. You create an account and it generates a link. You send that link to people that will be using your website. You then get a detailed report about their browser, operating system, and other details that will help you design a fully-featured and fully-compatible website.
For a good guide on HTML 5 and CSS3 implementation techniques (with source and demo), check out this article at NetTuts+.


Web Designer's Checklist

CSS3 Properties

Platform
MAC
WIN
Browser
CHROME
FIREFOX
OPERA
SAFARI
CHROME
FIREFOX
OPERA
SAFARI
IE
Version<
5
3.6
10.1
4
4
3.6
3
10
10.5
4
6
7
8
RGBA
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
HSLA
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
Multiple Backgrounds
Y
Y
N
Y
Y
Y
N
N
Y
Y
N
N
N
Border Image
Y
Y
N
Y
Y
Y
N
N
Y
Y
N
N
N
Border Radius
Y
Y
N
Y
Y
Y
Y
N
Y
Y
N
N
N
Box Shadow
Y
Y
N
Y
Y
Y
N
N
Y
Y
N
N
N
Opacity
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
CSS Animations
Y
N
N
Y
Y
N
N
N
N
Y
N
N
N
CSS Columns
Y
Y
N
Y
Y
Y
Y
N
N
Y
N
N
N
CSS Gradients
Y
Y
N
Y
Y
Y
N
N
N
Y
N
N
N
CSS Reflections
Y
N
N
Y
Y
N
N
N
N
Y
N
N
N
CSS Transforms
Y
Y
N
Y
Y
Y
N
N
Y
Y
N
N
N
CSS Transforms 3D
Y
N
N
Y
Y
N
N
N
N
Y
N
N
N
CSS Transitions
Y
N
N
Y
Y
N
N
N
Y
Y
N
N
N
CSS FontFace
Y
Y
Y
Y
Y
Y
N
Y
Y
Y
Y
Y
Y

CSS3 Selectors

Platform
MAC
WIN
Browser
CHROME
FIREFOX
OPERA
SAFARI
CHROME
FIREFOX
OPERA
SAFARI
IE
Version<
5
3.6
10.1
4
4
3.6
3
10
10.5
4
6
7
8
CSS3: Begins with
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
Y
Y
CSS3: Ends with
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
Y
Y
CSS3: Matches
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
Y
Y
CSS3: Root
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
CSS3: nth-child
Y
Y
Y
Y
Y
Y
N
Y
Y
Y
N
N
N
CSS3: nth-last-child
Y
Y
Y
Y
Y
Y
N
Y
Y
Y
N
N
N
CSS3: nth-of-type
Y
Y
Y
Y
Y
Y
N
Y
Y
Y
N
N
N
CSS3: nth-last-of-type
Y
Y
Y
Y
Y
Y
N
Y
Y
Y
N
N
N
CSS3: last-child
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
CSS3: first-of-type
Y
Y
Y
Y
Y
Y
N
Y
Y
Y
N
N
N
CSS3: last-of-type
Y
Y
Y
Y
Y
Y
N
Y
Y
Y
N
N
N
CSS3: only-child
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
CSS3: only-of-type
Y
Y
Y
Y
Y
Y
N
Y
Y
Y
N
N
N
CSS3: empty
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
CSS3: target
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
CSS3: enabled
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
CSS3: disabled
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
CSS3: checked
Y
Y
N
Y
Y
Y
Y
N
Y
Y
N
N
N
CSS3: not
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
CSS3: General Sibling
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
Y
Y

HTML5 Web Applications

Platform
MAC
WIN
Browser
CHROME
FIREFOX
OPERA
SAFARI
CHROME
FIREFOX
OPERA
SAFARI
IE
Version<
5
3.6
10.1
4
4
3.6
3
10
10.5
4
6
7
8
Local Storage
Y
Y
N
Y
Y
Y
N
N
Y
Y
N
N
Y
Session Storage
N
Y
N
Y
N
Y
Y
N
Y
Y
N
N
Y
Post Message
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
Y
Offline Applications
Y
Y
N
Y
N
Y
Y
N
N
Y
N
N
N
Workers
Y
Y
N
Y
Y
Y
N
N
N
Y
N
N
N
Query Selector
Y
Y
Y
Y
Y
Y
N
Y
Y
Y
N
N
N
Web Database
Y
N
N
Y
Y
N
N
N
Y
Y
N
N
N
GeoLocation
N
Y
N
N
N
Y
N
N
N
N
N
N
N

HTML5 Embedded Content

Platform
MAC
WIN
Browser
CHROME
FIREFOX
OPERA
SAFARI
CHROME
FIREFOX
OPERA
SAFARI
IE
Version<
5
3.6
10.1
4
4
3.6
3
10
10.5
4
6
7
8
Canvas
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
Canvas Text
Y
Y
N
Y
Y
Y
N
N
Y
Y
N
N
N
Audio
Y
Y
N
Y
Y
Y
N
N
Y
Y
N
N
N
Video
Y
Y
N
Y
Y
Y
N
N
Y
Y
N
N
N

HTML5 Audio Codecs

Platform
MAC
WIN
Browser
CHROME
FIREFOX
OPERA
SAFARI
CHROME
FIREFOX
OPERA
SAFARI
IE
Version<
5
3.6
10.1
4
4
3.6
3
10
10.5
4
6
7
8
Audio: ogg
Y
Y
N
N
Y
Y
N
N
Y
N
N
N
N
Audio: mp3
N
N
N
Y
N
N
N
N
Y
Y
N
N
N
Audio: wav
N
Y
N
Y
N
Y
N
N
Y
Y
N
N
N
Audio: AAC
Y
N
N
N
Y
N
N
N
Y
N
N
N
N

HTML5 Video Codecs

Platform
MAC
WIN
Browser
CHROME
FIREFOX
OPERA
SAFARI
CHROME
FIREFOX
OPERA
SAFARI
IE
Version<
5
3.6
10.1
4
4
3.6
3
10
10.5
4
6
7
8
Video: ogg
Y
Y
N
N
Y
Y
N
N
Y
N
N
N
N
Video: H.264
Y
N
N
Y
Y
N
N
N
N
Y
N
N
N

HTML5 Forms Inputs

Platform
MAC
WIN
Browser
CHROME
FIREFOX
OPERA
SAFARI
CHROME
FIREFOX
OPERA
SAFARI
IE
Version<
5
3.6
10.1
4
4
3.6
3
10
10.5
4
6
7
8
Form: Search
Y
N
N
Y
Y
N
N
N
N
Y
N
N
N
Form: Phone
Y
N
N
Y
Y
N
N
N
N
Y
N
N
N
Form: URL
Y
N
Y
Y
Y
N
N
Y
Y
Y
N
N
N
Form: Email
Y
N
Y
Y
Y
N
N
Y
Y
Y
N
N
N
Form: DateTime
Y
N
Y
N
N
N
N
Y
Y
N
N
N
N
Form: Date
Y
N
Y
N
N
N
N
Y
Y
N
N
N
N
Form: Month
Y
N
Y
N
N
N
N
Y
Y
N
N
N
N
Form: Week
Y
N
Y
N
N
N
N
Y
Y
N
N
N
N
Form: Time
Y
N
Y
N
N
N
N
Y
Y
N
N
N
N
Form: LocalTime
Y
N
Y
N
N
N
N
Y
Y
N
N
N
N
Form: Number
Y
N
Y
Y
Y
N
N
Y
Y
Y
N
N
N
Form: Range
Y
N
Y
Y
Y
N
N
Y
Y
Y
N
N
N
Form: Colour
Y
N
N
N
Y
N
N
N
N
N
N
N
N

HTML5 Forms Attributes

Platform
MAC
WIN
Browser
CHROME
FIREFOX
OPERA
SAFARI
CHROME
FIREFOX
OPERA
SAFARI
IE
Version<
5
3.6
10.1
4
4
3.6
3
10
10.5
4
6
7
8
Form: Autocomplete
N
N
Y
N
N
N
N
Y
Y
N
N
N
N
Form: Autofocus
Y
N
Y
Y
Y
N
N
Y
Y
Y
N
N
N
Form: List
N
N
Y
N
N
N
N
Y
Y
N
N
N
N
Form: Placeholder
Y
N
N
Y
Y
N
N
N
N
Y
N
N
N
Form: Min
Y
N
Y
N
Y
N
N
Y
Y
N
N
N
N
Form: Max
Y
N
Y
N
Y
N
N
Y
Y
N
N
N
N
Form: Multiple
Y
Y
N
Y
Y
Y
N
N
N
Y
N
N
N
Form: Pattern
Y
N
Y
N
Y
N
N
Y
Y
N
N
N
N
Form: Required
Y
N
Y
N
Y
N
N
Y
Y
N
N
N
N
Form: Step
Y
N
Y
N
N
N
N
Y
Y
N
N
N
N