<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.orafaq.com/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.orafaq.com/wiki/api.php?action=feedcontributions&amp;user=Frank+Naude&amp;feedformat=atom</id>
		<title>Oracle FAQ - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.orafaq.com/wiki/api.php?action=feedcontributions&amp;user=Frank+Naude&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Special:Contributions/Frank_Naude"/>
		<updated>2013-05-20T00:50:11Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.2</generator>

	<entry>
		<id>http://www.orafaq.com/wiki/Roles_and_Responsibilities</id>
		<title>Roles and Responsibilities</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Roles_and_Responsibilities"/>
				<updated>2013-03-28T17:22:06Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 60.169.78.177 (talk) to last revision by Frank Naude&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Roles and Responsibilities''' per job type:&lt;br /&gt;
&lt;br /&gt;
== Database Administrator (DBA) ==&lt;br /&gt;
&lt;br /&gt;
=== DBA Responsibilities ===&lt;br /&gt;
The job of the [[DBA]] seems to be everything that everyone else either doesn't want to do, or doesn't have the ability to do. DBAs get the enviable task of figuring out all of the things no one else can figure out. More seriously though, here is a list of typical DBA responsibilities: &lt;br /&gt;
&lt;br /&gt;
* Installation, configuration and upgrading of Oracle server software and related products&lt;br /&gt;
* Evaluate Oracle features and Oracle related products&lt;br /&gt;
* Establish and maintain sound backup and recovery policies and procedures&lt;br /&gt;
* Take care of the Database design and implementation&lt;br /&gt;
* Implement and maintain database security (create and maintain users and roles, assign privileges)&lt;br /&gt;
* Perform database tuning and performance monitoring&lt;br /&gt;
* Perform application tuning and performance monitoring&lt;br /&gt;
* Setup and maintain documentation and standards&lt;br /&gt;
* Plan growth and changes (capacity planning)&lt;br /&gt;
* Work as part of a team and provide 7x24 support when required&lt;br /&gt;
* Perform general technical trouble shooting and give consultation to development teams&lt;br /&gt;
* Interface with Oracle Corporation for technical support.&lt;br /&gt;
* Patch Management and Version Control&lt;br /&gt;
&lt;br /&gt;
=== DBA Skills Required ===&lt;br /&gt;
* Good understanding of the Oracle database, related utilities and tools&lt;br /&gt;
* A good understanding of the underlying operating system&lt;br /&gt;
* A good knowledge of the physical database design&lt;br /&gt;
* Ability to perform both Oracle and operating system performance tuning and monitoring&lt;br /&gt;
* Knowledge of ALL Oracle backup and recovery scenarios&lt;br /&gt;
* A good knowledge of Oracle security management&lt;br /&gt;
* A good knowledge of how Oracle acquires and manages resources&lt;br /&gt;
* A good knowledge Oracle data integrity&lt;br /&gt;
* Sound knowledge of the implemented application systems&lt;br /&gt;
* Experience in code migration, database change management and data management through the various stages of the development life cycle&lt;br /&gt;
* A sound knowledge of both database and system performance tuning&lt;br /&gt;
* A DBA should have sound communication skills with management, development teams, vendors and systems administrators&lt;br /&gt;
* Provide a strategic database direction for the organisation&lt;br /&gt;
* A DBA should have the ability to handle multiple projects and deadlines&lt;br /&gt;
* A DBA should possess a sound understanding of the business&lt;br /&gt;
&lt;br /&gt;
=== DBA Qualifications ===&lt;br /&gt;
* May be certified as an Oracle DBA. See [[Oracle Certification Program]].&lt;br /&gt;
* Preferably a BS in computer science or related engineering field&lt;br /&gt;
* Lots and lots of EXPERIENCE&lt;br /&gt;
&lt;br /&gt;
== Application Database Administrator (ADBA) ==&lt;br /&gt;
Application DBA's or ADBA's are responsible for looking after the application tasks pertaining to a specific application. This includes the creation of database objects, snapshots, SQL tuning, etc.&lt;br /&gt;
&lt;br /&gt;
Typical ADBA responsibilities:&lt;br /&gt;
* Implement and maintain the database design&lt;br /&gt;
* Create database objects (tables, indexes, etc.)&lt;br /&gt;
* Write database procedures, functions and triggers&lt;br /&gt;
* Assist developers with database activities&lt;br /&gt;
* Tune database queries&lt;br /&gt;
* Monitor application related jobs and data replication activities&lt;br /&gt;
&lt;br /&gt;
== Applications Database Administrator (Apps DBA) ==&lt;br /&gt;
Administration of the Oracle [[E-Business Suite]] environment, including the normal DBA and ADBA functions for such an environment.&lt;br /&gt;
&lt;br /&gt;
== Oracle Developer ==&lt;br /&gt;
Person that develops application systems that will de deployed on an Oracle database.&lt;br /&gt;
&lt;br /&gt;
==Generic responsibilities==&lt;br /&gt;
The responsibilities below can be added to any of the above.&lt;br /&gt;
* Complete time sheets&lt;br /&gt;
* Document work performed&lt;br /&gt;
* Interview new candidates&lt;br /&gt;
&lt;br /&gt;
[[Category:Customer engagement]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Roles_and_Responsibilities</id>
		<title>Roles and Responsibilities</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Roles_and_Responsibilities"/>
				<updated>2013-03-24T06:54:39Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 61.160.195.141 (talk) to last revision by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Roles and Responsibilities''' per job type:&lt;br /&gt;
&lt;br /&gt;
== Database Administrator (DBA) ==&lt;br /&gt;
&lt;br /&gt;
=== DBA Responsibilities ===&lt;br /&gt;
The job of the [[DBA]] seems to be everything that everyone else either doesn't want to do, or doesn't have the ability to do. DBAs get the enviable task of figuring out all of the things no one else can figure out. More seriously though, here is a list of typical DBA responsibilities: &lt;br /&gt;
&lt;br /&gt;
* Installation, configuration and upgrading of Oracle server software and related products&lt;br /&gt;
* Evaluate Oracle features and Oracle related products&lt;br /&gt;
* Establish and maintain sound backup and recovery policies and procedures&lt;br /&gt;
* Take care of the Database design and implementation&lt;br /&gt;
* Implement and maintain database security (create and maintain users and roles, assign privileges)&lt;br /&gt;
* Perform database tuning and performance monitoring&lt;br /&gt;
* Perform application tuning and performance monitoring&lt;br /&gt;
* Setup and maintain documentation and standards&lt;br /&gt;
* Plan growth and changes (capacity planning)&lt;br /&gt;
* Work as part of a team and provide 7x24 support when required&lt;br /&gt;
* Perform general technical trouble shooting and give consultation to development teams&lt;br /&gt;
* Interface with Oracle Corporation for technical support.&lt;br /&gt;
* Patch Management and Version Control&lt;br /&gt;
&lt;br /&gt;
=== DBA Skills Required ===&lt;br /&gt;
* Good understanding of the Oracle database, related utilities and tools&lt;br /&gt;
* A good understanding of the underlying operating system&lt;br /&gt;
* A good knowledge of the physical database design&lt;br /&gt;
* Ability to perform both Oracle and operating system performance tuning and monitoring&lt;br /&gt;
* Knowledge of ALL Oracle backup and recovery scenarios&lt;br /&gt;
* A good knowledge of Oracle security management&lt;br /&gt;
* A good knowledge of how Oracle acquires and manages resources&lt;br /&gt;
* A good knowledge Oracle data integrity&lt;br /&gt;
* Sound knowledge of the implemented application systems&lt;br /&gt;
* Experience in code migration, database change management and data management through the various stages of the development life cycle&lt;br /&gt;
* A sound knowledge of both database and system performance tuning&lt;br /&gt;
* A DBA should have sound communication skills with management, development teams, vendors and systems administrators&lt;br /&gt;
* Provide a strategic database direction for the organisation&lt;br /&gt;
* A DBA should have the ability to handle multiple projects and deadlines&lt;br /&gt;
* A DBA should possess a sound understanding of the business&lt;br /&gt;
&lt;br /&gt;
=== DBA Qualifications ===&lt;br /&gt;
* May be certified as an Oracle DBA. See [[Oracle Certification Program]].&lt;br /&gt;
* Preferably a BS in computer science or related engineering field&lt;br /&gt;
* Lots and lots of EXPERIENCE&lt;br /&gt;
&lt;br /&gt;
== Application Database Administrator (ADBA) ==&lt;br /&gt;
Application DBA's or ADBA's are responsible for looking after the application tasks pertaining to a specific application. This includes the creation of database objects, snapshots, SQL tuning, etc.&lt;br /&gt;
&lt;br /&gt;
Typical ADBA responsibilities:&lt;br /&gt;
* Implement and maintain the database design&lt;br /&gt;
* Create database objects (tables, indexes, etc.)&lt;br /&gt;
* Write database procedures, functions and triggers&lt;br /&gt;
* Assist developers with database activities&lt;br /&gt;
* Tune database queries&lt;br /&gt;
* Monitor application related jobs and data replication activities&lt;br /&gt;
&lt;br /&gt;
== Applications Database Administrator (Apps DBA) ==&lt;br /&gt;
Administration of the Oracle [[E-Business Suite]] environment, including the normal DBA and ADBA functions for such an environment.&lt;br /&gt;
&lt;br /&gt;
== Oracle Developer ==&lt;br /&gt;
Person that develops application systems that will de deployed on an Oracle database.&lt;br /&gt;
&lt;br /&gt;
==Generic responsibilities==&lt;br /&gt;
The responsibilities below can be added to any of the above.&lt;br /&gt;
* Complete time sheets&lt;br /&gt;
* Document work performed&lt;br /&gt;
* Interview new candidates&lt;br /&gt;
&lt;br /&gt;
[[Category:Customer engagement]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/User_talk:Frank_Naude</id>
		<title>User talk:Frank Naude</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/User_talk:Frank_Naude"/>
				<updated>2013-01-27T08:13:46Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: /* FRA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Images ==&lt;br /&gt;
Hello Frank,&lt;br /&gt;
Thanks for pointing this out. Please tell me how to delete theses images.&lt;br /&gt;
: Hi DreamzZ, you can just upload new images. I will delete unused images. [[User:Frank Naude|Frank Naude]]&lt;br /&gt;
&lt;br /&gt;
== Uploaded zip files ==&lt;br /&gt;
Hi Frank, what to do with these uploaded zip files not linked to any page that seems to only use OraFAQ as free space? [[User:Michel Cadot|Michel Cadot]]&lt;br /&gt;
&lt;br /&gt;
: Hi Michel, we need to decide if it's useful keeping them or not. If not (most likely scenario), please remove them. If we keep them, we need to somehow categorize and document them. Best regards. [[User:Frank Naude|Frank Naude]] 13:01, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Frank, as most of the time the author does not do anything else than loading their files, it is hard to say what we can do with them. &lt;br /&gt;
This morning Panada loaded a file named &amp;quot;User tables count.zip&amp;quot; which contains a script to count all row numbers in user tables. This issue has been discussed many times in Forum and many solutions has been provided (maybe I should create a Wiki page to bring them together, if this is not already done). This version does not add anything and is even less performant. So I think we can remove it.&lt;br /&gt;
A month ago, Ssamiullah loaded a file named &amp;quot;Difference between 11i and 12i - v1.zip&amp;quot; which contains a paper (pdf) on Business Suite, maybe it is useful I don't know E-Business (not even the current version number). It ends with &amp;quot;This paper is submitted for the convenience of the Oracle Applications DBA’s by Syed Samiullah&amp;quot;, does this mean we possibly can use it? Or is it just there because the author wants to be able to find his paper everywhere? Only the author can say. [[User:Michel Cadot|Michel Cadot]]&lt;br /&gt;
&lt;br /&gt;
: I agree, this one should be removed. In addition, we should look out for copyright violations. If users do not upload their own work, they need to obtain permission from the owner(s) before it can be uploaded here. This permission needs to be clearly indicated. Best regards. [[User:Frank Naude|Frank Naude]] 06:36, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Frank, I deleted the file and a couple of others, I also start a talk Ssamiullah to ask him what he wants to do with his paper. Best regards. [[User:Michel Cadot|Michel Cadot]] 13:49, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== SQL FAQ ==&lt;br /&gt;
&lt;br /&gt;
The last modification of SQL FAQ page tells the opposite what was said in the previous version about the pronunciation of SQL. &lt;br /&gt;
I don't know which one is true, can you have a look at it.&lt;br /&gt;
Thanks.&lt;br /&gt;
&lt;br /&gt;
[[User:Michel Cadot|Michel Cadot]] 17:27, 23 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Thanks Michel. I've seen the update, but don't know how to respond either. Best regards. [[User:Frank Naude|Frank Naude]] 17:43, 23 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Steven Feuerstein page ==&lt;br /&gt;
&lt;br /&gt;
[[Steven Feuerstein]] page is a copy of Wikipedia one added by Berny, can we keep it or must we delete it?&lt;br /&gt;
[[User:Michel Cadot|Michel Cadot]] 06:14, 8 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: If he is the author the Wikipedia article we can keep it (he is the legal copyright owner). If not, we can still keep it, but we need to adhere to the conditions in Wikipedia's Creative Commons Attribution-ShareAlike License. This entails a link to the original article and giving credit to all significant authors of the document. Best regards. [[User:Frank Naude|Frank Naude]] 07:37, 8 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
It seems to be the main contributor of Wikipedia article (Berny68); I let you make the modifications that seem necessary for you. Best regards. [[User:Michel Cadot|Michel Cadot]] 08:38, 8 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Index-organized table‎ wiki page ==&lt;br /&gt;
&lt;br /&gt;
Hi Frank, I rewrote the [[Index-organized table‎]] page, when you'll have some time could you check and correct my english. Thanks. [[User:Michel Cadot|Michel Cadot]] 15:53, 20 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
: My English isn't that great either, but I'll give it a go. Best regards. [[User:Frank Naude|Frank Naude]] 17:45, 20 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
This is far better now, thanks. [[User:Michel Cadot|Michel Cadot]] 19:03, 20 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== CSV ==&lt;br /&gt;
&lt;br /&gt;
Thanks, I notice that in code triple quotes are hidden and following text is bold, can you fix this? It is common in sql to have double, triple and quadruple single quotes&lt;br /&gt;
&lt;br /&gt;
: Sorry Frank to interfere in your talk, just to mention to Laurent that he can use the &amp;quot;nowiki&amp;quot; tags:&lt;br /&gt;
: ''' Example '''&lt;br /&gt;
: &amp;lt;nowiki&amp;gt; ''' Example ''' &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: The latter was written &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt; ''' Example ''' &amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: [[User:Michel Cadot|Michel Cadot]] 15:28, 25 July 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Spammer == &lt;br /&gt;
&lt;br /&gt;
We have a new spammer with rude behaviour, he modified twice the Byte wiki page from 2 different IP, 109.169.73.235 and 109.169.70.82, allocated to the same organization &amp;quot;RapidSwitch Ltd&amp;quot; near Wichita, Kansas. I don't know if you have any action or report possibilities at your side to alert against the bad behaviour of this person, first to RapidSwitch then to an official US organization. I will ask the same question to our forum members.&lt;br /&gt;
&lt;br /&gt;
[[User:Michel Cadot|Michel Cadot]] 08:45, 21 January 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
: If it would help, you can &amp;quot;protect&amp;quot; pages so that anonymous users cannot edit them. Regards. Frank&lt;br /&gt;
&lt;br /&gt;
:: Thanks, I note this feature.&lt;br /&gt;
:: Barbara gives a link in her post at http://www.orafaq.com/forum/mv/msg/178259/540283/102589/#msg_540283 some ways are mentioned to report spam. If you don't mind I will first report to RapidSwitch and depending on the answer, the attack of another page and your will, I'll go one step further mailing some mentioned agencies. Tell me if this is a trouble for you.&lt;br /&gt;
:: Regards, Michel&lt;br /&gt;
&lt;br /&gt;
::: No trouble at all. Go for it! Frank&lt;br /&gt;
&lt;br /&gt;
:::: RapidSwitch is a server hosting company based in UK (http://www.rapidswitch.com/about.aspx), I sent them a mail to their abuse@rapidswitch.com address quoting the content the spammers posted here and giving their IP, and asking them to call these spammers to order. Michel&lt;br /&gt;
&lt;br /&gt;
== FRA == &lt;br /&gt;
&lt;br /&gt;
You don't need to activate flashback database to use the FRA; actually flashback database is one of the features of the FRA but it is not necessary.&lt;br /&gt;
The size of the FRA is not a drawback, in my opinion, it depends on what you put in it. If you only put it redo logs, archived logs, disk backups... everything but flashback logs it takes no more space than what we used without the FRA as in this case the FRA is just a centralized replacement of the other FS or diskgroups you use for this.&lt;br /&gt;
Now the space used by the flashback logs depends on what we do on the database and how long we keep the records. How much space it takes can't be seen as a drawback if you need the flashback database feature, as the size of the backups can't be seen as a drawback if we want to restore the database.&lt;br /&gt;
&lt;br /&gt;
I think what you mentioned about Flashback database would be at a better place in the [[Flashback]] page.&lt;br /&gt;
&lt;br /&gt;
[[User:Michel Cadot|Michel Cadot]] ([[User talk:Michel Cadot|talk]]) 17:27, 25 January 2013 (CET)&lt;br /&gt;
&lt;br /&gt;
: A bit of overlap is probably not such a bad thing. However, please feel free to expand, explain or move the info to where you think it belongs. Best regards. [[User:Frank Naude|Frank Naude]] ([[User talk:Frank Naude|talk]]) 09:13, 27 January 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/FRA</id>
		<title>FRA</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/FRA"/>
				<updated>2013-01-25T15:26:43Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reinstate (accidentall) deleted sections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''FRA''' (flash or fast recovery area) is a storage area (directory on disk or [[ASM]] diskgroup) that contains redo logs, control file, archived logs, backup pieces and copies, flashback logs and, in 11''g'', foreign archived logs. The flash recovery area was first introduced in [[Oracle 10g]].&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
To enable FRA for the database:&lt;br /&gt;
 SQL&amp;gt; ALTER DATABASE FLASHBACK ON;&lt;br /&gt;
To disable for selected tablespaces:&lt;br /&gt;
 SQL&amp;gt; ALTER TABLESPACE tbs_1 FLASHBACK OFF;&lt;br /&gt;
&lt;br /&gt;
Related parameters that can to be set:&lt;br /&gt;
* db_recovery_file_dest&lt;br /&gt;
* db_recovery_file_dest_size&lt;br /&gt;
* db_flashback_retention_target (optional, default is 1440 minutes or 1 day)&lt;br /&gt;
&lt;br /&gt;
== Benefits of an FRA ==&lt;br /&gt;
* Quick recovery from backups stored on disk&lt;br /&gt;
* Ability to flashback the database &lt;br /&gt;
* Automate management of recovery related files (like archived logs)&lt;br /&gt;
&lt;br /&gt;
The only drawback is that may require a lot of disk space (up to 2 or 3 times the size of the database).&lt;br /&gt;
&lt;br /&gt;
== Monitoring ==&lt;br /&gt;
To see if it's enabled:&lt;br /&gt;
 SQL&amp;gt; SELECT flashback_on, log_mode FROM v$database;&lt;br /&gt;
&lt;br /&gt;
The FRA can be monitored by selecting from the following views:&lt;br /&gt;
* V_$FLASHBACK_DATABASE_STAT&lt;br /&gt;
* V_$FLASHBACK_DATABASE_LOG&lt;br /&gt;
* V_$FLASHBACK_DATABASE_LOGFILE&lt;br /&gt;
&lt;br /&gt;
==Also see==&lt;br /&gt;
* [[Flashback]] - Oracle's flashback technology&lt;br /&gt;
&lt;br /&gt;
{{Glossary}}&lt;br /&gt;
[[Category:Oracle 10g]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/FRA</id>
		<title>FRA</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/FRA"/>
				<updated>2013-01-25T12:33:16Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''FRA''' (flash recovery area) is a storage area (directory on disk or [[ASM]] diskgroup) that enables database Flash Backup and Recovery operations. The flash recovery area was first introduced with [[Oracle 10g]].&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
To enable FRA:&lt;br /&gt;
 SQL&amp;gt; alter database flashback on;&lt;br /&gt;
&lt;br /&gt;
Related parameters that needs to be set:&lt;br /&gt;
* db_recovery_file_dest&lt;br /&gt;
* db_recovery_file_dest_size&lt;br /&gt;
* db_flashback_retention_target &lt;br /&gt;
&lt;br /&gt;
== Benefits of an FRA ==&lt;br /&gt;
* Quick recovery from backups stored on disk&lt;br /&gt;
* Ability to flashback the database &lt;br /&gt;
* Automate management of recovery related files (like archlogs)&lt;br /&gt;
* Oracle’s recommended backup strategy (?!?)&lt;br /&gt;
&lt;br /&gt;
The only drawback is that it requires a lot of space (2 - 3 times the size of the database).&lt;br /&gt;
&lt;br /&gt;
==Also see==&lt;br /&gt;
* [[Flashback]] - Oracle's flashback technology&lt;br /&gt;
&lt;br /&gt;
{{Glossary}}&lt;br /&gt;
[[Category:Oracle 10g]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/PSP</id>
		<title>PSP</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/PSP"/>
				<updated>2012-12-22T17:45:15Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 99.157.53.6 (talk) to last revision by 195.208.174.53&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''PL/SQL Server Pages''' (PSP) is a technology similar to [[ASP]] (Active Server Pages) and [[JSP]] (Java Server Pages). &lt;br /&gt;
&lt;br /&gt;
The basic design ([[HTML]] page) is created in a visual tool, for instance an HTML designer and the [[PL/SQL]] code (also called scriptlets) is embedded within special tags. Only the absolute minimum of PL/SQL will have to be written and the HTML designer and PL/SQL programmer can share the same file. A PSP file is compiled into a PL/SQL stored procedure, which means that the PSP compile is used during the development phase only.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
PSP was first introduced with Oracle 8i (8.1.6).&lt;br /&gt;
&lt;br /&gt;
== Sample PSP pages ==&lt;br /&gt;
 &amp;lt;%@ page language=&amp;quot;PL/SQL&amp;quot; %&amp;gt;&lt;br /&gt;
 &amp;lt;%@ plsql procedure=&amp;quot;hello&amp;quot; %&amp;gt;&lt;br /&gt;
 &amp;lt;%@ plsql parameter=&amp;quot;username&amp;quot; default=&amp;quot;NULL&amp;quot;%&amp;gt;&lt;br /&gt;
 &amp;lt;HTML&amp;gt;&lt;br /&gt;
 &amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;Hello User&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt;&lt;br /&gt;
 &amp;lt;BODY&amp;gt;&lt;br /&gt;
 &amp;lt;% BEGIN &lt;br /&gt;
      IF username IS NOT NULL THEN&lt;br /&gt;
 %&amp;gt;&lt;br /&gt;
         Hello &amp;lt;%= username %&amp;gt;&lt;br /&gt;
 &amp;lt;%&lt;br /&gt;
      ELSE&lt;br /&gt;
 %&amp;gt;&lt;br /&gt;
         No username provided!&lt;br /&gt;
 &amp;lt;%&lt;br /&gt;
      END IF;&lt;br /&gt;
    END;&lt;br /&gt;
 %&amp;gt;&lt;br /&gt;
 &amp;lt;/BODY&amp;gt;&lt;br /&gt;
 &amp;lt;/HTML&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A more complicated example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;%@ page language=&amp;quot;PL/SQL&amp;quot; %&amp;gt; &lt;br /&gt;
 &amp;lt;%@ plsql procedure=&amp;quot;Parameters&amp;quot; %&amp;gt; &lt;br /&gt;
 &amp;lt;HTML&amp;gt; &lt;br /&gt;
 &amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;This is a Test PSP Page&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt; &lt;br /&gt;
 &amp;lt;BODY&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;h1&amp;gt;List of database parameters:&amp;lt;/H1&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;TABLE&amp;gt;&lt;br /&gt;
 &amp;lt;% FOR parm IN (select name, value from sys.v_$parameter&lt;br /&gt;
 order by name) &lt;br /&gt;
 LOOP &lt;br /&gt;
   IF parm.value IS NULL THEN &lt;br /&gt;
      parm.value := 'no value'; &lt;br /&gt;
   END IF;&lt;br /&gt;
 %&amp;gt;&lt;br /&gt;
 &amp;lt;TR&amp;gt;&lt;br /&gt;
   &amp;lt;TD&amp;gt;&amp;lt;%= parm.name %&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
   &amp;lt;TD&amp;gt;&amp;lt;%= parm.value %&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;/TR&amp;gt;&lt;br /&gt;
 &amp;lt;% END LOOP; %&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/TABLE&amp;gt;&lt;br /&gt;
 &amp;lt;/BODY&amp;gt; &lt;br /&gt;
 &amp;lt;/HTML&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Deploying PSP pages ==&lt;br /&gt;
To compile a psp file, say hellp.psp: &lt;br /&gt;
&lt;br /&gt;
 loadpsp -replace -user name/pass hellp.psp&lt;br /&gt;
&lt;br /&gt;
==Also see==&lt;br /&gt;
* [[Mod_plsql]] - Apache PL/SQL module&lt;br /&gt;
* [[APEX]] - Oracle Application Express&lt;br /&gt;
&lt;br /&gt;
{{Glossary}}&lt;br /&gt;
[[Category: Development]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Dual</id>
		<title>Dual</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Dual"/>
				<updated>2012-12-11T06:54:26Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 203.248.117.237 (talk) to last revision by KronosAeon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float:right;&amp;quot;&lt;br /&gt;
| {{DUAL}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''DUAL''' is a [[table]] owned by the [[SYS]] user that contains a single [[VARCHAR2]] [[column]] called DUMMY and a single [[row]] with the value 'X' in it. This table is handy when you want to [[select]] a [[pseudocolumn]] such as SYSDATE or simply select an expression and only want to get a single row back.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
The DUAL table was created by [[Chuck Weiss]], an employee of [[Oracle Corporation]]. As it originally contained two rows, this table was named DUAL. He explained the purpose of DUAL in the November/December 2004 issue of [[Oracle Magazine]] as:&lt;br /&gt;
&lt;br /&gt;
: ''I created the DUAL table as an underlying object in the Oracle Data Dictionary. It was never meant to be seen itself, but instead used inside a view that was expected to be queried. The idea was that you could do a JOIN to the DUAL table and create two rows in the result for every one row in your table. Then, by using GROUP BY, the resulting join could be summarized to show the amount of storage for the DATA extent and for the INDEX extent(s). The name, DUAL, seemed apt for the process of creating a pair of rows from just one.''&lt;br /&gt;
&lt;br /&gt;
== Structure and content ==&lt;br /&gt;
Describe the table:&lt;br /&gt;
 SQL&amp;gt; DESC sys.dual&lt;br /&gt;
 Name                            Null?    Type&lt;br /&gt;
 ------------------------------- -------- -----------------------&lt;br /&gt;
 DUMMY                                    VARCHAR2(1)&lt;br /&gt;
&lt;br /&gt;
Look at the data in the table:&lt;br /&gt;
 SELECT * FROM sys.dual;&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
Many systems depend heavily on the DUAL table and run repetitive queries against it. A lot of combined [[I/O]] are thus unnecessarily performed to read this table (physical and logical I/O). However, starting with [[Oracle 10g]] the database was optimised and no longer performs any I/O against DUAL unless the table's data should be displayed. The function provided by DUAL was somehow internalized and the query optimizer will intelligently know what to do when this table is encountered in a query.&lt;br /&gt;
&lt;br /&gt;
[[Explain plan]] without optimization (for example: select * from dual):&lt;br /&gt;
 --------------------------------------------------------------------------&lt;br /&gt;
 | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |&lt;br /&gt;
 --------------------------------------------------------------------------&lt;br /&gt;
 |   0 | SELECT STATEMENT  |      |     1 |     2 |     2   (0)| 00:00:01 |&lt;br /&gt;
 |   1 |  '''TABLE ACCESS FULL'''| DUAL |     1 |     2 |     2   (0)| 00:00:01 |&lt;br /&gt;
 --------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Explain plan with optimization (for example: select sysdate from dual):&lt;br /&gt;
 -----------------------------------------------------------------&lt;br /&gt;
 | Id  | Operation        | Name | Rows  | Cost (%CPU)| Time     |&lt;br /&gt;
 -----------------------------------------------------------------&lt;br /&gt;
 |   0 | SELECT STATEMENT |      |     1 |     2   (0)| 00:00:01 |&lt;br /&gt;
 |   1 |  '''FAST DUAL'''       |      |     1 |     2   (0)| 00:00:01 |&lt;br /&gt;
 -----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==Sample usage==&lt;br /&gt;
Get the current date:&lt;br /&gt;
 SELECT sysdate FROM dual;&lt;br /&gt;
&lt;br /&gt;
Select the [[USER]] pseudocolumn:&lt;br /&gt;
 SELECT USER from dual;&lt;br /&gt;
&lt;br /&gt;
Do some maths:&lt;br /&gt;
 SELECT 7*8/9 FROM dual;&lt;br /&gt;
&lt;br /&gt;
Extract the next value from a [[sequence]]:&lt;br /&gt;
 SELECT myseq.NEXTVAL FROM dual;&lt;br /&gt;
&lt;br /&gt;
{{Glossary}}&lt;br /&gt;
[[Category:SQL]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Category:Frequently_Asked_Questions</id>
		<title>Category:Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Category:Frequently_Asked_Questions"/>
				<updated>2012-11-25T07:34:44Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 117.201.10.194 (talk) to last revision by Frank Naude&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Faqguy.gif|left|The FAQ guy]]&lt;br /&gt;
If you notice patterns of many people asking the same question over and over again, it indicates that it's more than just one stupid person - there's something wrong with the availability of information. In such situations, consider adding a '''FAQ''' (Frequently Asked Question) to this section so others can benefit from your wisdom.&lt;br /&gt;
&lt;br /&gt;
'''List of available Frequently Asked Questions (FAQs) on this site:'''[[Category:Top level]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Unusable_indexes</id>
		<title>Unusable indexes</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Unusable_indexes"/>
				<updated>2012-10-18T11:14:49Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Oracle indexes can go into a '''UNUSABLE''' state after maintenance operation on the table or if the index is marked as 'unusable' with an ALTER INDEX command. A direct path load against a table or partition will also leave its indexes unusable.&lt;br /&gt;
&lt;br /&gt;
Queries and other operations agains a table with unuable indexes will generate errors:&lt;br /&gt;
 ''ORA-01502: index ‘string.string’ or partition of such index is in unusable state''&lt;br /&gt;
&lt;br /&gt;
== Detecting ==&lt;br /&gt;
The following SQL comands can be used to detect unuable indexes:&lt;br /&gt;
&lt;br /&gt;
Indexes:&lt;br /&gt;
 SELECT owner, index_name, tablespace_name&lt;br /&gt;
 FROM   dba_indexes&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
Index partitions:&lt;br /&gt;
 SELECT index_owner, index_name, partition_name, tablespace_name&lt;br /&gt;
 FROM   dba_ind_PARTITIONS&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
== Fixing ==&lt;br /&gt;
The following SQL will print out a list of alter commands that can be executed to fix  unusable indexes:&lt;br /&gt;
&lt;br /&gt;
Indexes:&lt;br /&gt;
 SELECT 'alter index '||index_name||' rebuild tablespace ''|tablespace_name ||';'&lt;br /&gt;
 FROM   dba_indexes&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
Index partitions:&lt;br /&gt;
 SELECT 'alter index '||index_name ||' rebuild partition '||PARTITION_NAME||' TABLESPACE '||tablespace_name ||';'&lt;br /&gt;
 FROM   dba_ind_partitions&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
[[Category:Database administration]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Unusable_indexes</id>
		<title>Unusable indexes</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Unusable_indexes"/>
				<updated>2012-10-18T11:12:39Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Oracle indexes can go into a '''UNUSABLE''' state after maintenance operation on the table or if the index is marked as 'unusable' with an ALTER INDEX command. A direct path load against a table or partition will also leave its indexes unusable.&lt;br /&gt;
&lt;br /&gt;
== Detecting ==&lt;br /&gt;
The following SQL comands can be used to detect unuable indexes:&lt;br /&gt;
&lt;br /&gt;
Indexes:&lt;br /&gt;
 SELECT owner, index_name, tablespace_name&lt;br /&gt;
 FROM   dba_indexes&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
Index partitions:&lt;br /&gt;
 SELECT index_owner, index_name, partition_name, tablespace_name&lt;br /&gt;
 FROM   dba_ind_PARTITIONS&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
== Fixing ==&lt;br /&gt;
The following SQL will print out a list of alter commands that can be executed to fix  unusable indexes:&lt;br /&gt;
&lt;br /&gt;
Indexes:&lt;br /&gt;
 SELECT 'alter index '||index_name||' rebuild tablespace ''|tablespace_name ||';'&lt;br /&gt;
 FROM   dba_indexes&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
Index partitions:&lt;br /&gt;
 SELECT 'alter index '||index_name ||' rebuild partition '||PARTITION_NAME||' TABLESPACE '||tablespace_name ||';'&lt;br /&gt;
 FROM   dba_ind_partitions&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
[[Category:Database administration]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/SQL*Plus_FAQ</id>
		<title>SQL*Plus FAQ</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/SQL*Plus_FAQ"/>
				<updated>2012-10-18T11:07:51Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 200.121.65.3 (talk) to last revision by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[SQL*Plus]] FAQ:&lt;br /&gt;
&lt;br /&gt;
==What is SQL*Plus and where does it come from?==&lt;br /&gt;
SQL*Plus is a command line [[SQL]] and [[PL/SQL]] language interface and reporting tool that ships with the Oracle Database Client and Server software. It can be used interactively or driven from scripts. SQL*Plus is frequently used by [[DBA]]s and [[Developer]]s to interact with the [[Oracle database]].&lt;br /&gt;
&lt;br /&gt;
If you are familiar with other databases, sqlplus is equivalent to:&lt;br /&gt;
* &amp;quot;sql&amp;quot; in [[Ingres]], &lt;br /&gt;
* &amp;quot;isql&amp;quot; in [[Sybase]] and [[SQL Server]], &lt;br /&gt;
* &amp;quot;sqlcmd&amp;quot; in [[Microsoft SQL Server]], &lt;br /&gt;
* &amp;quot;db2&amp;quot; in IBM [[DB2]],&lt;br /&gt;
* &amp;quot;psql&amp;quot; in [[PostgreSQL]], and&lt;br /&gt;
* &amp;quot;mysql&amp;quot; in [[MySQL]].&lt;br /&gt;
&lt;br /&gt;
SQL*Plus's predecessor was called UFI (User Friendly Interface). UFI was included in the [[Oracle 2|first Oracle releases]] up to [[Oracle 4]]. The UFI interface was extremely primitive and, in today's terms, anything but user friendly. If a statement was entered incorrectly, UFI issued an error and rolled back the entire transaction.&lt;br /&gt;
&lt;br /&gt;
==How does one use the SQL*Plus utility?==&lt;br /&gt;
Start using SQL*Plus by executing the &amp;quot;sqlplus&amp;quot; command-line utility from the $[[ORACLE_HOME]]/bin directory. Some of the command line options:&lt;br /&gt;
&lt;br /&gt;
 userid/password@db -- Connection details&lt;br /&gt;
 /nolog             -- Do not login to Oracle. You will need to do it yourself.&lt;br /&gt;
 -s or -silent      -- start sqlplus in silent mode. Not recommended for beginners!&lt;br /&gt;
 @myscript          -- Start executing script called &amp;quot;myscript.sql&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Look at this example session:&lt;br /&gt;
 sqlplus /nolog&lt;br /&gt;
 SQL&amp;gt; connect scott/tiger&lt;br /&gt;
 SQL&amp;gt; select * from tab;&lt;br /&gt;
 SQL&amp;gt; disconnect&lt;br /&gt;
 SQL&amp;gt; exit&lt;br /&gt;
&lt;br /&gt;
Please note that one must prepare the environment before starting sqlplus. &lt;br /&gt;
&lt;br /&gt;
Linux/ Unix example: &lt;br /&gt;
&lt;br /&gt;
 $ . oraenv&lt;br /&gt;
 ORACLE_SID = [orcl] ? orcl&lt;br /&gt;
 $ sqlplus scott/tiger&lt;br /&gt;
&lt;br /&gt;
Windows Example:&lt;br /&gt;
&lt;br /&gt;
 Click on &amp;quot;Start&amp;quot; -&amp;gt; &amp;quot;Run&amp;quot; and enter &amp;quot;cmd&amp;quot;&lt;br /&gt;
 C:&amp;gt; set ORACLE_SID=orcl&lt;br /&gt;
 C:&amp;gt; sqlplus scott/tiger&lt;br /&gt;
or...&lt;br /&gt;
 C:&amp;gt; sqlplus scott/tiger@orcl&lt;br /&gt;
&lt;br /&gt;
==What commands can be executed from SQL*Plus?==&lt;br /&gt;
One can enter three kinds of commands from the SQL*Plus command prompt:&lt;br /&gt;
&lt;br /&gt;
'''SQL*Plus commands'''&lt;br /&gt;
&lt;br /&gt;
SQL*Plus commands are used to set options for SQL*Plus, format reports, edit files, edit the command buffer, and so on. SQL*Plus commands do not interact with the database. These commands do not have to be terminated with a semicolon (;) (as is the case with SQL commands). Examples:&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; CLEAR SCREEN&lt;br /&gt;
 SQL&amp;gt; SHOW USER&lt;br /&gt;
 SQL&amp;gt; SET PAGESIZE 100&lt;br /&gt;
 SQL&amp;gt; START myscrip.sql&lt;br /&gt;
&lt;br /&gt;
'''SQL commands'''&lt;br /&gt;
&lt;br /&gt;
For more information see the Oracle [[SQL FAQ]]. Eg:&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; SELECT * FROM user_tables;&lt;br /&gt;
&lt;br /&gt;
'''PL/SQL blocks'''&lt;br /&gt;
&lt;br /&gt;
For more information see the Oracle [[PL/SQL FAQ]]. Eg:&lt;br /&gt;
&lt;br /&gt;
 BEGIN&lt;br /&gt;
   dbms_output.put_line('Hello World!');&lt;br /&gt;
 END;&lt;br /&gt;
 /&lt;br /&gt;
&lt;br /&gt;
==What are the basic SQL*Plus commands?==&lt;br /&gt;
Here is a list of some of the most frequently used SQL*Plus commands:&lt;br /&gt;
&lt;br /&gt;
* ACCEPT - Get input from the user&lt;br /&gt;
* DEFINE - Declare a variable (short: DEF)&lt;br /&gt;
* DESCRIBE - Lists the attributes of tables and other objects (short: DESC)&lt;br /&gt;
* EDIT - Places you in an editor so you can edit a SQL command (short: ED)&lt;br /&gt;
* EXIT or QUIT - Disconnect from the database and terminate SQL*Plus&lt;br /&gt;
* GET - Retrieves a SQL file and places it into the SQL buffer&lt;br /&gt;
* HOST - Issue an operating system command (short: !)&lt;br /&gt;
* LIST - Displays the last command executed/ command in the SQL buffer (short: L)&lt;br /&gt;
* PROMPT - Display a text string on the screen. Eg prompt Hello World!!!&lt;br /&gt;
* RUN - List and Run the command stored in the SQL buffer (short: /)&lt;br /&gt;
* SAVE - Saves command in the SQL buffer to a file. Eg &amp;quot;save x&amp;quot; will create a script file called x.sql&lt;br /&gt;
* SET - Modify the SQL*Plus environment eg. SET PAGESIZE 23&lt;br /&gt;
* SHOW - Show environment settings (short: SHO). Eg SHOW ALL, SHO PAGESIZE etc.&lt;br /&gt;
* SPOOL - Send output to a file. Eg &amp;quot;spool x&amp;quot; will save STDOUT to a file called x.lst&lt;br /&gt;
* START - Run a SQL script file (short: @)&lt;br /&gt;
&lt;br /&gt;
==What is AFIEDT.BUF?==&lt;br /&gt;
AFIEDT.BUF is the SQL*Plus default edit save file. When you issue the command &amp;quot;ed&amp;quot; or &amp;quot;edit&amp;quot; without arguments, the last SQL or PL/SQL command will be saved to a file called AFIEDT.BUF and opened in the default editor.&lt;br /&gt;
&lt;br /&gt;
In the prehistoric days when SQL*Plus was called UFI (User Friendly Interface) this file was named &amp;quot;ufiedt.buf&amp;quot;, short for UFI editing buffer. When new features were added to UFI, it was initially named Advanced UFI and the filename was changed to &amp;quot;aufiedt.buf&amp;quot; and then to &amp;quot;afiedt.buf&amp;quot;. They presumably needed to keep the name short for compatibility with some of the odd operating systems that Oracle supported in those days. The name &amp;quot;Advanced UFI&amp;quot; was never used officially, as the name was changed to SQL*Plus before this version was released.&lt;br /&gt;
&lt;br /&gt;
You can overwrite the default edit save file's name like this:&lt;br /&gt;
&lt;br /&gt;
 SET EDITFILE &amp;quot;afiedt.buf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
One can edit SQL scripts and the command buffer (the last command entered) with the EDIT (or ED) command. However, sometimes one needs to select an editor before using this command. Examples:&lt;br /&gt;
&lt;br /&gt;
Use the Unix/Linux vi-editor:&lt;br /&gt;
 DEFINE _EDITOR=vi&lt;br /&gt;
&lt;br /&gt;
Use the Notepad on Windows:&lt;br /&gt;
 DEFINE _EDITOR=notepad&lt;br /&gt;
&lt;br /&gt;
Use the gVim vi-editor on Windows and return afiedt.buf back to SQL*Plus when done:&lt;br /&gt;
 DEFINE _EDITOR=&amp;quot;gvim -f&amp;quot;&lt;br /&gt;
&lt;br /&gt;
TIP: Add this command in your login.sql or glogin.sql scripts so it executes every time you start sqlplus.&lt;br /&gt;
&lt;br /&gt;
==How does one enable the SQL*Plus HELP facility?==&lt;br /&gt;
To enable HELP for SQl*Plus, run the supplied &amp;quot;helpins&amp;quot; script in $ORACLE_HOME/bin. The &amp;quot;helpins&amp;quot; command will prompt you for the SYSTEM password and load the help data into the SYSTEM schema.&lt;br /&gt;
 &lt;br /&gt;
Alternatively you can load the help facility manually like this:&lt;br /&gt;
&lt;br /&gt;
 cd $ORACLE_HOME/sqlplus/admin/help&lt;br /&gt;
 sqlplus system/manager @helpdrop.sql        # Drop the HELP table&lt;br /&gt;
&amp;lt;!-- didn't work for me on Oracle 10g XE &lt;br /&gt;
 sqlplus system/manager @helpbld.sql         # Create the HELP table&lt;br /&gt;
 sqlplus system/manager @helpus.sql          # Load data into the HELP table&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
 sqlplus system/manager @hlpbld.sql helpus.sql # Create the HELP table and load the data&lt;br /&gt;
&lt;br /&gt;
If the HELP command is not supported on your operating system, you can access the help table with a simple script like this (let's call it help.sql):&lt;br /&gt;
&lt;br /&gt;
 select info&lt;br /&gt;
 from   system.help&lt;br /&gt;
 where  upper(topic)=upper('&amp;amp;1');&lt;br /&gt;
&lt;br /&gt;
Whenever you need help, you can now run the help.sql script:&lt;br /&gt;
&lt;br /&gt;
 @help SELECT&lt;br /&gt;
&lt;br /&gt;
==What is the difference between ? and HELP?==&lt;br /&gt;
There is no difference. Both &amp;quot;?&amp;quot; and HELP will read the SYSTEM.HELP table (if available) and shows help text on the screen.&lt;br /&gt;
&lt;br /&gt;
To use the help facility, type HELP followed by the command you need to learn more about. For example, to get help on the SELECT statement, type:&lt;br /&gt;
&lt;br /&gt;
 HELP SELECT&lt;br /&gt;
&lt;br /&gt;
One can also extend the help system by inserting information into the HELP table. Look at this example:&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; insert into help values ('MYTOPIC', 1, 'Detail line 1');&lt;br /&gt;
 1 row created.&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; insert into help values ('MYTOPIC', 2, 'Detail line 2');&lt;br /&gt;
 1 row created.&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; help MYTOPIC&lt;br /&gt;
 Detail line 1&lt;br /&gt;
 Detail line 2&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; ? MYTOPIC&lt;br /&gt;
 Detail line 1&lt;br /&gt;
 Detail line 2&lt;br /&gt;
&lt;br /&gt;
==What is the difference between @ and @@?==&lt;br /&gt;
The @ (at symbol) is equivalent to the START command and is used to run SQL*Plus command scripts.&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; @myscript.sql&lt;br /&gt;
&lt;br /&gt;
A single @ symbol runs a script in the current directory (or one specified with a full or relative path, or one that is found in your SQLPATH or ORACLE_PATH).&lt;br /&gt;
&lt;br /&gt;
@@ will start a sqlplus script that is in the same directory as the script that called it (relative to the directory of the current script). This is normally used for nested command files. This technique is commonly used by scripts that call subscripts in the ?/rdbms/admin directory. The @@ reference does not support relative directory references such as @@dir/file.sql or @@./file.sql.&lt;br /&gt;
&lt;br /&gt;
==What is the difference between &amp;amp; and &amp;amp;&amp;amp;?==&lt;br /&gt;
&amp;quot;&amp;amp;&amp;quot; is used to create a ''temporary substitution variable'' that will prompt you for a value every time it is referenced. Example:&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; SELECT sal FROM emp WHERE ename LIKE '&amp;amp;NAME';&lt;br /&gt;
 Enter value for name: SCOTT&lt;br /&gt;
 old   1: SELECT sal FROM emp WHERE ename LIKE '&amp;amp;NAME'&lt;br /&gt;
 new   1: SELECT sal FROM emp WHERE ename LIKE 'SCOTT'&lt;br /&gt;
        SAL&lt;br /&gt;
 ----------&lt;br /&gt;
       3000&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; /&lt;br /&gt;
 Enter value for name: SCOTT&lt;br /&gt;
 old   1: SELECT sal FROM emp WHERE ename LIKE '&amp;amp;NAME'&lt;br /&gt;
 new   1: SELECT sal FROM emp WHERE ename LIKE 'SCOTT'&lt;br /&gt;
        SAL&lt;br /&gt;
 ----------&lt;br /&gt;
       3000&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;amp;&amp;amp;&amp;quot; is used to create a ''permanent substitution variable''. Once you have entered a value (defined the variable) its value will used every time the variable is referenced. Example:&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; SELECT sal FROM emp WHERE ename LIKE '&amp;amp;&amp;amp;NAME';&lt;br /&gt;
 Enter value for name: SCOTT&lt;br /&gt;
 old   1: SELECT sal FROM emp WHERE ename LIKE '&amp;amp;&amp;amp;NAME'&lt;br /&gt;
 new   1: SELECT sal FROM emp WHERE ename LIKE 'SCOTT'&lt;br /&gt;
 &lt;br /&gt;
        SAL&lt;br /&gt;
 ----------&lt;br /&gt;
       3000&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; /&lt;br /&gt;
 old   1: SELECT sal FROM emp WHERE ename LIKE '&amp;amp;&amp;amp;NAME'&lt;br /&gt;
 new   1: SELECT sal FROM emp WHERE ename LIKE 'SCOTT'&lt;br /&gt;
        SAL&lt;br /&gt;
 ----------&lt;br /&gt;
       3000&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&amp;amp;&amp;amp;&amp;quot; will actually define the variable similarly to what the DEFINE command or OLD_VALUE/ NEW_VALUE clauses of a COLUMN statement would have done.&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; define&lt;br /&gt;
 DEFINE NAME            = &amp;quot;SCOTT&amp;quot; (CHAR)&lt;br /&gt;
&lt;br /&gt;
==What is the difference between ! and HOST?==&lt;br /&gt;
Both &amp;quot;!&amp;quot; and &amp;quot;HOST&amp;quot; will execute operating system commands as child processes of SQL*Plus. The difference is that &amp;quot;HOST&amp;quot; will perform variable substitution (&amp;amp; and &amp;amp;&amp;amp; symbols), whereas &amp;quot;!&amp;quot; will not. Examples:&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; ! whoami&lt;br /&gt;
 oracle&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; DEFINE cmd=&amp;quot;whoami&amp;quot;&lt;br /&gt;
 SQL&amp;gt; HOST &amp;amp;&amp;amp;cmd&lt;br /&gt;
 oracle&lt;br /&gt;
&lt;br /&gt;
Note: use &amp;quot;$&amp;quot; under OS/390, VMS, and Windows environments, not &amp;quot;!&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Can one run commands when SQL*Plus starts up?==&lt;br /&gt;
When SQL*Plus starts up, it looks for a global login script called ''glogin.sql'' in the $ORACLE_HOME/sqlplus/admin directory. If found, this script will be executed. &lt;br /&gt;
&lt;br /&gt;
Thereafter, sqlplus will try to find a local login script called ''login.sql'' in the directory where you start sqlplus from,  alternatively the directories listed in the SQLPATH environment variable. When found, sqlplus will execute it.&lt;br /&gt;
&lt;br /&gt;
NOTE: From Oracle 10g SQL*Plus will attempt to execute glogin.sql and login.sql after each successful connection. This is handy if you want to change the sqlprompt to include the current user. Here is an example (g)login.sql file:&lt;br /&gt;
&lt;br /&gt;
 prompt Loading login.sql file...&lt;br /&gt;
 set sqlprompt &amp;quot;&amp;amp;&amp;amp;_USER@&amp;amp;&amp;amp;_CONNECT_IDENTIFIER SQL&amp;gt;&amp;quot;&lt;br /&gt;
 define _editor=vi&lt;br /&gt;
&lt;br /&gt;
A bit of history: when SQL*Plus was still called UFI, this file was called login.ufi (located in $ORACLE_HOME/demo).&lt;br /&gt;
&lt;br /&gt;
==Can one set the SQL*Plus command prompt to something more useful?==&lt;br /&gt;
One can change the default 'SQL&amp;gt; ' prompt by changing the SQLPROMPT setting. For example:&lt;br /&gt;
&lt;br /&gt;
 SET SQLPROMPT 'Enter SQLPlus Command&amp;gt; '&lt;br /&gt;
&lt;br /&gt;
The following example scripts can be used to include the connected username and database name into the prompt:&lt;br /&gt;
&lt;br /&gt;
For [[Oracle 10g]] and above:&lt;br /&gt;
&lt;br /&gt;
 set sqlprompt &amp;quot;_USER'@'_CONNECT_IDENTIFIER _PRIVILEGE&amp;gt; &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pre 10g:&lt;br /&gt;
&lt;br /&gt;
 undefine usr db&lt;br /&gt;
 col usr new_value usr&lt;br /&gt;
 col db  new_value db&lt;br /&gt;
 &lt;br /&gt;
 set termout off&lt;br /&gt;
 select lower(user) usr,&lt;br /&gt;
        substr(global_name, 1, instr(global_name, '.')-1) db&lt;br /&gt;
   from   global_name&lt;br /&gt;
 /&lt;br /&gt;
 set termout on&lt;br /&gt;
 &lt;br /&gt;
 set sqlprompt '&amp;amp;&amp;amp;usr.@&amp;amp;&amp;amp;db.&amp;gt; '&lt;br /&gt;
&lt;br /&gt;
NOTE: For the above example it might be better to get the database name from v$database. However, not all users do have access to the v$database view.&lt;br /&gt;
&lt;br /&gt;
==How does one disable interactive prompting in SQL*Plus?==&lt;br /&gt;
If you run a script that contains &amp;quot;&amp;amp;&amp;quot; symbols, SQL*Plus thinks that you want to prompt the user for a value. Some clients allow one to escape the ampersand character with a backslash, however, that doesn't work from SQL*Plus. Here are a couple of solutions:&lt;br /&gt;
&lt;br /&gt;
 SET ESCAPE ON&lt;br /&gt;
 SET ESCAPE &amp;quot;&amp;quot;&lt;br /&gt;
 SELECT 'You &amp;amp; me' FROM DUAL;&lt;br /&gt;
or&lt;br /&gt;
 SET DEFINE ?&lt;br /&gt;
 SELECT 'You &amp;amp; me' FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
Atanas Kebedjiev provided this solution:&lt;br /&gt;
 SELECT 'You '||Chr(38)||' Me' FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
'''Note''': You can disable substitution variable prompting altogether by issuing the ''SET DEFINE OFF'' or ''SET SCAN OFF'' command.&lt;br /&gt;
&lt;br /&gt;
Homer Vargas provided this solution:&lt;br /&gt;
&amp;quot;&amp;amp;&amp;quot; sign should always be at the end of the string.&lt;br /&gt;
&lt;br /&gt;
 SELECT 'You &amp;amp;'||' me' FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
==How does one trap errors in SQL*Plus?==&lt;br /&gt;
Use the &amp;quot;WHENEVER SQLERROR ...&amp;quot; command to trap SQL and PL/SQL errors, and the &amp;quot;WHENEVER OSERROR ...&amp;quot; to trap operating system errors. Eg:&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; WHENEVER OSERROR  EXIT 9&lt;br /&gt;
 SQL&amp;gt; WHENEVER SQLERROR EXIT SQL.SQLCODE&lt;br /&gt;
&lt;br /&gt;
==How does one trace (and explain) SQL statements from SQL*Plus?==&lt;br /&gt;
'''Method 1: Autotrace Facility'''&lt;br /&gt;
&lt;br /&gt;
When the AUTOTRACE setting is enabled, SQL*Plus will print an EXPLAIN PLAN and execution statistics after each SQL statement. Look at this example:&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; set autotrace on&lt;br /&gt;
 SQL&amp;gt; select * from dept where deptno = 40;&lt;br /&gt;
     DEPTNO DNAME          LOC&lt;br /&gt;
 ---------- -------------- -------------&lt;br /&gt;
         40 OPERATIONS     BOSTON&lt;br /&gt;
 &lt;br /&gt;
 Execution Plan&lt;br /&gt;
 ----------------------------------------------------------&lt;br /&gt;
    0      SELECT STATEMENT Optimizer=CHOOSE (Cost=1 Card=1 Bytes=18)&lt;br /&gt;
    1    0   TABLE ACCESS (BY INDEX ROWID) OF 'DEPT' (Cost=1 Card=1 Bytes=18)&lt;br /&gt;
    2    1     INDEX (UNIQUE SCAN) OF 'PK_DEPT' (UNIQUE)&lt;br /&gt;
 &lt;br /&gt;
 Statistics&lt;br /&gt;
 ----------------------------------------------------------&lt;br /&gt;
           0  recursive calls&lt;br /&gt;
           0  db block gets&lt;br /&gt;
           2  consistent gets&lt;br /&gt;
           0  physical reads&lt;br /&gt;
           0  redo size&lt;br /&gt;
         499  bytes sent via SQL*Net to client&lt;br /&gt;
         503  bytes received via SQL*Net from client&lt;br /&gt;
           2  SQL*Net roundtrips to/from client&lt;br /&gt;
           0  sorts (memory)&lt;br /&gt;
           0  sorts (disk)&lt;br /&gt;
           1  rows processed&lt;br /&gt;
&lt;br /&gt;
Follow these steps to enable this feature:&lt;br /&gt;
* Run the PLUSTRCE.SQL script from the SYS database user. This script is located in the $ORACLE_HOME/sqlplus/admin directory.&lt;br /&gt;
* Create a PLAN_TABLE table by running the UTLXPLAN.SQL script. This script is in $ORACLE_HOME/rdbms/admin.&lt;br /&gt;
* Use the &amp;quot;SET AUTOTRACE ON&amp;quot; command to trace SQL execution. This will print an explain plan and high level trace information after your query results.&lt;br /&gt;
&lt;br /&gt;
'''Method 2: DBMS_XPLAN Package'''&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; EXPLAIN PLAN FOR select * from dept where deptno = 40;&lt;br /&gt;
 Explained.&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; set linesize 132&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; SELECT * FROM TABLE( dbms_xplan.display);&lt;br /&gt;
 &lt;br /&gt;
 PLAN_TABLE_OUTPUT&lt;br /&gt;
 ---------------------------------------------------------------------------------------&lt;br /&gt;
 Plan hash value: 2852011669&lt;br /&gt;
 &lt;br /&gt;
 ---------------------------------------------------------------------------------------&lt;br /&gt;
 | Id  | Operation                   | Name    | Rows  | Bytes | Cost (%CPU)| Time     |&lt;br /&gt;
 ---------------------------------------------------------------------------------------&lt;br /&gt;
 |   0 | SELECT STATEMENT            |         |     1 |    20 |     1   (0)| 00:00:01 |&lt;br /&gt;
 |   1 |  TABLE ACCESS BY INDEX ROWID| DEPT    |     1 |    20 |     1   (0)| 00:00:01 |&lt;br /&gt;
 |*  2 |   INDEX UNIQUE SCAN         | PK_DEPT |     1 |       |     0   (0)| 00:00:01 |&lt;br /&gt;
 ---------------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 Predicate Information (identified by operation id):&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
    2 - access(&amp;quot;DEPTNO&amp;quot;=40)&lt;br /&gt;
 &lt;br /&gt;
 14 rows selected.&lt;br /&gt;
&lt;br /&gt;
==How can one prevent SQL*Plus connection warning messages?==&lt;br /&gt;
When I go to SQl*Plus, I get the following errors:&lt;br /&gt;
&lt;br /&gt;
 Error accessing PRODUCT_USER_PROFILE&lt;br /&gt;
 Warning:  Product user profile information not loaded!&lt;br /&gt;
 You may need to run PUPBLD.SQL as SYSTEM&lt;br /&gt;
&lt;br /&gt;
This messages will stop appearing when you create the PRODUCT_USER_PROFILE table in the SYSTEM schema. This is performed by the PUPBLD.SQL script.&lt;br /&gt;
&lt;br /&gt;
Go to the $ORACLE_HOME/sqlplus/admin directory, connect as SYSTEM and run @PUPBLD.SQL from the sql prompt.&lt;br /&gt;
&lt;br /&gt;
==Can one prevent users from executing devious commands?==&lt;br /&gt;
Yes, command authorization is verified against the SYSTEM.PRODUCT_USER_PROFILE table. This table is created by the PUPBLD.SQL script. Note that this table is not used when someone signs on as user SYSTEM.&lt;br /&gt;
&lt;br /&gt;
Eg. to disable all users whose names starts with OPS$ from executing the CONNECT command:&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; INSERT INTO SYSTEM.PRODUCT_USER_PROFILE &lt;br /&gt;
      VALUES ('SQL*Plus', 'OPS$%', 'CONNECT', NULL, NULL, 'DISABLED', NULL, NULL);&lt;br /&gt;
&lt;br /&gt;
==How does one restore session state in SQL*Plus?==&lt;br /&gt;
Use the &amp;quot;STORE SET&amp;quot; command to write current settings (SHOW ALL) to a file. This file can later be executed to restore all settings. Look at the following example (Oracle8 and above):&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; STORE SET filename REPLACE&lt;br /&gt;
 SQL&amp;gt; (do whatever you like)&lt;br /&gt;
 SQL&amp;gt; @filename&lt;br /&gt;
&lt;br /&gt;
==How does one disable SQL*Plus formatting?==&lt;br /&gt;
SQL*Plus tries to format data from the database into a human friendly format. This formatting can be disabled by issuing the following SET commands:&lt;br /&gt;
&lt;br /&gt;
 SET ECHO OFF&lt;br /&gt;
 SET NEWPAGE 0&lt;br /&gt;
 SET SPACE 0&lt;br /&gt;
 SET PAGESIZE 0&lt;br /&gt;
 SET FEEDBACK OFF&lt;br /&gt;
 SET HEADING OFF&lt;br /&gt;
 SET TRIMSPOOL ON&lt;br /&gt;
 SET TAB OFF&lt;br /&gt;
&lt;br /&gt;
These settings can also be abbreviated and entered on one line, eg.:&lt;br /&gt;
&lt;br /&gt;
 SET ECHO OFF NEWP 0 SPA 0 PAGES 0 FEED OFF HEAD OFF TRIMS ON TAB OFF&lt;br /&gt;
&lt;br /&gt;
You may also want to run the &amp;quot;show all&amp;quot; command to display all the other sqlplus settings that can be changed.&lt;br /&gt;
&lt;br /&gt;
==Can one pass operating system parameters to SQL*Plus?==&lt;br /&gt;
One can pass operating system variables to sqlplus using this syntax:&lt;br /&gt;
 sqlplus username/password @cmdfile.sql var1 var2 var3&lt;br /&gt;
&lt;br /&gt;
Parameter var1 will be mapped to SQL*Plus variable &amp;amp;1, var2 to &amp;amp;2, etc. Look at this example:&lt;br /&gt;
 sqlplus scott/tiger @x.sql  '&amp;quot;test parameter&amp;quot;' dual&lt;br /&gt;
&lt;br /&gt;
Where x.sql consists of:&lt;br /&gt;
 select '&amp;amp;1' from &amp;amp;2;&lt;br /&gt;
 exit 5;&lt;br /&gt;
&lt;br /&gt;
Example passing the Windows User's Temp Path Location to sqlplus:&lt;br /&gt;
 sqlplus username/password @cmdfile.sql %TEMP%&lt;br /&gt;
within @cmdfile.sql &lt;br /&gt;
 SPOOL &amp;amp;1\myscript.log&lt;br /&gt;
 -- Your script commands&lt;br /&gt;
 SPOOL OFF&lt;br /&gt;
&lt;br /&gt;
==Something's wrong with my CLOB/ NCLOB/ LONG column. Where is my data?==&lt;br /&gt;
SQL*Plus by default only shows the first 80 bytes of any LONG, CLOB and NCLOB datatypes. The data is there, but since sqlplus is a command-line tool it tries not to print out too much data. You can override this to tell sqlplus exactly how many bytes you want to see:&lt;br /&gt;
&lt;br /&gt;
 SET LONG 32000&lt;br /&gt;
 SELECT text FROM user_views WHERE rownum = 1;&lt;br /&gt;
&lt;br /&gt;
==How does one copy data from one database to another in SQL*Plus?==&lt;br /&gt;
The SQL*Plus COPY command is one of the fastest ways of copying data between databases and schemas. This is also one of the few methods that will handle LONG columns correctly. Look at this example:&lt;br /&gt;
 SQL&amp;gt; COPY FROM scott/tiger@db1 TO scott/tiger@db2 INSERT mytable USING select * from mytable;&lt;br /&gt;
&lt;br /&gt;
From SQL*Plus help:&lt;br /&gt;
&lt;br /&gt;
 COPY&lt;br /&gt;
 ----&lt;br /&gt;
 &lt;br /&gt;
 Copies data from a query to a table in the same or another&lt;br /&gt;
 database. COPY supports CHAR, DATE, LONG, NUMBER and VARCHAR2.&lt;br /&gt;
 &lt;br /&gt;
 COPY {FROM database | TO database | FROM database TO database}&lt;br /&gt;
            {APPEND|CREATE|INSERT|REPLACE} destination_table&lt;br /&gt;
            [(column, column, column, ...)] USING query&lt;br /&gt;
 &lt;br /&gt;
 where database has the following syntax:&lt;br /&gt;
     username[/password]@connect_identifier&lt;br /&gt;
&lt;br /&gt;
Note that this command is no more enhanced since Oracle 8.0 and may be declared as obsolete in a future version (but is still there in 11''g''R2) but there is no replacement to easily copy tables with LONG column (LONG datatype is obsolete).&lt;br /&gt;
&lt;br /&gt;
==Can one generate HTML reports from SQL*Plus?==&lt;br /&gt;
One can generate static HTML pages from SQL*Plus (8.1.6 and above) by setting the MARKUP option to HTML ON. This can be done by specifying -MARKUP &amp;quot;HTML ON&amp;quot; from command line, or with the &amp;quot;SET MARKUP HTML ON&amp;quot; command. Look at this example SQL Script:&lt;br /&gt;
&lt;br /&gt;
 set markup HTML on&lt;br /&gt;
 spool index.html&lt;br /&gt;
 select * from tab;&lt;br /&gt;
 spool off&lt;br /&gt;
 set markup HTML off&lt;br /&gt;
&lt;br /&gt;
The spooled index.html file should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border='1' width='90%' align='center' summary='Script output'&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th scope=&amp;quot;col&amp;quot;&amp;gt;TNAME&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th scope=&amp;quot;col&amp;quot;&amp;gt;TABTYPE&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th scope=&amp;quot;col&amp;quot;&amp;gt;CLUSTERID&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;BONUS&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;TABLE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;right&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;DEPT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;TABLE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;right&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;EMP&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;TABLE&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=&amp;quot;right&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: You can deploy this file on your web site or edit it in an HTML editor (like FrontPage or Dreamweaver). Another good idea is to develop a CSS to present the data more elegantly. One can also embed HTML tags in the select statement to create hyperlinks and add more HTML features.&lt;br /&gt;
&lt;br /&gt;
== How to have optional parameters and default values in SQL*Plus script ==&lt;br /&gt;
&lt;br /&gt;
If you have a script like the simple following one:&lt;br /&gt;
 prompt 1=&amp;quot;&amp;amp;1&amp;quot;&lt;br /&gt;
 prompt 2=&amp;quot;&amp;amp;2&amp;quot;&lt;br /&gt;
 prompt 3=&amp;quot;&amp;amp;3&amp;quot;&lt;br /&gt;
 undef 1&lt;br /&gt;
 undef 2&lt;br /&gt;
 undef 3&lt;br /&gt;
and call it with only 1 or 2 parameters then SQL*Plus asks you for the other parameters:&lt;br /&gt;
 SQL&amp;gt; @c:\michel v1 v2&lt;br /&gt;
 1=&amp;quot;v1&amp;quot;&lt;br /&gt;
 2=&amp;quot;v2&amp;quot;&lt;br /&gt;
 Enter value for 3: &lt;br /&gt;
 3=&amp;quot;&amp;quot;&lt;br /&gt;
It would often be useful to be able to call the script with a variable number of parameters. This can be done modifying the previous script as:&lt;br /&gt;
 set termout off&lt;br /&gt;
 col p1 new_value 1&lt;br /&gt;
 col p2 new_value 2&lt;br /&gt;
 col p3 new_value 3&lt;br /&gt;
 select null p1, null p2, null p3 from dual where  1=2;&lt;br /&gt;
 set termout on&lt;br /&gt;
 prompt 1=&amp;quot;&amp;amp;1&amp;quot;&lt;br /&gt;
 prompt 2=&amp;quot;&amp;amp;2&amp;quot;&lt;br /&gt;
 prompt 3=&amp;quot;&amp;amp;3&amp;quot;&lt;br /&gt;
 undef 1&lt;br /&gt;
 undef 2&lt;br /&gt;
 undef 3&lt;br /&gt;
So you can call it with a variable number of parameters:&lt;br /&gt;
 SQL&amp;gt; @c:\michel v1 &lt;br /&gt;
 1=&amp;quot;v1&amp;quot;&lt;br /&gt;
 2=&amp;quot;&amp;quot;&lt;br /&gt;
 3=&amp;quot;&amp;quot;&lt;br /&gt;
 SQL&amp;gt; @c:\michel v1 v2&lt;br /&gt;
 1=&amp;quot;v1&amp;quot;&lt;br /&gt;
 2=&amp;quot;v2&amp;quot;&lt;br /&gt;
 3=&amp;quot;&amp;quot;&lt;br /&gt;
 SQL&amp;gt; @c:\michel v1 v2 v3&lt;br /&gt;
 1=&amp;quot;v1&amp;quot;&lt;br /&gt;
 2=&amp;quot;v2&amp;quot;&lt;br /&gt;
 3=&amp;quot;v3&amp;quot;&lt;br /&gt;
You can give a default value for these optional parameters modifying the script as:&lt;br /&gt;
 set termout off&lt;br /&gt;
 col p1 new_value 1&lt;br /&gt;
 col p2 new_value 2&lt;br /&gt;
 col p3 new_value 3&lt;br /&gt;
 select null p1, null p2, null p3 from dual where  1=2;&lt;br /&gt;
 select nvl('&amp;amp;1','def1') p1, nvl('&amp;amp;2','def2') p2, nvl('&amp;amp;3','def3') p3 from dual;&lt;br /&gt;
 set termout on&lt;br /&gt;
 prompt 1=&amp;quot;&amp;amp;1&amp;quot;&lt;br /&gt;
 prompt 2=&amp;quot;&amp;amp;2&amp;quot;&lt;br /&gt;
 prompt 3=&amp;quot;&amp;amp;3&amp;quot;&lt;br /&gt;
 undef 1&lt;br /&gt;
 undef 2&lt;br /&gt;
 undef 3&lt;br /&gt;
And so:&lt;br /&gt;
 SQL&amp;gt; @c:\michel v1 &lt;br /&gt;
 1=&amp;quot;v1&amp;quot;&lt;br /&gt;
 2=&amp;quot;def2&amp;quot;&lt;br /&gt;
 3=&amp;quot;def3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Frequently Asked Questions]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Unusable_indexes</id>
		<title>Unusable indexes</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Unusable_indexes"/>
				<updated>2012-10-18T11:07:25Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Oracle indexes can go into a 'UNUSABLE' state after maintenance operation on the table or if the index is marked as 'unusable' with an ALTER INDEX command. A direct path load against a table or partition will also leave its indexes unusable.&lt;br /&gt;
&lt;br /&gt;
== Detecting ==&lt;br /&gt;
The following SQL comands can be used to detect unuable indexes:&lt;br /&gt;
&lt;br /&gt;
Indexes:&lt;br /&gt;
 SELECT index_owner, index_name, partition_name, tablespace_name&lt;br /&gt;
 FROM   dba_indexes&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
Index partitions:&lt;br /&gt;
 SELECT index_owner, index_name, partition_name, tablespace_name&lt;br /&gt;
 FROM   dba_ind_PARTITIONS&lt;br /&gt;
 WHERE  status= 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
== Fixing ==&lt;br /&gt;
The following SQL will print out a list of alter commands that can be executed to fix  unusable indexes:&lt;br /&gt;
&lt;br /&gt;
Indexes:&lt;br /&gt;
 SELECT 'alter index '||index_name||' rebuild tablespace ''|tablespace_name ||';'&lt;br /&gt;
 FROM   dba_indexes&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
Index partitions:&lt;br /&gt;
 SELECT 'alter index '||index_name ||' rebuild partition '||PARTITION_NAME||' TABLESPACE '||tablespace_name ||';'&lt;br /&gt;
 FROM   dba_ind_partitions&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Database administration]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Unusable_indexes</id>
		<title>Unusable indexes</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Unusable_indexes"/>
				<updated>2012-10-18T11:01:01Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Created page with &amp;quot;Oracle indexes can go into a 'UNUSABLE' state after maintenance operation on the table or if the index is marked as 'unusable' with an ALTER INDEX command. For example, a dire...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Oracle indexes can go into a 'UNUSABLE' state after maintenance operation on the table or if the index is marked as 'unusable' with an ALTER INDEX command. For example, a direct path load against a table or partition will leave it's indexes unusable.&lt;br /&gt;
&lt;br /&gt;
== Detecting ==&lt;br /&gt;
The following SQL comands can be used to detect unuable indexes:&lt;br /&gt;
&lt;br /&gt;
Indexes:&lt;br /&gt;
 SELECT index_owner, index_name, partition_name, tablespace_name&lt;br /&gt;
 FROM   dba_indexes&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
Index partitions:&lt;br /&gt;
 SELECT index_owner, index_name, partition_name, tablespace_name&lt;br /&gt;
 FROM   dba_ind_PARTITIONS&lt;br /&gt;
 WHERE  status= 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
== Fixing ==&lt;br /&gt;
The following SQL will print out a list of alter commands that can be executed to fix  unusable indexes:&lt;br /&gt;
&lt;br /&gt;
Indexes:&lt;br /&gt;
 SELECT 'alter index '||index_name||' rebuild tablespace ''|tablespace_name ||';'&lt;br /&gt;
 FROM   dba_indexes&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;br /&gt;
&lt;br /&gt;
Index partitions:&lt;br /&gt;
 SELECT 'alter index '||index_name ||' rebuild partition '||PARTITION_NAME||' TABLESPACE '||tablespace_name ||';'&lt;br /&gt;
 FROM   dba_ind_partitions&lt;br /&gt;
 WHERE  status = 'UNUSABLE';&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/MediaWiki:Orafaq.css</id>
		<title>MediaWiki:Orafaq.css</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/MediaWiki:Orafaq.css"/>
				<updated>2012-09-30T07:02:04Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#globalWrapper {&lt;br /&gt;
        position:absolute;&lt;br /&gt;
        margin-top:0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don't use any logo, move the boxes onto that area instead. */&lt;br /&gt;
#p-logo { display: none; }&lt;br /&gt;
#p-logo a, #p-logo a:hover { display: none; }&lt;br /&gt;
#column-one { padding-top: 10px !important; }&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/MediaWiki:Orafaq.css</id>
		<title>MediaWiki:Orafaq.css</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/MediaWiki:Orafaq.css"/>
				<updated>2012-09-30T07:01:15Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#globalWrapper {&lt;br /&gt;
        position:absolute;&lt;br /&gt;
        margin-top:0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don't use any logo, move the boxes onto that area instead. */&lt;br /&gt;
#p-logo { display: none; }&lt;br /&gt;
#p-logo a, #p-logo a:hover { display: none; }&lt;br /&gt;
#column-one { padding-top: 0 !important; }&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/MediaWiki:Orafaq.css</id>
		<title>MediaWiki:Orafaq.css</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/MediaWiki:Orafaq.css"/>
				<updated>2012-09-29T14:07:31Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#globalWrapper {&lt;br /&gt;
        position:absolute;&lt;br /&gt;
        margin-top:0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don't use any logo, move the boxes onto that area instead. */&lt;br /&gt;
#p-logo { display: none; }&lt;br /&gt;
#p-logo a, #p-logo a:hover { display: none; }&lt;br /&gt;
#column-one { padding-top: 0; }&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/MediaWiki:Common.css</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/MediaWiki:Common.css"/>
				<updated>2012-09-29T14:07:05Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt; */&lt;br /&gt;
/* CSS placed here will be applied to all skins */&lt;br /&gt;
 &lt;br /&gt;
/* Main page fixes */&lt;br /&gt;
#interwiki-completelist {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
body.page-Main_Page #ca-delete {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.page-Main_Page #mp-topbanner {&lt;br /&gt;
   clear:both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Edit window toolbar */&lt;br /&gt;
#toolbar {&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    margin-bottom: 6px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make the list of references smaller */&lt;br /&gt;
ol.references {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
.references-small { &lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* VALIDATOR NOTICE: the following is correct, but the W3C validator doesn't accept it */&lt;br /&gt;
/* -moz-* is a vendor-specific extension (CSS 2.1 4.1.2.1) */&lt;br /&gt;
/* column-count is from the CSS3 module &amp;quot;CSS Multi-column Layout&amp;quot; */&lt;br /&gt;
/* Please ignore any validator errors caused by these two lines */&lt;br /&gt;
.references-2column {&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    -moz-column-count: 2;&lt;br /&gt;
    -webkit-column-count: 2;&lt;br /&gt;
    column-count: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.same-bg { background: none; }&lt;br /&gt;
&lt;br /&gt;
/* Highlight clicked reference in blue to help navigation */&lt;br /&gt;
ol.references &amp;gt; li:target {&lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sup.reference:target { &lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styling for citations */&lt;br /&gt;
cite {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
    word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* If there is an inline link to a full citation, the full citation will turn blue when the inline link is clicked */&lt;br /&gt;
cite:target { &lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For linked citation numbers and document IDs, where the number need not be shown on a screen or a handheld, but should be included in the printed version */&lt;br /&gt;
&lt;br /&gt;
@media screen, handheld, projection {&lt;br /&gt;
    cite *.printonly {&lt;br /&gt;
        display: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* wikitable/prettytable class for skinning normal tables */&lt;br /&gt;
table.wikitable,&lt;br /&gt;
table.prettytable {&lt;br /&gt;
    margin: 1em 1em 1em 0;&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th, .wikitable td,&lt;br /&gt;
.prettytable th, .prettytable td {&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th,&lt;br /&gt;
.prettytable th {&lt;br /&gt;
    background: #f2f2f2;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.wikitable caption,&lt;br /&gt;
.prettytable caption {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* default skin for navigation boxes */&lt;br /&gt;
table.navbox {            /* navbox container style */&lt;br /&gt;
  border:1px solid #aaa;&lt;br /&gt;
  width:100%; &lt;br /&gt;
  margin:auto;&lt;br /&gt;
  clear:both;&lt;br /&gt;
  font-size:88%;&lt;br /&gt;
  text-align:center;&lt;br /&gt;
  padding:1px;&lt;br /&gt;
}&lt;br /&gt;
table.navbox + table.navbox {&lt;br /&gt;
  margin-top:-1px;        /* single pixel border between adjacent navboxes (doesn't work for IE6, but that's okay) */&lt;br /&gt;
}&lt;br /&gt;
.navbox-title, .navbox-abovebelow, table.navbox th {&lt;br /&gt;
  text-align:center;      /* title and above/below styles */&lt;br /&gt;
  padding-left:1em;&lt;br /&gt;
  padding-right:1em;&lt;br /&gt;
}&lt;br /&gt;
.navbox-group {           /* group style */&lt;br /&gt;
  white-space:nowrap;&lt;br /&gt;
  text-align:right;&lt;br /&gt;
  font-weight:bold;&lt;br /&gt;
  padding-left:1em;&lt;br /&gt;
  padding-right:1em;&lt;br /&gt;
}&lt;br /&gt;
.navbox, .navbox-subgroup {&lt;br /&gt;
  background:#fdfdfd;     /* Background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-list {&lt;br /&gt;
  border-color:#fdfdfd;   /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-title, table.navbox th {&lt;br /&gt;
  background:#ccccff;     /* Level 1 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title {&lt;br /&gt;
  background:#ddddff;     /* Level 2 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
  background:#e6e6ff;     /* Level 3 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-even {&lt;br /&gt;
  background:#f7f7f7;     /* Even row striping */&lt;br /&gt;
}&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
  background:transparent; /* Odd row striping */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Infobox template style */&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
.infobox td,&lt;br /&gt;
.infobox th {&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.infobox caption {&lt;br /&gt;
    font-size: larger;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered {&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered td,&lt;br /&gt;
.infobox.bordered th {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered .borderless td,&lt;br /&gt;
.infobox.bordered .borderless th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.sisterproject {&lt;br /&gt;
    width: 20em;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.infobox.standard-talk.bordered td,&lt;br /&gt;
.infobox.standard-talk.bordered th {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* styles for bordered infobox with merged rows */&lt;br /&gt;
.infobox.bordered .mergedtoprow td,&lt;br /&gt;
.infobox.bordered .mergedtoprow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.bordered .mergedrow td,&lt;br /&gt;
.infobox.bordered .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styles for geography infoboxes, e.g. countries, country subdivisions, cities, etc. */&lt;br /&gt;
.infobox.geography {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    line-height: 1.2em; &lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography  td,&lt;br /&gt;
.infobox.geography  th {&lt;br /&gt;
    border-top: solid 1px #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
.infobox.geography .mergedtoprow td,&lt;br /&gt;
.infobox.geography .mergedtoprow th {&lt;br /&gt;
    border-top: solid 1px #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .mergedrow td,&lt;br /&gt;
.infobox.geography .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .mergedbottomrow td,&lt;br /&gt;
.infobox.geography .mergedbottomrow th {&lt;br /&gt;
    border-top: 0;&lt;br /&gt;
    border-bottom: solid 1px #aaa;&lt;br /&gt;
    padding: 0 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .maptable td,&lt;br /&gt;
.infobox.geography .maptable th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for &amp;quot;notices&amp;quot; */&lt;br /&gt;
.notice {&lt;br /&gt;
    margin: 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#disambig {&lt;br /&gt;
    border-top: 1px solid #ccc; &lt;br /&gt;
    border-bottom: 1px solid #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Persondata and other (future) metadata,&lt;br /&gt;
   &amp;quot;table.InChI&amp;quot; and &amp;quot;.InChI-label&amp;quot; are temporary. */&lt;br /&gt;
table.InChI,&lt;br /&gt;
table.persondata {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    display: none;&lt;br /&gt;
    speak: none;&lt;br /&gt;
}&lt;br /&gt;
.InChI-label,&lt;br /&gt;
.persondata-label {&lt;br /&gt;
    color: #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Makes redirects appear in italics in categories and on [[Special:Allpages]] */&lt;br /&gt;
.redirect-in-category, .allpagesredirect {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Class for links with loudspeaker icon next to them. &lt;br /&gt;
   (Used in [[Template:Audio]] and the like to make the speaker clickable) */&lt;br /&gt;
.audiolink a {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Loudspeaker.svg/11px-Loudspeaker.svg.png&amp;quot;) center left no-repeat !important;&lt;br /&gt;
    padding-left: 16px !important;&lt;br /&gt;
    padding-right: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Icons for medialist templates [[Template:Listen]], [[Template:Multi-listen_start]], [[Template:Video]], [[Template:Multi-video_start]] */&lt;br /&gt;
div.listenlist {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Gnome-speakernotes.png/30px-Gnome-speakernotes.png&amp;quot;);&lt;br /&gt;
    padding-left: 40px;&lt;br /&gt;
}&lt;br /&gt;
div.videolist, div.multivideolist {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/en/thumb/2/20/Tango-video-x-generic.png/40px-Tango-video-x-generic.png&amp;quot;);&lt;br /&gt;
    padding-left: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style rules for media list templates */&lt;br /&gt;
div.medialist {&lt;br /&gt;
    min-height: 50px;&lt;br /&gt;
    margin: 1em;&lt;br /&gt;
    background-position: top left;&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul {&lt;br /&gt;
    list-style-type: none; &lt;br /&gt;
    list-style-image: none;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul li {&lt;br /&gt;
    padding-bottom: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul li li {&lt;br /&gt;
    font-size: 91%;&lt;br /&gt;
    padding-bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon for all PDF files */&lt;br /&gt;
/* (in browsers that support these CSS selectors, like Mozilla and Opera) */&lt;br /&gt;
#bodyContent a[href$=&amp;quot;.pdf&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.pdf?&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
#bodyContent a[href$=&amp;quot;.PDF&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.PDF?&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.PDF#&amp;quot;].external,&lt;br /&gt;
#mw_content a[href$=&amp;quot;.pdf&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.pdf?&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
#mw_content a[href$=&amp;quot;.PDF&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.PDF?&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.PDF#&amp;quot;].external {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Icons-mini-file_acrobat.gif/15px-Icons-mini-file_acrobat.gif) center right no-repeat;&lt;br /&gt;
    padding-right: 16px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon anywhere the PDFlink class */&lt;br /&gt;
/* is used (notably Template:PDFlink). This works in IE, unlike the above. */&lt;br /&gt;
span.PDFlink a {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Icons-mini-file_acrobat.gif/15px-Icons-mini-file_acrobat.gif) center right no-repeat !important;&lt;br /&gt;
    padding-right: 17px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.geolink a {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/en/a/a7/Monobook-globe.png) center right no-repeat !important;&lt;br /&gt;
    padding-right: 11px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Content in columns with CSS instead of tables [[Template:Columns]] */&lt;br /&gt;
div.columns-2 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 50%;&lt;br /&gt;
    min-width: 300px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-3 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 33.3%;&lt;br /&gt;
    min-width: 200px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-4 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 25%;&lt;br /&gt;
    min-width: 150px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-5 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 20%;&lt;br /&gt;
    min-width: 120px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Add formatting to make sure that &amp;quot;external references&amp;quot; from [[Template:Ref]] do&lt;br /&gt;
  not get URL expansion, not even when printed. The mechanism up to MediaWiki 1.4 was&lt;br /&gt;
  that the HTML code contained a SPAN following the anchor A; this SPAN had the class&lt;br /&gt;
  &amp;quot;urlexpansion&amp;quot;, which was not displayed on screen, but was shown when the medium was&lt;br /&gt;
  &amp;quot;print&amp;quot;. The rules below ensure (a) that there is no extra padding to the right of&lt;br /&gt;
  the anchor (displayed as &amp;quot;[&amp;lt;number&amp;gt;]&amp;quot;), (b) that there is no &amp;quot;external link arrow&amp;quot; for&lt;br /&gt;
  the link, and (c) that this SPAN of class &amp;quot;urlexpansion&amp;quot; is never shown.&lt;br /&gt;
  ~~~~&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand {&lt;br /&gt;
    background: none ! important;&lt;br /&gt;
    padding: 0 ! important;&lt;br /&gt;
}&lt;br /&gt;
.plainlinksneverexpand .urlexpansion {&lt;br /&gt;
    display: none ! important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make sure that ext links displayed within &amp;quot;plainlinksneverexpand&amp;quot; don't get&lt;br /&gt;
   the arrow...&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand a {&lt;br /&gt;
    background: none !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* With MediaWiki 1.5, the mechanism has changed: instead of a SPAN of class &amp;quot;urlexpansion&amp;quot;&lt;br /&gt;
   following the anchor A, the anchor itself now has class &amp;quot;external autonumber&amp;quot; and the&lt;br /&gt;
   expansion is inserted when printing (see the common printing style sheet at&lt;br /&gt;
   http://en.wikipedia.org/skins-1.5/common/commonPrint.css) using the &amp;quot;:after&amp;quot; pseudo-&lt;br /&gt;
   element of CSS. We have to switch this off for links due to Template:Ref!&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand a.external.text:after {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
.plainlinksneverexpand a.external.autonumber:after {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Messagebox templates */&lt;br /&gt;
.messagebox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 0 auto 1em auto;&lt;br /&gt;
    padding: .2em;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.merge {&lt;br /&gt;
    border: 1px solid #c0b8cc;&lt;br /&gt;
    background-color: #f0e5ff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.cleanup {&lt;br /&gt;
    border: 1px solid #9f9fff;&lt;br /&gt;
    background-color: #efefff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    margin: 4px auto;&lt;br /&gt;
}&lt;br /&gt;
/* For old WikiProject banners inside banner shells. */&lt;br /&gt;
.mbox-inside .standard-talk,&lt;br /&gt;
.messagebox.nested-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.small {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em; &lt;br /&gt;
}&lt;br /&gt;
.messagebox.small-talk {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em; &lt;br /&gt;
    background: #F8EABA;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */&lt;br /&gt;
th.mbox-text, td.mbox-text {     /* The message body cell(s) */&lt;br /&gt;
    border: none; &lt;br /&gt;
    padding: 0.25em 0.9em;       /* 0.9em left/right */&lt;br /&gt;
    width: 100%;    /* Make all mboxes the same width regardless of text length */&lt;br /&gt;
}&lt;br /&gt;
td.mbox-image {                  /* The left image cell */&lt;br /&gt;
    border: none; &lt;br /&gt;
    padding: 2px 0 2px 0.9em;    /* 0.9em left, 0px right */&lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
td.mbox-imageright {             /* The right image cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    padding: 2px 0.9em 2px 0;    /* 0px left, 0.9em right */&lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
.mediawiki table.tmbox-small,&lt;br /&gt;
.mediawiki table.ombox-small,&lt;br /&gt;
.mediawiki table.mbox-small {    /* For the &amp;quot;small=yes&amp;quot; option (also used elsewhere).   */&lt;br /&gt;
    clear: right;                /* The &amp;quot;mediawiki&amp;quot; class ensures that this declaration */&lt;br /&gt;
    float: right;                /* overrides styles set in &amp;quot;tmbox&amp;quot;/&amp;quot;ombox&amp;quot;/etc below   */&lt;br /&gt;
    margin: 4px 0 4px 1em;&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Article message box styles */&lt;br /&gt;
table.ambox {            /* 10% = Will not overlap with other elements */&lt;br /&gt;
    margin: -1px 10% 0px;    /* -1px = Single border between stacked boxes in all browsers */&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb; &lt;br /&gt;
}&lt;br /&gt;
.ambox th.mbox-text, &lt;br /&gt;
.ambox td.mbox-text {            /* The message body cell(s) */&lt;br /&gt;
    padding: 0.25em 0.5em;       /* 0.5em left/right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-image {           /* The left image cell */&lt;br /&gt;
    padding: 2px 0 2px 0.5em;    /* 0.5em left, 0px right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-imageright {      /* The right image cell */&lt;br /&gt;
    padding: 2px 0.5em 2px 0;    /* 0px left, 0.5em right */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ambox-notice {&lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-speedy {&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;                   /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-delete {&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-content {&lt;br /&gt;
    border-left: 10px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-style {&lt;br /&gt;
    border-left: 10px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-move {&lt;br /&gt;
    border-left: 10px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-protection {&lt;br /&gt;
    border-left: 10px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Image message box styles */&lt;br /&gt;
table.imbox {&lt;br /&gt;
    margin: 4px 10%; &lt;br /&gt;
    border-collapse: collapse; &lt;br /&gt;
    border: 3px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb;&lt;br /&gt;
}&lt;br /&gt;
.imbox .mbox-text .imbox {    /* For imboxes inside imbox-text cells. */&lt;br /&gt;
    margin: 0 -0.5em;    /* 0.9 - 0.5 = 0.4em left/right. */&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .imbox {    /* For imboxes inside other templates. */&lt;br /&gt;
    margin: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.imbox-notice {&lt;br /&gt;
    border: 3px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-speedy {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-delete {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-content {&lt;br /&gt;
    border: 3px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-style {&lt;br /&gt;
    border: 3px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-move {&lt;br /&gt;
    border: 3px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-protection {&lt;br /&gt;
    border: 3px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-license {&lt;br /&gt;
    border: 3px solid #88a;       /* Dark gray */&lt;br /&gt;
    background: #f7f8ff;          /* Light gray */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-featured {&lt;br /&gt;
    border: 3px solid #cba135;    /* Brown-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category message box styles */&lt;br /&gt;
table.cmbox {&lt;br /&gt;
    margin: 3px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    background: #DFE8FF;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.cmbox-notice {&lt;br /&gt;
    background: #D8E8FF;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-speedy {&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    margin-bottom: 4px;&lt;br /&gt;
    border: 4px solid #b22222;    /* Red */&lt;br /&gt;
    background: #FFDBDB;          /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-delete {&lt;br /&gt;
    background: #FFDBDB;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-content {&lt;br /&gt;
    background: #FFE7CE;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-style {&lt;br /&gt;
    background: #FFF9DB;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-move {&lt;br /&gt;
    background: #E4D8FF;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-protection {&lt;br /&gt;
    background: #EFEFE1;    /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Other pages message box styles */&lt;br /&gt;
table.ombox {&lt;br /&gt;
    margin: 4px 10%; &lt;br /&gt;
    border-collapse: collapse; &lt;br /&gt;
    border: 1px solid #aaa;       /* Default &amp;quot;notice&amp;quot; gray */&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-notice {&lt;br /&gt;
    border: 1px solid #aaa;       /* Gray */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-content {&lt;br /&gt;
    border: 1px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-style {&lt;br /&gt;
    border: 1px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-move {&lt;br /&gt;
    border: 1px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-protection {&lt;br /&gt;
    border: 2px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Talk page message box styles */&lt;br /&gt;
table.tmbox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #c0c090;    /* Default &amp;quot;notice&amp;quot; gray-brown */&lt;br /&gt;
    background: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .tmbox {    /* For tmboxes inside other templates. */&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    width: 100%;    /* Fix for Safari and Opera. */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.tmbox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-content {&lt;br /&gt;
    border: 2px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-style {&lt;br /&gt;
    border: 2px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-move {&lt;br /&gt;
    border: 2px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-protection,&lt;br /&gt;
table.tmbox-notice {&lt;br /&gt;
    border: 1px solid #c0c090;    /* Gray-brown */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pink fmbox warning style for div based warning notices. */&lt;br /&gt;
div.fmbox-warning,&lt;br /&gt;
div.mw-warning-with-logexcerpt {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    border: 1px solid #BB7070;&lt;br /&gt;
    background: #FFDBDB;&lt;br /&gt;
    padding: 0.25em 0.9em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Put a checker background at the image description page only visible if the image has transparent background */&lt;br /&gt;
#file img {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png&amp;quot;) repeat;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Support for Template:IPA, Template:Unicode and Template:Polytonic. The inherit declaration resets the font for all browsers except MSIE6.  The empty comment must remain. Please copy any changes to [[Template:IPA fonts]] and [[Template:Unicode fonts]]. */&lt;br /&gt;
.IPA {&lt;br /&gt;
    font-family: &amp;quot;Charis SIL&amp;quot;, &amp;quot;Doulos SIL&amp;quot;, Gentium, GentiumAlt, &amp;quot;DejaVu Sans&amp;quot;, Code2000, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Chrysanthi Unicode&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.Unicode {&lt;br /&gt;
    font-family: Code2000, Code2001, &amp;quot;Free Serif&amp;quot;, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Doulos SIL&amp;quot;, &amp;quot;Chrysanthi Unicode&amp;quot;, &amp;quot;Bitstream Cyberbit&amp;quot;, &amp;quot;Bitstream CyberBase&amp;quot;, Thryomanes, Gentium, GentiumAlt, &amp;quot;Lucida Grande&amp;quot;, &amp;quot;Free Sans&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Microsoft Sans Serif&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.latinx {&lt;br /&gt;
    font-family: Code2000, Code2001, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Microsoft Sans Serif&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.polytonic {&lt;br /&gt;
    font-family: &amp;quot;Athena Unicode&amp;quot;, Gentium, &amp;quot;Palatino Linotype&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Code2000; &lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.mufi {&lt;br /&gt;
    font-family: Alphabetum, Cardo, LeedsUni, Junicode, &amp;quot;TITUS Cyberbit Basic&amp;quot;, ALPHA-Demo;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pseudo-classes in support of [[Template:lang]]. */&lt;br /&gt;
&lt;br /&gt;
:lang(he) {&lt;br /&gt;
    font-family: &amp;quot;SBL Hebrew&amp;quot;, &amp;quot;Ezra SIL SR&amp;quot;, &amp;quot;Ezra SIL&amp;quot;, Cardo, &amp;quot;Chrysanthi Unicode&amp;quot;, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, Narkisim, &amp;quot;Times New Roman&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(fa) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ps) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ur) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(sux-Xsux) {&lt;br /&gt;
    font-family: Akkadian;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ja) {&lt;br /&gt;
       font-family: Code2000, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Bitstream Cyberbit&amp;quot;, &amp;quot;Bitstream CyberCJK&amp;quot;, IPAGothic, IPAPGothic, IPAUIGothic, &amp;quot;Kochi Gothic&amp;quot;, IPAMincho, IPAPMincho;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ko) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Myungjo Std M&amp;quot;, AppleMyungjo, &amp;quot;Baekmuk Batang&amp;quot;, &amp;quot;Baekmuk Gulim&amp;quot;, Batang, Dotum, DotumChe, Gulim, GulimChe, HYGothic-Extra, HYMyeongJo-Extra, &amp;quot;New Gulim&amp;quot;, UnBatang, UnDotum, UnYetgul, UWKMJF;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(zh-Hans) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Song Std L&amp;quot;, &amp;quot;AR PL ShanHeiSun Uni&amp;quot;, &amp;quot;AR PL ShanHeiSun Uni MBE&amp;quot;, &amp;quot;MS Hei&amp;quot;, &amp;quot;MS Song&amp;quot;, SimHei;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(zh-Hant) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Ming Std L&amp;quot;, &amp;quot;AR PL New Sung&amp;quot;, &amp;quot;AR PL ZenKai Uni&amp;quot;, &amp;quot;AR PL ZenKai Uni MBE&amp;quot;, MingLiU, PMingLiU;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(grc) {&lt;br /&gt;
    font-family: &amp;quot;Athena Unicode&amp;quot;, Gentium, &amp;quot;Palatino Linotype&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Code2000;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#wpSave {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */&lt;br /&gt;
.hiddenStructure {&lt;br /&gt;
    display: inline ! important;&lt;br /&gt;
    color: #f00; &lt;br /&gt;
    background-color: #0f0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* suppress missing interwiki image links where #ifexist cannot be used due to high number of requests */&lt;br /&gt;
/* use restricted to rail icon management pages */&lt;br /&gt;
/* see .hidden-redlink on http://meta.wikimedia.org/wiki/MediaWiki:Common.css */&lt;br /&gt;
.check-icon a.new {&lt;br /&gt;
    display: none; &lt;br /&gt;
    speak:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Removes underlines from links */&lt;br /&gt;
.nounderlines a { &lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Remove underline from IPA links */&lt;br /&gt;
.IPA a:link, .IPA a:visited {&lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#EnWpMpBook { background-image: url(http://upload.wikimedia.org/wikipedia/en/7/7e/MP-open-book.png); }&lt;br /&gt;
#EnWpMpSearch { background: url(http://upload.wikimedia.org/wikipedia/en/a/ae/MP-magnifying-glass.png) no-repeat top right; }&lt;br /&gt;
#EnWpMpSearchInner { float: right; width: 20em; text-align: center; }&lt;br /&gt;
#EnWpMpBook2 { background-image: url(http://upload.wikimedia.org/wikipedia/commons/8/8e/MP-open-book2.png); }&lt;br /&gt;
&lt;br /&gt;
/* Standard Navigationsleisten, aka box hiding thingy from .de.  Documentation at [[Wikipedia:NavFrame]]. */&lt;br /&gt;
div.Boxmerge,&lt;br /&gt;
div.NavFrame {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    font-size: 95%;&lt;br /&gt;
}&lt;br /&gt;
div.Boxmerge div.NavFrame {&lt;br /&gt;
    border-style: none;&lt;br /&gt;
    border-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame + div.NavFrame {&lt;br /&gt;
    border-top-style: none;&lt;br /&gt;
    border-top-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavPic {&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavHead {&lt;br /&gt;
    height: 1.6em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    background-color: #ccf;&lt;br /&gt;
    position:relative;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavContent {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavContent p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavEnd {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    line-height: 1px;&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
a.NavToggle {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    right: 3px;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Coloured watchlist numbers */&lt;br /&gt;
.mw-plusminus-pos {&lt;br /&gt;
    color: #006400; /* darkgreen */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* .mw-plusminus-null currently at developer default */&lt;br /&gt;
.mw-plusminus-neg {&lt;br /&gt;
    color: #8B0000; /* darkred */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.dablink {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
}&lt;br /&gt;
.dablink i {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for horizontal UL lists */&lt;br /&gt;
.horizontal ul {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li { &lt;br /&gt;
    padding: 0 0.6em 0 0.4em;&lt;br /&gt;
    display: inline;&lt;br /&gt;
    border-right: 1px solid;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li:last-child {&lt;br /&gt;
    border-right: none;&lt;br /&gt;
    padding-right: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Geographical coordinates defaults. &lt;br /&gt;
   See [[Template:Coord/link]] for how these are used. &lt;br /&gt;
   The classes &amp;quot;geo&amp;quot;, &amp;quot;longitude&amp;quot;, and &amp;quot;latitude&amp;quot; are used by &lt;br /&gt;
   the [[Geo microformat]], so the names should not be changed. */&lt;br /&gt;
.geo-default, .geo-dms, .geo-dec { display: inline; }&lt;br /&gt;
.geo-nondefault, .geo-multi-punct { display: none; }&lt;br /&gt;
.longitude, .latitude { white-space: nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* When &amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt; is used on the table of contents, the ToC will display without numbers */&lt;br /&gt;
.nonumtoc .tocnumber { display:none; }&lt;br /&gt;
.nonumtoc #toc ul,&lt;br /&gt;
.nonumtoc .toc ul {&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    list-style: none;&lt;br /&gt;
    margin: .3em 0 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.nonumtoc #toc ul ul, &lt;br /&gt;
.nonumtoc .toc ul ul { &lt;br /&gt;
    margin: 0 0 0 2em; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow limiting of which header levels are shown in a TOC; &amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;, for&lt;br /&gt;
   instance, will limit to showing ==headings== and ===headings=== but no further (as long as&lt;br /&gt;
   there are no =headings= on the page, which there shouldn't be according to the MoS). */&lt;br /&gt;
.toclimit-2 .toclevel-2 {display:none;}&lt;br /&gt;
.toclimit-3 .toclevel-3 {display:none;}&lt;br /&gt;
.toclimit-4 .toclevel-4 {display:none;}&lt;br /&gt;
.toclimit-5 .toclevel-5 {display:none;}&lt;br /&gt;
.toclimit-6 .toclevel-6 {display:none;}&lt;br /&gt;
.toclimit-7 .toclevel-7 {display:none;}&lt;br /&gt;
&lt;br /&gt;
/* Allow transcluded pages to display in lists rather than a table. Compatible in Firefox; incompatible in IE6. */&lt;br /&gt;
.listify td {display:list-item;}&lt;br /&gt;
.listify tr {display:block;}&lt;br /&gt;
.listify table {display:block;}&lt;br /&gt;
&lt;br /&gt;
/* Styling for Template:Quote */&lt;br /&gt;
blockquote.templatequote { &lt;br /&gt;
     margin-top: 0; &lt;br /&gt;
}&lt;br /&gt;
blockquote.templatequote div.templatequotecite { &lt;br /&gt;
    line-height: 1em;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
    margin-top: 0;&lt;br /&gt;
}&lt;br /&gt;
blockquote.templatequote div.templatequotecite cite {&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.user-block {&lt;br /&gt;
    padding: 5px;&lt;br /&gt;
    border: 1px solid #A9A9A9;&lt;br /&gt;
    background-color: #FFEFD5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevents line breaks in links */&lt;br /&gt;
.nowraplinks a {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For template documentation */&lt;br /&gt;
.template-documentation {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 1em 0 0 0;&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    background-color: #ecfcf4; &lt;br /&gt;
    padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner {&lt;br /&gt;
    min-width: 100px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline divs in ImageMaps (code borrowed from de.wiki) */&lt;br /&gt;
.imagemap-inline div {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Increase the height of the image upload box */&lt;br /&gt;
#wpUploadDescription {&lt;br /&gt;
    height: 13em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reduce line-height for &amp;lt;sup&amp;gt; and &amp;lt;sub&amp;gt; */&lt;br /&gt;
sup, sub {&lt;br /&gt;
    line-height: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* The backgrounds for galleries. */&lt;br /&gt;
#content .gallerybox div.thumb {&lt;br /&gt;
    background-color: #F9F9F9;   /* Light gray padding */&lt;br /&gt;
}&lt;br /&gt;
.gallerybox .thumb img {&lt;br /&gt;
    background: white url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png&amp;quot;) repeat;&lt;br /&gt;
}&lt;br /&gt;
/* .ns-0 = articles, .ns-2 = user pages, .ns-100 = portals. */&lt;br /&gt;
.ns-0 .gallerybox .thumb img,&lt;br /&gt;
.ns-2 .gallerybox .thumb img,&lt;br /&gt;
.ns-100 .gallerybox .thumb img {&lt;br /&gt;
    background: white;   /* No chequered background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevent boxes from overlapping the category listings */&lt;br /&gt;
#mw-subcategories, #mw-pages, #mw-category-media {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Selectively hide headers in WikiProject banners */&lt;br /&gt;
.wpb .wpb-header             {display: none}&lt;br /&gt;
.wpbs-inner .wpb .wpb-header {display: block}     /* for IE */&lt;br /&gt;
.wpbs-inner .wpb .wpb-header {display: table-row} /* for real browsers */&lt;br /&gt;
.wpbs-inner .wpb-outside     {display: none}      /* hide things that should only display outside shells */&lt;br /&gt;
&lt;br /&gt;
/* Stop HTML formulae breaking in silly places */&lt;br /&gt;
span.texhtml { white-space: nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* stop references with groups from line-breaking */&lt;br /&gt;
sup.reference a {white-space: nowrap;}&lt;br /&gt;
&lt;br /&gt;
/* Pre Fix */&lt;br /&gt;
tt, code, pre {&lt;br /&gt;
    font-family: monospace, sans-serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don't use any logo, move the boxes onto that area instead. */&lt;br /&gt;
#p-logo { display: none }&lt;br /&gt;
#p-logo a, #p-logo a:hover { display: none; }&lt;br /&gt;
#column-one { padding-top: 0; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; */&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/MediaWiki:Common.css</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/MediaWiki:Common.css"/>
				<updated>2012-09-29T13:58:13Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt; */&lt;br /&gt;
/* CSS placed here will be applied to all skins */&lt;br /&gt;
 &lt;br /&gt;
/* Main page fixes */&lt;br /&gt;
#interwiki-completelist {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
body.page-Main_Page #ca-delete {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.page-Main_Page #mp-topbanner {&lt;br /&gt;
   clear:both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Edit window toolbar */&lt;br /&gt;
#toolbar {&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    margin-bottom: 6px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make the list of references smaller */&lt;br /&gt;
ol.references {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
.references-small { &lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* VALIDATOR NOTICE: the following is correct, but the W3C validator doesn't accept it */&lt;br /&gt;
/* -moz-* is a vendor-specific extension (CSS 2.1 4.1.2.1) */&lt;br /&gt;
/* column-count is from the CSS3 module &amp;quot;CSS Multi-column Layout&amp;quot; */&lt;br /&gt;
/* Please ignore any validator errors caused by these two lines */&lt;br /&gt;
.references-2column {&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    -moz-column-count: 2;&lt;br /&gt;
    -webkit-column-count: 2;&lt;br /&gt;
    column-count: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.same-bg { background: none; }&lt;br /&gt;
&lt;br /&gt;
/* Highlight clicked reference in blue to help navigation */&lt;br /&gt;
ol.references &amp;gt; li:target {&lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sup.reference:target { &lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styling for citations */&lt;br /&gt;
cite {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
    word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* If there is an inline link to a full citation, the full citation will turn blue when the inline link is clicked */&lt;br /&gt;
cite:target { &lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For linked citation numbers and document IDs, where the number need not be shown on a screen or a handheld, but should be included in the printed version */&lt;br /&gt;
&lt;br /&gt;
@media screen, handheld, projection {&lt;br /&gt;
    cite *.printonly {&lt;br /&gt;
        display: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* wikitable/prettytable class for skinning normal tables */&lt;br /&gt;
table.wikitable,&lt;br /&gt;
table.prettytable {&lt;br /&gt;
    margin: 1em 1em 1em 0;&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th, .wikitable td,&lt;br /&gt;
.prettytable th, .prettytable td {&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th,&lt;br /&gt;
.prettytable th {&lt;br /&gt;
    background: #f2f2f2;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.wikitable caption,&lt;br /&gt;
.prettytable caption {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* default skin for navigation boxes */&lt;br /&gt;
table.navbox {            /* navbox container style */&lt;br /&gt;
  border:1px solid #aaa;&lt;br /&gt;
  width:100%; &lt;br /&gt;
  margin:auto;&lt;br /&gt;
  clear:both;&lt;br /&gt;
  font-size:88%;&lt;br /&gt;
  text-align:center;&lt;br /&gt;
  padding:1px;&lt;br /&gt;
}&lt;br /&gt;
table.navbox + table.navbox {&lt;br /&gt;
  margin-top:-1px;        /* single pixel border between adjacent navboxes (doesn't work for IE6, but that's okay) */&lt;br /&gt;
}&lt;br /&gt;
.navbox-title, .navbox-abovebelow, table.navbox th {&lt;br /&gt;
  text-align:center;      /* title and above/below styles */&lt;br /&gt;
  padding-left:1em;&lt;br /&gt;
  padding-right:1em;&lt;br /&gt;
}&lt;br /&gt;
.navbox-group {           /* group style */&lt;br /&gt;
  white-space:nowrap;&lt;br /&gt;
  text-align:right;&lt;br /&gt;
  font-weight:bold;&lt;br /&gt;
  padding-left:1em;&lt;br /&gt;
  padding-right:1em;&lt;br /&gt;
}&lt;br /&gt;
.navbox, .navbox-subgroup {&lt;br /&gt;
  background:#fdfdfd;     /* Background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-list {&lt;br /&gt;
  border-color:#fdfdfd;   /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-title, table.navbox th {&lt;br /&gt;
  background:#ccccff;     /* Level 1 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title {&lt;br /&gt;
  background:#ddddff;     /* Level 2 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
  background:#e6e6ff;     /* Level 3 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-even {&lt;br /&gt;
  background:#f7f7f7;     /* Even row striping */&lt;br /&gt;
}&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
  background:transparent; /* Odd row striping */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Infobox template style */&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
.infobox td,&lt;br /&gt;
.infobox th {&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.infobox caption {&lt;br /&gt;
    font-size: larger;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered {&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered td,&lt;br /&gt;
.infobox.bordered th {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered .borderless td,&lt;br /&gt;
.infobox.bordered .borderless th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.sisterproject {&lt;br /&gt;
    width: 20em;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.infobox.standard-talk.bordered td,&lt;br /&gt;
.infobox.standard-talk.bordered th {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* styles for bordered infobox with merged rows */&lt;br /&gt;
.infobox.bordered .mergedtoprow td,&lt;br /&gt;
.infobox.bordered .mergedtoprow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.bordered .mergedrow td,&lt;br /&gt;
.infobox.bordered .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styles for geography infoboxes, e.g. countries, country subdivisions, cities, etc. */&lt;br /&gt;
.infobox.geography {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    line-height: 1.2em; &lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography  td,&lt;br /&gt;
.infobox.geography  th {&lt;br /&gt;
    border-top: solid 1px #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
.infobox.geography .mergedtoprow td,&lt;br /&gt;
.infobox.geography .mergedtoprow th {&lt;br /&gt;
    border-top: solid 1px #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .mergedrow td,&lt;br /&gt;
.infobox.geography .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .mergedbottomrow td,&lt;br /&gt;
.infobox.geography .mergedbottomrow th {&lt;br /&gt;
    border-top: 0;&lt;br /&gt;
    border-bottom: solid 1px #aaa;&lt;br /&gt;
    padding: 0 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .maptable td,&lt;br /&gt;
.infobox.geography .maptable th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for &amp;quot;notices&amp;quot; */&lt;br /&gt;
.notice {&lt;br /&gt;
    margin: 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#disambig {&lt;br /&gt;
    border-top: 1px solid #ccc; &lt;br /&gt;
    border-bottom: 1px solid #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Persondata and other (future) metadata,&lt;br /&gt;
   &amp;quot;table.InChI&amp;quot; and &amp;quot;.InChI-label&amp;quot; are temporary. */&lt;br /&gt;
table.InChI,&lt;br /&gt;
table.persondata {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    display: none;&lt;br /&gt;
    speak: none;&lt;br /&gt;
}&lt;br /&gt;
.InChI-label,&lt;br /&gt;
.persondata-label {&lt;br /&gt;
    color: #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Makes redirects appear in italics in categories and on [[Special:Allpages]] */&lt;br /&gt;
.redirect-in-category, .allpagesredirect {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Class for links with loudspeaker icon next to them. &lt;br /&gt;
   (Used in [[Template:Audio]] and the like to make the speaker clickable) */&lt;br /&gt;
.audiolink a {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Loudspeaker.svg/11px-Loudspeaker.svg.png&amp;quot;) center left no-repeat !important;&lt;br /&gt;
    padding-left: 16px !important;&lt;br /&gt;
    padding-right: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Icons for medialist templates [[Template:Listen]], [[Template:Multi-listen_start]], [[Template:Video]], [[Template:Multi-video_start]] */&lt;br /&gt;
div.listenlist {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Gnome-speakernotes.png/30px-Gnome-speakernotes.png&amp;quot;);&lt;br /&gt;
    padding-left: 40px;&lt;br /&gt;
}&lt;br /&gt;
div.videolist, div.multivideolist {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/en/thumb/2/20/Tango-video-x-generic.png/40px-Tango-video-x-generic.png&amp;quot;);&lt;br /&gt;
    padding-left: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style rules for media list templates */&lt;br /&gt;
div.medialist {&lt;br /&gt;
    min-height: 50px;&lt;br /&gt;
    margin: 1em;&lt;br /&gt;
    background-position: top left;&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul {&lt;br /&gt;
    list-style-type: none; &lt;br /&gt;
    list-style-image: none;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul li {&lt;br /&gt;
    padding-bottom: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul li li {&lt;br /&gt;
    font-size: 91%;&lt;br /&gt;
    padding-bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon for all PDF files */&lt;br /&gt;
/* (in browsers that support these CSS selectors, like Mozilla and Opera) */&lt;br /&gt;
#bodyContent a[href$=&amp;quot;.pdf&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.pdf?&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
#bodyContent a[href$=&amp;quot;.PDF&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.PDF?&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.PDF#&amp;quot;].external,&lt;br /&gt;
#mw_content a[href$=&amp;quot;.pdf&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.pdf?&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
#mw_content a[href$=&amp;quot;.PDF&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.PDF?&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.PDF#&amp;quot;].external {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Icons-mini-file_acrobat.gif/15px-Icons-mini-file_acrobat.gif) center right no-repeat;&lt;br /&gt;
    padding-right: 16px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon anywhere the PDFlink class */&lt;br /&gt;
/* is used (notably Template:PDFlink). This works in IE, unlike the above. */&lt;br /&gt;
span.PDFlink a {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Icons-mini-file_acrobat.gif/15px-Icons-mini-file_acrobat.gif) center right no-repeat !important;&lt;br /&gt;
    padding-right: 17px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.geolink a {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/en/a/a7/Monobook-globe.png) center right no-repeat !important;&lt;br /&gt;
    padding-right: 11px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Content in columns with CSS instead of tables [[Template:Columns]] */&lt;br /&gt;
div.columns-2 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 50%;&lt;br /&gt;
    min-width: 300px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-3 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 33.3%;&lt;br /&gt;
    min-width: 200px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-4 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 25%;&lt;br /&gt;
    min-width: 150px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-5 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 20%;&lt;br /&gt;
    min-width: 120px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Add formatting to make sure that &amp;quot;external references&amp;quot; from [[Template:Ref]] do&lt;br /&gt;
  not get URL expansion, not even when printed. The mechanism up to MediaWiki 1.4 was&lt;br /&gt;
  that the HTML code contained a SPAN following the anchor A; this SPAN had the class&lt;br /&gt;
  &amp;quot;urlexpansion&amp;quot;, which was not displayed on screen, but was shown when the medium was&lt;br /&gt;
  &amp;quot;print&amp;quot;. The rules below ensure (a) that there is no extra padding to the right of&lt;br /&gt;
  the anchor (displayed as &amp;quot;[&amp;lt;number&amp;gt;]&amp;quot;), (b) that there is no &amp;quot;external link arrow&amp;quot; for&lt;br /&gt;
  the link, and (c) that this SPAN of class &amp;quot;urlexpansion&amp;quot; is never shown.&lt;br /&gt;
  ~~~~&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand {&lt;br /&gt;
    background: none ! important;&lt;br /&gt;
    padding: 0 ! important;&lt;br /&gt;
}&lt;br /&gt;
.plainlinksneverexpand .urlexpansion {&lt;br /&gt;
    display: none ! important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make sure that ext links displayed within &amp;quot;plainlinksneverexpand&amp;quot; don't get&lt;br /&gt;
   the arrow...&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand a {&lt;br /&gt;
    background: none !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* With MediaWiki 1.5, the mechanism has changed: instead of a SPAN of class &amp;quot;urlexpansion&amp;quot;&lt;br /&gt;
   following the anchor A, the anchor itself now has class &amp;quot;external autonumber&amp;quot; and the&lt;br /&gt;
   expansion is inserted when printing (see the common printing style sheet at&lt;br /&gt;
   http://en.wikipedia.org/skins-1.5/common/commonPrint.css) using the &amp;quot;:after&amp;quot; pseudo-&lt;br /&gt;
   element of CSS. We have to switch this off for links due to Template:Ref!&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand a.external.text:after {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
.plainlinksneverexpand a.external.autonumber:after {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Messagebox templates */&lt;br /&gt;
.messagebox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 0 auto 1em auto;&lt;br /&gt;
    padding: .2em;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.merge {&lt;br /&gt;
    border: 1px solid #c0b8cc;&lt;br /&gt;
    background-color: #f0e5ff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.cleanup {&lt;br /&gt;
    border: 1px solid #9f9fff;&lt;br /&gt;
    background-color: #efefff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    margin: 4px auto;&lt;br /&gt;
}&lt;br /&gt;
/* For old WikiProject banners inside banner shells. */&lt;br /&gt;
.mbox-inside .standard-talk,&lt;br /&gt;
.messagebox.nested-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.small {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em; &lt;br /&gt;
}&lt;br /&gt;
.messagebox.small-talk {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em; &lt;br /&gt;
    background: #F8EABA;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */&lt;br /&gt;
th.mbox-text, td.mbox-text {     /* The message body cell(s) */&lt;br /&gt;
    border: none; &lt;br /&gt;
    padding: 0.25em 0.9em;       /* 0.9em left/right */&lt;br /&gt;
    width: 100%;    /* Make all mboxes the same width regardless of text length */&lt;br /&gt;
}&lt;br /&gt;
td.mbox-image {                  /* The left image cell */&lt;br /&gt;
    border: none; &lt;br /&gt;
    padding: 2px 0 2px 0.9em;    /* 0.9em left, 0px right */&lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
td.mbox-imageright {             /* The right image cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    padding: 2px 0.9em 2px 0;    /* 0px left, 0.9em right */&lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
.mediawiki table.tmbox-small,&lt;br /&gt;
.mediawiki table.ombox-small,&lt;br /&gt;
.mediawiki table.mbox-small {    /* For the &amp;quot;small=yes&amp;quot; option (also used elsewhere).   */&lt;br /&gt;
    clear: right;                /* The &amp;quot;mediawiki&amp;quot; class ensures that this declaration */&lt;br /&gt;
    float: right;                /* overrides styles set in &amp;quot;tmbox&amp;quot;/&amp;quot;ombox&amp;quot;/etc below   */&lt;br /&gt;
    margin: 4px 0 4px 1em;&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Article message box styles */&lt;br /&gt;
table.ambox {            /* 10% = Will not overlap with other elements */&lt;br /&gt;
    margin: -1px 10% 0px;    /* -1px = Single border between stacked boxes in all browsers */&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb; &lt;br /&gt;
}&lt;br /&gt;
.ambox th.mbox-text, &lt;br /&gt;
.ambox td.mbox-text {            /* The message body cell(s) */&lt;br /&gt;
    padding: 0.25em 0.5em;       /* 0.5em left/right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-image {           /* The left image cell */&lt;br /&gt;
    padding: 2px 0 2px 0.5em;    /* 0.5em left, 0px right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-imageright {      /* The right image cell */&lt;br /&gt;
    padding: 2px 0.5em 2px 0;    /* 0px left, 0.5em right */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ambox-notice {&lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-speedy {&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;                   /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-delete {&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-content {&lt;br /&gt;
    border-left: 10px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-style {&lt;br /&gt;
    border-left: 10px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-move {&lt;br /&gt;
    border-left: 10px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-protection {&lt;br /&gt;
    border-left: 10px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Image message box styles */&lt;br /&gt;
table.imbox {&lt;br /&gt;
    margin: 4px 10%; &lt;br /&gt;
    border-collapse: collapse; &lt;br /&gt;
    border: 3px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb;&lt;br /&gt;
}&lt;br /&gt;
.imbox .mbox-text .imbox {    /* For imboxes inside imbox-text cells. */&lt;br /&gt;
    margin: 0 -0.5em;    /* 0.9 - 0.5 = 0.4em left/right. */&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .imbox {    /* For imboxes inside other templates. */&lt;br /&gt;
    margin: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.imbox-notice {&lt;br /&gt;
    border: 3px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-speedy {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-delete {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-content {&lt;br /&gt;
    border: 3px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-style {&lt;br /&gt;
    border: 3px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-move {&lt;br /&gt;
    border: 3px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-protection {&lt;br /&gt;
    border: 3px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-license {&lt;br /&gt;
    border: 3px solid #88a;       /* Dark gray */&lt;br /&gt;
    background: #f7f8ff;          /* Light gray */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-featured {&lt;br /&gt;
    border: 3px solid #cba135;    /* Brown-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category message box styles */&lt;br /&gt;
table.cmbox {&lt;br /&gt;
    margin: 3px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    background: #DFE8FF;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.cmbox-notice {&lt;br /&gt;
    background: #D8E8FF;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-speedy {&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    margin-bottom: 4px;&lt;br /&gt;
    border: 4px solid #b22222;    /* Red */&lt;br /&gt;
    background: #FFDBDB;          /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-delete {&lt;br /&gt;
    background: #FFDBDB;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-content {&lt;br /&gt;
    background: #FFE7CE;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-style {&lt;br /&gt;
    background: #FFF9DB;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-move {&lt;br /&gt;
    background: #E4D8FF;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-protection {&lt;br /&gt;
    background: #EFEFE1;    /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Other pages message box styles */&lt;br /&gt;
table.ombox {&lt;br /&gt;
    margin: 4px 10%; &lt;br /&gt;
    border-collapse: collapse; &lt;br /&gt;
    border: 1px solid #aaa;       /* Default &amp;quot;notice&amp;quot; gray */&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-notice {&lt;br /&gt;
    border: 1px solid #aaa;       /* Gray */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-content {&lt;br /&gt;
    border: 1px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-style {&lt;br /&gt;
    border: 1px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-move {&lt;br /&gt;
    border: 1px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-protection {&lt;br /&gt;
    border: 2px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Talk page message box styles */&lt;br /&gt;
table.tmbox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #c0c090;    /* Default &amp;quot;notice&amp;quot; gray-brown */&lt;br /&gt;
    background: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .tmbox {    /* For tmboxes inside other templates. */&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    width: 100%;    /* Fix for Safari and Opera. */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.tmbox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-content {&lt;br /&gt;
    border: 2px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-style {&lt;br /&gt;
    border: 2px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-move {&lt;br /&gt;
    border: 2px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-protection,&lt;br /&gt;
table.tmbox-notice {&lt;br /&gt;
    border: 1px solid #c0c090;    /* Gray-brown */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pink fmbox warning style for div based warning notices. */&lt;br /&gt;
div.fmbox-warning,&lt;br /&gt;
div.mw-warning-with-logexcerpt {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    border: 1px solid #BB7070;&lt;br /&gt;
    background: #FFDBDB;&lt;br /&gt;
    padding: 0.25em 0.9em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Put a checker background at the image description page only visible if the image has transparent background */&lt;br /&gt;
#file img {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png&amp;quot;) repeat;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Support for Template:IPA, Template:Unicode and Template:Polytonic. The inherit declaration resets the font for all browsers except MSIE6.  The empty comment must remain. Please copy any changes to [[Template:IPA fonts]] and [[Template:Unicode fonts]]. */&lt;br /&gt;
.IPA {&lt;br /&gt;
    font-family: &amp;quot;Charis SIL&amp;quot;, &amp;quot;Doulos SIL&amp;quot;, Gentium, GentiumAlt, &amp;quot;DejaVu Sans&amp;quot;, Code2000, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Chrysanthi Unicode&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.Unicode {&lt;br /&gt;
    font-family: Code2000, Code2001, &amp;quot;Free Serif&amp;quot;, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Doulos SIL&amp;quot;, &amp;quot;Chrysanthi Unicode&amp;quot;, &amp;quot;Bitstream Cyberbit&amp;quot;, &amp;quot;Bitstream CyberBase&amp;quot;, Thryomanes, Gentium, GentiumAlt, &amp;quot;Lucida Grande&amp;quot;, &amp;quot;Free Sans&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Microsoft Sans Serif&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.latinx {&lt;br /&gt;
    font-family: Code2000, Code2001, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Microsoft Sans Serif&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.polytonic {&lt;br /&gt;
    font-family: &amp;quot;Athena Unicode&amp;quot;, Gentium, &amp;quot;Palatino Linotype&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Code2000; &lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.mufi {&lt;br /&gt;
    font-family: Alphabetum, Cardo, LeedsUni, Junicode, &amp;quot;TITUS Cyberbit Basic&amp;quot;, ALPHA-Demo;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pseudo-classes in support of [[Template:lang]]. */&lt;br /&gt;
&lt;br /&gt;
:lang(he) {&lt;br /&gt;
    font-family: &amp;quot;SBL Hebrew&amp;quot;, &amp;quot;Ezra SIL SR&amp;quot;, &amp;quot;Ezra SIL&amp;quot;, Cardo, &amp;quot;Chrysanthi Unicode&amp;quot;, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, Narkisim, &amp;quot;Times New Roman&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(fa) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ps) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ur) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(sux-Xsux) {&lt;br /&gt;
    font-family: Akkadian;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ja) {&lt;br /&gt;
       font-family: Code2000, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Bitstream Cyberbit&amp;quot;, &amp;quot;Bitstream CyberCJK&amp;quot;, IPAGothic, IPAPGothic, IPAUIGothic, &amp;quot;Kochi Gothic&amp;quot;, IPAMincho, IPAPMincho;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ko) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Myungjo Std M&amp;quot;, AppleMyungjo, &amp;quot;Baekmuk Batang&amp;quot;, &amp;quot;Baekmuk Gulim&amp;quot;, Batang, Dotum, DotumChe, Gulim, GulimChe, HYGothic-Extra, HYMyeongJo-Extra, &amp;quot;New Gulim&amp;quot;, UnBatang, UnDotum, UnYetgul, UWKMJF;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(zh-Hans) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Song Std L&amp;quot;, &amp;quot;AR PL ShanHeiSun Uni&amp;quot;, &amp;quot;AR PL ShanHeiSun Uni MBE&amp;quot;, &amp;quot;MS Hei&amp;quot;, &amp;quot;MS Song&amp;quot;, SimHei;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(zh-Hant) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Ming Std L&amp;quot;, &amp;quot;AR PL New Sung&amp;quot;, &amp;quot;AR PL ZenKai Uni&amp;quot;, &amp;quot;AR PL ZenKai Uni MBE&amp;quot;, MingLiU, PMingLiU;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(grc) {&lt;br /&gt;
    font-family: &amp;quot;Athena Unicode&amp;quot;, Gentium, &amp;quot;Palatino Linotype&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Code2000;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#wpSave {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */&lt;br /&gt;
.hiddenStructure {&lt;br /&gt;
    display: inline ! important;&lt;br /&gt;
    color: #f00; &lt;br /&gt;
    background-color: #0f0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* suppress missing interwiki image links where #ifexist cannot be used due to high number of requests */&lt;br /&gt;
/* use restricted to rail icon management pages */&lt;br /&gt;
/* see .hidden-redlink on http://meta.wikimedia.org/wiki/MediaWiki:Common.css */&lt;br /&gt;
.check-icon a.new {&lt;br /&gt;
    display: none; &lt;br /&gt;
    speak:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Removes underlines from links */&lt;br /&gt;
.nounderlines a { &lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Remove underline from IPA links */&lt;br /&gt;
.IPA a:link, .IPA a:visited {&lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#EnWpMpBook { background-image: url(http://upload.wikimedia.org/wikipedia/en/7/7e/MP-open-book.png); }&lt;br /&gt;
#EnWpMpSearch { background: url(http://upload.wikimedia.org/wikipedia/en/a/ae/MP-magnifying-glass.png) no-repeat top right; }&lt;br /&gt;
#EnWpMpSearchInner { float: right; width: 20em; text-align: center; }&lt;br /&gt;
#EnWpMpBook2 { background-image: url(http://upload.wikimedia.org/wikipedia/commons/8/8e/MP-open-book2.png); }&lt;br /&gt;
&lt;br /&gt;
/* Standard Navigationsleisten, aka box hiding thingy from .de.  Documentation at [[Wikipedia:NavFrame]]. */&lt;br /&gt;
div.Boxmerge,&lt;br /&gt;
div.NavFrame {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    font-size: 95%;&lt;br /&gt;
}&lt;br /&gt;
div.Boxmerge div.NavFrame {&lt;br /&gt;
    border-style: none;&lt;br /&gt;
    border-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame + div.NavFrame {&lt;br /&gt;
    border-top-style: none;&lt;br /&gt;
    border-top-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavPic {&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavHead {&lt;br /&gt;
    height: 1.6em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    background-color: #ccf;&lt;br /&gt;
    position:relative;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavContent {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavContent p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavEnd {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    line-height: 1px;&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
a.NavToggle {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    right: 3px;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Coloured watchlist numbers */&lt;br /&gt;
.mw-plusminus-pos {&lt;br /&gt;
    color: #006400; /* darkgreen */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* .mw-plusminus-null currently at developer default */&lt;br /&gt;
.mw-plusminus-neg {&lt;br /&gt;
    color: #8B0000; /* darkred */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.dablink {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
}&lt;br /&gt;
.dablink i {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for horizontal UL lists */&lt;br /&gt;
.horizontal ul {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li { &lt;br /&gt;
    padding: 0 0.6em 0 0.4em;&lt;br /&gt;
    display: inline;&lt;br /&gt;
    border-right: 1px solid;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li:last-child {&lt;br /&gt;
    border-right: none;&lt;br /&gt;
    padding-right: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Geographical coordinates defaults. &lt;br /&gt;
   See [[Template:Coord/link]] for how these are used. &lt;br /&gt;
   The classes &amp;quot;geo&amp;quot;, &amp;quot;longitude&amp;quot;, and &amp;quot;latitude&amp;quot; are used by &lt;br /&gt;
   the [[Geo microformat]], so the names should not be changed. */&lt;br /&gt;
.geo-default, .geo-dms, .geo-dec { display: inline; }&lt;br /&gt;
.geo-nondefault, .geo-multi-punct { display: none; }&lt;br /&gt;
.longitude, .latitude { white-space: nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* When &amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt; is used on the table of contents, the ToC will display without numbers */&lt;br /&gt;
.nonumtoc .tocnumber { display:none; }&lt;br /&gt;
.nonumtoc #toc ul,&lt;br /&gt;
.nonumtoc .toc ul {&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    list-style: none;&lt;br /&gt;
    margin: .3em 0 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.nonumtoc #toc ul ul, &lt;br /&gt;
.nonumtoc .toc ul ul { &lt;br /&gt;
    margin: 0 0 0 2em; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow limiting of which header levels are shown in a TOC; &amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;, for&lt;br /&gt;
   instance, will limit to showing ==headings== and ===headings=== but no further (as long as&lt;br /&gt;
   there are no =headings= on the page, which there shouldn't be according to the MoS). */&lt;br /&gt;
.toclimit-2 .toclevel-2 {display:none;}&lt;br /&gt;
.toclimit-3 .toclevel-3 {display:none;}&lt;br /&gt;
.toclimit-4 .toclevel-4 {display:none;}&lt;br /&gt;
.toclimit-5 .toclevel-5 {display:none;}&lt;br /&gt;
.toclimit-6 .toclevel-6 {display:none;}&lt;br /&gt;
.toclimit-7 .toclevel-7 {display:none;}&lt;br /&gt;
&lt;br /&gt;
/* Allow transcluded pages to display in lists rather than a table. Compatible in Firefox; incompatible in IE6. */&lt;br /&gt;
.listify td {display:list-item;}&lt;br /&gt;
.listify tr {display:block;}&lt;br /&gt;
.listify table {display:block;}&lt;br /&gt;
&lt;br /&gt;
/* Styling for Template:Quote */&lt;br /&gt;
blockquote.templatequote { &lt;br /&gt;
     margin-top: 0; &lt;br /&gt;
}&lt;br /&gt;
blockquote.templatequote div.templatequotecite { &lt;br /&gt;
    line-height: 1em;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
    margin-top: 0;&lt;br /&gt;
}&lt;br /&gt;
blockquote.templatequote div.templatequotecite cite {&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.user-block {&lt;br /&gt;
    padding: 5px;&lt;br /&gt;
    border: 1px solid #A9A9A9;&lt;br /&gt;
    background-color: #FFEFD5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevents line breaks in links */&lt;br /&gt;
.nowraplinks a {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For template documentation */&lt;br /&gt;
.template-documentation {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 1em 0 0 0;&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    background-color: #ecfcf4; &lt;br /&gt;
    padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner {&lt;br /&gt;
    min-width: 100px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline divs in ImageMaps (code borrowed from de.wiki) */&lt;br /&gt;
.imagemap-inline div {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Increase the height of the image upload box */&lt;br /&gt;
#wpUploadDescription {&lt;br /&gt;
    height: 13em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reduce line-height for &amp;lt;sup&amp;gt; and &amp;lt;sub&amp;gt; */&lt;br /&gt;
sup, sub {&lt;br /&gt;
    line-height: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* The backgrounds for galleries. */&lt;br /&gt;
#content .gallerybox div.thumb {&lt;br /&gt;
    background-color: #F9F9F9;   /* Light gray padding */&lt;br /&gt;
}&lt;br /&gt;
.gallerybox .thumb img {&lt;br /&gt;
    background: white url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png&amp;quot;) repeat;&lt;br /&gt;
}&lt;br /&gt;
/* .ns-0 = articles, .ns-2 = user pages, .ns-100 = portals. */&lt;br /&gt;
.ns-0 .gallerybox .thumb img,&lt;br /&gt;
.ns-2 .gallerybox .thumb img,&lt;br /&gt;
.ns-100 .gallerybox .thumb img {&lt;br /&gt;
    background: white;   /* No chequered background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevent boxes from overlapping the category listings */&lt;br /&gt;
#mw-subcategories, #mw-pages, #mw-category-media {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Selectively hide headers in WikiProject banners */&lt;br /&gt;
.wpb .wpb-header             {display: none}&lt;br /&gt;
.wpbs-inner .wpb .wpb-header {display: block}     /* for IE */&lt;br /&gt;
.wpbs-inner .wpb .wpb-header {display: table-row} /* for real browsers */&lt;br /&gt;
.wpbs-inner .wpb-outside     {display: none}      /* hide things that should only display outside shells */&lt;br /&gt;
&lt;br /&gt;
/* Stop HTML formulae breaking in silly places */&lt;br /&gt;
span.texhtml { white-space: nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* stop references with groups from line-breaking */&lt;br /&gt;
sup.reference a {white-space: nowrap;}&lt;br /&gt;
&lt;br /&gt;
/* Pre Fix */&lt;br /&gt;
tt, code, pre {&lt;br /&gt;
    font-family: monospace, sans-serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don't use any logo, move the boxes onto that area instead. */&lt;br /&gt;
#p-logo { display: none }&lt;br /&gt;
#column-one { padding-top: 0; }&lt;br /&gt;
&lt;br /&gt;
#p-logo a, #p-logo a:hover {&lt;br /&gt;
display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#column-one {&lt;br /&gt;
padding-top: 21px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo {&lt;br /&gt;
        z-index: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo a {&lt;br /&gt;
        z-index: -1;&lt;br /&gt;
        background-position:left top;&lt;br /&gt;
	width: 240px;&lt;br /&gt;
	height: 90px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; */&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/MediaWiki:Orafaq.css</id>
		<title>MediaWiki:Orafaq.css</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/MediaWiki:Orafaq.css"/>
				<updated>2012-09-29T13:56:09Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#globalWrapper {&lt;br /&gt;
        position:absolute;&lt;br /&gt;
        margin-top:0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo {&lt;br /&gt;
        z-index: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo a {&lt;br /&gt;
        background-position:left top;&lt;br /&gt;
	width: 350px;&lt;br /&gt;
	height: 90px;&lt;br /&gt;
	overflow: visible;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/MediaWiki:Orafaq.css</id>
		<title>MediaWiki:Orafaq.css</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/MediaWiki:Orafaq.css"/>
				<updated>2012-09-29T13:55:09Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#globalWrapper {&lt;br /&gt;
        position:absolute;&lt;br /&gt;
        margin-top:0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo a, #p-logo a:hover {&lt;br /&gt;
display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#column-one {&lt;br /&gt;
padding-top: 21px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/MediaWiki:Common.css</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/MediaWiki:Common.css"/>
				<updated>2012-09-29T13:52:21Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt; */&lt;br /&gt;
/* CSS placed here will be applied to all skins */&lt;br /&gt;
 &lt;br /&gt;
/* Main page fixes */&lt;br /&gt;
#interwiki-completelist {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
body.page-Main_Page #ca-delete {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.page-Main_Page #mp-topbanner {&lt;br /&gt;
   clear:both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Edit window toolbar */&lt;br /&gt;
#toolbar {&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    margin-bottom: 6px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make the list of references smaller */&lt;br /&gt;
ol.references {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
.references-small { &lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* VALIDATOR NOTICE: the following is correct, but the W3C validator doesn't accept it */&lt;br /&gt;
/* -moz-* is a vendor-specific extension (CSS 2.1 4.1.2.1) */&lt;br /&gt;
/* column-count is from the CSS3 module &amp;quot;CSS Multi-column Layout&amp;quot; */&lt;br /&gt;
/* Please ignore any validator errors caused by these two lines */&lt;br /&gt;
.references-2column {&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    -moz-column-count: 2;&lt;br /&gt;
    -webkit-column-count: 2;&lt;br /&gt;
    column-count: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.same-bg { background: none; }&lt;br /&gt;
&lt;br /&gt;
/* Highlight clicked reference in blue to help navigation */&lt;br /&gt;
ol.references &amp;gt; li:target {&lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sup.reference:target { &lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styling for citations */&lt;br /&gt;
cite {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
    word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* If there is an inline link to a full citation, the full citation will turn blue when the inline link is clicked */&lt;br /&gt;
cite:target { &lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For linked citation numbers and document IDs, where the number need not be shown on a screen or a handheld, but should be included in the printed version */&lt;br /&gt;
&lt;br /&gt;
@media screen, handheld, projection {&lt;br /&gt;
    cite *.printonly {&lt;br /&gt;
        display: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* wikitable/prettytable class for skinning normal tables */&lt;br /&gt;
table.wikitable,&lt;br /&gt;
table.prettytable {&lt;br /&gt;
    margin: 1em 1em 1em 0;&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th, .wikitable td,&lt;br /&gt;
.prettytable th, .prettytable td {&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th,&lt;br /&gt;
.prettytable th {&lt;br /&gt;
    background: #f2f2f2;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.wikitable caption,&lt;br /&gt;
.prettytable caption {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* default skin for navigation boxes */&lt;br /&gt;
table.navbox {            /* navbox container style */&lt;br /&gt;
  border:1px solid #aaa;&lt;br /&gt;
  width:100%; &lt;br /&gt;
  margin:auto;&lt;br /&gt;
  clear:both;&lt;br /&gt;
  font-size:88%;&lt;br /&gt;
  text-align:center;&lt;br /&gt;
  padding:1px;&lt;br /&gt;
}&lt;br /&gt;
table.navbox + table.navbox {&lt;br /&gt;
  margin-top:-1px;        /* single pixel border between adjacent navboxes (doesn't work for IE6, but that's okay) */&lt;br /&gt;
}&lt;br /&gt;
.navbox-title, .navbox-abovebelow, table.navbox th {&lt;br /&gt;
  text-align:center;      /* title and above/below styles */&lt;br /&gt;
  padding-left:1em;&lt;br /&gt;
  padding-right:1em;&lt;br /&gt;
}&lt;br /&gt;
.navbox-group {           /* group style */&lt;br /&gt;
  white-space:nowrap;&lt;br /&gt;
  text-align:right;&lt;br /&gt;
  font-weight:bold;&lt;br /&gt;
  padding-left:1em;&lt;br /&gt;
  padding-right:1em;&lt;br /&gt;
}&lt;br /&gt;
.navbox, .navbox-subgroup {&lt;br /&gt;
  background:#fdfdfd;     /* Background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-list {&lt;br /&gt;
  border-color:#fdfdfd;   /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-title, table.navbox th {&lt;br /&gt;
  background:#ccccff;     /* Level 1 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title {&lt;br /&gt;
  background:#ddddff;     /* Level 2 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
  background:#e6e6ff;     /* Level 3 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-even {&lt;br /&gt;
  background:#f7f7f7;     /* Even row striping */&lt;br /&gt;
}&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
  background:transparent; /* Odd row striping */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Infobox template style */&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
.infobox td,&lt;br /&gt;
.infobox th {&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.infobox caption {&lt;br /&gt;
    font-size: larger;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered {&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered td,&lt;br /&gt;
.infobox.bordered th {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered .borderless td,&lt;br /&gt;
.infobox.bordered .borderless th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.sisterproject {&lt;br /&gt;
    width: 20em;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.infobox.standard-talk.bordered td,&lt;br /&gt;
.infobox.standard-talk.bordered th {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* styles for bordered infobox with merged rows */&lt;br /&gt;
.infobox.bordered .mergedtoprow td,&lt;br /&gt;
.infobox.bordered .mergedtoprow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.bordered .mergedrow td,&lt;br /&gt;
.infobox.bordered .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styles for geography infoboxes, e.g. countries, country subdivisions, cities, etc. */&lt;br /&gt;
.infobox.geography {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    line-height: 1.2em; &lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography  td,&lt;br /&gt;
.infobox.geography  th {&lt;br /&gt;
    border-top: solid 1px #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
.infobox.geography .mergedtoprow td,&lt;br /&gt;
.infobox.geography .mergedtoprow th {&lt;br /&gt;
    border-top: solid 1px #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .mergedrow td,&lt;br /&gt;
.infobox.geography .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .mergedbottomrow td,&lt;br /&gt;
.infobox.geography .mergedbottomrow th {&lt;br /&gt;
    border-top: 0;&lt;br /&gt;
    border-bottom: solid 1px #aaa;&lt;br /&gt;
    padding: 0 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .maptable td,&lt;br /&gt;
.infobox.geography .maptable th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for &amp;quot;notices&amp;quot; */&lt;br /&gt;
.notice {&lt;br /&gt;
    margin: 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#disambig {&lt;br /&gt;
    border-top: 1px solid #ccc; &lt;br /&gt;
    border-bottom: 1px solid #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Persondata and other (future) metadata,&lt;br /&gt;
   &amp;quot;table.InChI&amp;quot; and &amp;quot;.InChI-label&amp;quot; are temporary. */&lt;br /&gt;
table.InChI,&lt;br /&gt;
table.persondata {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    display: none;&lt;br /&gt;
    speak: none;&lt;br /&gt;
}&lt;br /&gt;
.InChI-label,&lt;br /&gt;
.persondata-label {&lt;br /&gt;
    color: #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Makes redirects appear in italics in categories and on [[Special:Allpages]] */&lt;br /&gt;
.redirect-in-category, .allpagesredirect {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Class for links with loudspeaker icon next to them. &lt;br /&gt;
   (Used in [[Template:Audio]] and the like to make the speaker clickable) */&lt;br /&gt;
.audiolink a {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Loudspeaker.svg/11px-Loudspeaker.svg.png&amp;quot;) center left no-repeat !important;&lt;br /&gt;
    padding-left: 16px !important;&lt;br /&gt;
    padding-right: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Icons for medialist templates [[Template:Listen]], [[Template:Multi-listen_start]], [[Template:Video]], [[Template:Multi-video_start]] */&lt;br /&gt;
div.listenlist {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Gnome-speakernotes.png/30px-Gnome-speakernotes.png&amp;quot;);&lt;br /&gt;
    padding-left: 40px;&lt;br /&gt;
}&lt;br /&gt;
div.videolist, div.multivideolist {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/en/thumb/2/20/Tango-video-x-generic.png/40px-Tango-video-x-generic.png&amp;quot;);&lt;br /&gt;
    padding-left: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style rules for media list templates */&lt;br /&gt;
div.medialist {&lt;br /&gt;
    min-height: 50px;&lt;br /&gt;
    margin: 1em;&lt;br /&gt;
    background-position: top left;&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul {&lt;br /&gt;
    list-style-type: none; &lt;br /&gt;
    list-style-image: none;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul li {&lt;br /&gt;
    padding-bottom: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul li li {&lt;br /&gt;
    font-size: 91%;&lt;br /&gt;
    padding-bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon for all PDF files */&lt;br /&gt;
/* (in browsers that support these CSS selectors, like Mozilla and Opera) */&lt;br /&gt;
#bodyContent a[href$=&amp;quot;.pdf&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.pdf?&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
#bodyContent a[href$=&amp;quot;.PDF&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.PDF?&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.PDF#&amp;quot;].external,&lt;br /&gt;
#mw_content a[href$=&amp;quot;.pdf&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.pdf?&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
#mw_content a[href$=&amp;quot;.PDF&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.PDF?&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.PDF#&amp;quot;].external {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Icons-mini-file_acrobat.gif/15px-Icons-mini-file_acrobat.gif) center right no-repeat;&lt;br /&gt;
    padding-right: 16px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon anywhere the PDFlink class */&lt;br /&gt;
/* is used (notably Template:PDFlink). This works in IE, unlike the above. */&lt;br /&gt;
span.PDFlink a {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Icons-mini-file_acrobat.gif/15px-Icons-mini-file_acrobat.gif) center right no-repeat !important;&lt;br /&gt;
    padding-right: 17px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.geolink a {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/en/a/a7/Monobook-globe.png) center right no-repeat !important;&lt;br /&gt;
    padding-right: 11px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Content in columns with CSS instead of tables [[Template:Columns]] */&lt;br /&gt;
div.columns-2 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 50%;&lt;br /&gt;
    min-width: 300px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-3 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 33.3%;&lt;br /&gt;
    min-width: 200px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-4 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 25%;&lt;br /&gt;
    min-width: 150px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-5 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 20%;&lt;br /&gt;
    min-width: 120px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Add formatting to make sure that &amp;quot;external references&amp;quot; from [[Template:Ref]] do&lt;br /&gt;
  not get URL expansion, not even when printed. The mechanism up to MediaWiki 1.4 was&lt;br /&gt;
  that the HTML code contained a SPAN following the anchor A; this SPAN had the class&lt;br /&gt;
  &amp;quot;urlexpansion&amp;quot;, which was not displayed on screen, but was shown when the medium was&lt;br /&gt;
  &amp;quot;print&amp;quot;. The rules below ensure (a) that there is no extra padding to the right of&lt;br /&gt;
  the anchor (displayed as &amp;quot;[&amp;lt;number&amp;gt;]&amp;quot;), (b) that there is no &amp;quot;external link arrow&amp;quot; for&lt;br /&gt;
  the link, and (c) that this SPAN of class &amp;quot;urlexpansion&amp;quot; is never shown.&lt;br /&gt;
  ~~~~&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand {&lt;br /&gt;
    background: none ! important;&lt;br /&gt;
    padding: 0 ! important;&lt;br /&gt;
}&lt;br /&gt;
.plainlinksneverexpand .urlexpansion {&lt;br /&gt;
    display: none ! important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make sure that ext links displayed within &amp;quot;plainlinksneverexpand&amp;quot; don't get&lt;br /&gt;
   the arrow...&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand a {&lt;br /&gt;
    background: none !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* With MediaWiki 1.5, the mechanism has changed: instead of a SPAN of class &amp;quot;urlexpansion&amp;quot;&lt;br /&gt;
   following the anchor A, the anchor itself now has class &amp;quot;external autonumber&amp;quot; and the&lt;br /&gt;
   expansion is inserted when printing (see the common printing style sheet at&lt;br /&gt;
   http://en.wikipedia.org/skins-1.5/common/commonPrint.css) using the &amp;quot;:after&amp;quot; pseudo-&lt;br /&gt;
   element of CSS. We have to switch this off for links due to Template:Ref!&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand a.external.text:after {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
.plainlinksneverexpand a.external.autonumber:after {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Messagebox templates */&lt;br /&gt;
.messagebox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 0 auto 1em auto;&lt;br /&gt;
    padding: .2em;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.merge {&lt;br /&gt;
    border: 1px solid #c0b8cc;&lt;br /&gt;
    background-color: #f0e5ff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.cleanup {&lt;br /&gt;
    border: 1px solid #9f9fff;&lt;br /&gt;
    background-color: #efefff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    margin: 4px auto;&lt;br /&gt;
}&lt;br /&gt;
/* For old WikiProject banners inside banner shells. */&lt;br /&gt;
.mbox-inside .standard-talk,&lt;br /&gt;
.messagebox.nested-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.small {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em; &lt;br /&gt;
}&lt;br /&gt;
.messagebox.small-talk {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em; &lt;br /&gt;
    background: #F8EABA;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */&lt;br /&gt;
th.mbox-text, td.mbox-text {     /* The message body cell(s) */&lt;br /&gt;
    border: none; &lt;br /&gt;
    padding: 0.25em 0.9em;       /* 0.9em left/right */&lt;br /&gt;
    width: 100%;    /* Make all mboxes the same width regardless of text length */&lt;br /&gt;
}&lt;br /&gt;
td.mbox-image {                  /* The left image cell */&lt;br /&gt;
    border: none; &lt;br /&gt;
    padding: 2px 0 2px 0.9em;    /* 0.9em left, 0px right */&lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
td.mbox-imageright {             /* The right image cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    padding: 2px 0.9em 2px 0;    /* 0px left, 0.9em right */&lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
.mediawiki table.tmbox-small,&lt;br /&gt;
.mediawiki table.ombox-small,&lt;br /&gt;
.mediawiki table.mbox-small {    /* For the &amp;quot;small=yes&amp;quot; option (also used elsewhere).   */&lt;br /&gt;
    clear: right;                /* The &amp;quot;mediawiki&amp;quot; class ensures that this declaration */&lt;br /&gt;
    float: right;                /* overrides styles set in &amp;quot;tmbox&amp;quot;/&amp;quot;ombox&amp;quot;/etc below   */&lt;br /&gt;
    margin: 4px 0 4px 1em;&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Article message box styles */&lt;br /&gt;
table.ambox {            /* 10% = Will not overlap with other elements */&lt;br /&gt;
    margin: -1px 10% 0px;    /* -1px = Single border between stacked boxes in all browsers */&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb; &lt;br /&gt;
}&lt;br /&gt;
.ambox th.mbox-text, &lt;br /&gt;
.ambox td.mbox-text {            /* The message body cell(s) */&lt;br /&gt;
    padding: 0.25em 0.5em;       /* 0.5em left/right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-image {           /* The left image cell */&lt;br /&gt;
    padding: 2px 0 2px 0.5em;    /* 0.5em left, 0px right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-imageright {      /* The right image cell */&lt;br /&gt;
    padding: 2px 0.5em 2px 0;    /* 0px left, 0.5em right */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ambox-notice {&lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-speedy {&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;                   /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-delete {&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-content {&lt;br /&gt;
    border-left: 10px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-style {&lt;br /&gt;
    border-left: 10px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-move {&lt;br /&gt;
    border-left: 10px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-protection {&lt;br /&gt;
    border-left: 10px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Image message box styles */&lt;br /&gt;
table.imbox {&lt;br /&gt;
    margin: 4px 10%; &lt;br /&gt;
    border-collapse: collapse; &lt;br /&gt;
    border: 3px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb;&lt;br /&gt;
}&lt;br /&gt;
.imbox .mbox-text .imbox {    /* For imboxes inside imbox-text cells. */&lt;br /&gt;
    margin: 0 -0.5em;    /* 0.9 - 0.5 = 0.4em left/right. */&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .imbox {    /* For imboxes inside other templates. */&lt;br /&gt;
    margin: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.imbox-notice {&lt;br /&gt;
    border: 3px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-speedy {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-delete {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-content {&lt;br /&gt;
    border: 3px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-style {&lt;br /&gt;
    border: 3px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-move {&lt;br /&gt;
    border: 3px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-protection {&lt;br /&gt;
    border: 3px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-license {&lt;br /&gt;
    border: 3px solid #88a;       /* Dark gray */&lt;br /&gt;
    background: #f7f8ff;          /* Light gray */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-featured {&lt;br /&gt;
    border: 3px solid #cba135;    /* Brown-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category message box styles */&lt;br /&gt;
table.cmbox {&lt;br /&gt;
    margin: 3px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    background: #DFE8FF;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.cmbox-notice {&lt;br /&gt;
    background: #D8E8FF;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-speedy {&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    margin-bottom: 4px;&lt;br /&gt;
    border: 4px solid #b22222;    /* Red */&lt;br /&gt;
    background: #FFDBDB;          /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-delete {&lt;br /&gt;
    background: #FFDBDB;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-content {&lt;br /&gt;
    background: #FFE7CE;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-style {&lt;br /&gt;
    background: #FFF9DB;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-move {&lt;br /&gt;
    background: #E4D8FF;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-protection {&lt;br /&gt;
    background: #EFEFE1;    /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Other pages message box styles */&lt;br /&gt;
table.ombox {&lt;br /&gt;
    margin: 4px 10%; &lt;br /&gt;
    border-collapse: collapse; &lt;br /&gt;
    border: 1px solid #aaa;       /* Default &amp;quot;notice&amp;quot; gray */&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-notice {&lt;br /&gt;
    border: 1px solid #aaa;       /* Gray */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-content {&lt;br /&gt;
    border: 1px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-style {&lt;br /&gt;
    border: 1px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-move {&lt;br /&gt;
    border: 1px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-protection {&lt;br /&gt;
    border: 2px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Talk page message box styles */&lt;br /&gt;
table.tmbox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #c0c090;    /* Default &amp;quot;notice&amp;quot; gray-brown */&lt;br /&gt;
    background: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .tmbox {    /* For tmboxes inside other templates. */&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    width: 100%;    /* Fix for Safari and Opera. */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.tmbox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-content {&lt;br /&gt;
    border: 2px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-style {&lt;br /&gt;
    border: 2px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-move {&lt;br /&gt;
    border: 2px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-protection,&lt;br /&gt;
table.tmbox-notice {&lt;br /&gt;
    border: 1px solid #c0c090;    /* Gray-brown */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pink fmbox warning style for div based warning notices. */&lt;br /&gt;
div.fmbox-warning,&lt;br /&gt;
div.mw-warning-with-logexcerpt {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    border: 1px solid #BB7070;&lt;br /&gt;
    background: #FFDBDB;&lt;br /&gt;
    padding: 0.25em 0.9em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Put a checker background at the image description page only visible if the image has transparent background */&lt;br /&gt;
#file img {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png&amp;quot;) repeat;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Support for Template:IPA, Template:Unicode and Template:Polytonic. The inherit declaration resets the font for all browsers except MSIE6.  The empty comment must remain. Please copy any changes to [[Template:IPA fonts]] and [[Template:Unicode fonts]]. */&lt;br /&gt;
.IPA {&lt;br /&gt;
    font-family: &amp;quot;Charis SIL&amp;quot;, &amp;quot;Doulos SIL&amp;quot;, Gentium, GentiumAlt, &amp;quot;DejaVu Sans&amp;quot;, Code2000, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Chrysanthi Unicode&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.Unicode {&lt;br /&gt;
    font-family: Code2000, Code2001, &amp;quot;Free Serif&amp;quot;, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Doulos SIL&amp;quot;, &amp;quot;Chrysanthi Unicode&amp;quot;, &amp;quot;Bitstream Cyberbit&amp;quot;, &amp;quot;Bitstream CyberBase&amp;quot;, Thryomanes, Gentium, GentiumAlt, &amp;quot;Lucida Grande&amp;quot;, &amp;quot;Free Sans&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Microsoft Sans Serif&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.latinx {&lt;br /&gt;
    font-family: Code2000, Code2001, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Microsoft Sans Serif&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.polytonic {&lt;br /&gt;
    font-family: &amp;quot;Athena Unicode&amp;quot;, Gentium, &amp;quot;Palatino Linotype&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Code2000; &lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.mufi {&lt;br /&gt;
    font-family: Alphabetum, Cardo, LeedsUni, Junicode, &amp;quot;TITUS Cyberbit Basic&amp;quot;, ALPHA-Demo;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pseudo-classes in support of [[Template:lang]]. */&lt;br /&gt;
&lt;br /&gt;
:lang(he) {&lt;br /&gt;
    font-family: &amp;quot;SBL Hebrew&amp;quot;, &amp;quot;Ezra SIL SR&amp;quot;, &amp;quot;Ezra SIL&amp;quot;, Cardo, &amp;quot;Chrysanthi Unicode&amp;quot;, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, Narkisim, &amp;quot;Times New Roman&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(fa) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ps) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ur) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(sux-Xsux) {&lt;br /&gt;
    font-family: Akkadian;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ja) {&lt;br /&gt;
       font-family: Code2000, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Bitstream Cyberbit&amp;quot;, &amp;quot;Bitstream CyberCJK&amp;quot;, IPAGothic, IPAPGothic, IPAUIGothic, &amp;quot;Kochi Gothic&amp;quot;, IPAMincho, IPAPMincho;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ko) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Myungjo Std M&amp;quot;, AppleMyungjo, &amp;quot;Baekmuk Batang&amp;quot;, &amp;quot;Baekmuk Gulim&amp;quot;, Batang, Dotum, DotumChe, Gulim, GulimChe, HYGothic-Extra, HYMyeongJo-Extra, &amp;quot;New Gulim&amp;quot;, UnBatang, UnDotum, UnYetgul, UWKMJF;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(zh-Hans) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Song Std L&amp;quot;, &amp;quot;AR PL ShanHeiSun Uni&amp;quot;, &amp;quot;AR PL ShanHeiSun Uni MBE&amp;quot;, &amp;quot;MS Hei&amp;quot;, &amp;quot;MS Song&amp;quot;, SimHei;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(zh-Hant) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Ming Std L&amp;quot;, &amp;quot;AR PL New Sung&amp;quot;, &amp;quot;AR PL ZenKai Uni&amp;quot;, &amp;quot;AR PL ZenKai Uni MBE&amp;quot;, MingLiU, PMingLiU;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(grc) {&lt;br /&gt;
    font-family: &amp;quot;Athena Unicode&amp;quot;, Gentium, &amp;quot;Palatino Linotype&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Code2000;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#wpSave {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */&lt;br /&gt;
.hiddenStructure {&lt;br /&gt;
    display: inline ! important;&lt;br /&gt;
    color: #f00; &lt;br /&gt;
    background-color: #0f0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* suppress missing interwiki image links where #ifexist cannot be used due to high number of requests */&lt;br /&gt;
/* use restricted to rail icon management pages */&lt;br /&gt;
/* see .hidden-redlink on http://meta.wikimedia.org/wiki/MediaWiki:Common.css */&lt;br /&gt;
.check-icon a.new {&lt;br /&gt;
    display: none; &lt;br /&gt;
    speak:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Removes underlines from links */&lt;br /&gt;
.nounderlines a { &lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Remove underline from IPA links */&lt;br /&gt;
.IPA a:link, .IPA a:visited {&lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#EnWpMpBook { background-image: url(http://upload.wikimedia.org/wikipedia/en/7/7e/MP-open-book.png); }&lt;br /&gt;
#EnWpMpSearch { background: url(http://upload.wikimedia.org/wikipedia/en/a/ae/MP-magnifying-glass.png) no-repeat top right; }&lt;br /&gt;
#EnWpMpSearchInner { float: right; width: 20em; text-align: center; }&lt;br /&gt;
#EnWpMpBook2 { background-image: url(http://upload.wikimedia.org/wikipedia/commons/8/8e/MP-open-book2.png); }&lt;br /&gt;
&lt;br /&gt;
/* Standard Navigationsleisten, aka box hiding thingy from .de.  Documentation at [[Wikipedia:NavFrame]]. */&lt;br /&gt;
div.Boxmerge,&lt;br /&gt;
div.NavFrame {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    font-size: 95%;&lt;br /&gt;
}&lt;br /&gt;
div.Boxmerge div.NavFrame {&lt;br /&gt;
    border-style: none;&lt;br /&gt;
    border-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame + div.NavFrame {&lt;br /&gt;
    border-top-style: none;&lt;br /&gt;
    border-top-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavPic {&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavHead {&lt;br /&gt;
    height: 1.6em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    background-color: #ccf;&lt;br /&gt;
    position:relative;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavContent {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavContent p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavEnd {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    line-height: 1px;&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
a.NavToggle {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    right: 3px;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Coloured watchlist numbers */&lt;br /&gt;
.mw-plusminus-pos {&lt;br /&gt;
    color: #006400; /* darkgreen */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* .mw-plusminus-null currently at developer default */&lt;br /&gt;
.mw-plusminus-neg {&lt;br /&gt;
    color: #8B0000; /* darkred */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.dablink {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
}&lt;br /&gt;
.dablink i {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for horizontal UL lists */&lt;br /&gt;
.horizontal ul {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li { &lt;br /&gt;
    padding: 0 0.6em 0 0.4em;&lt;br /&gt;
    display: inline;&lt;br /&gt;
    border-right: 1px solid;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li:last-child {&lt;br /&gt;
    border-right: none;&lt;br /&gt;
    padding-right: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Geographical coordinates defaults. &lt;br /&gt;
   See [[Template:Coord/link]] for how these are used. &lt;br /&gt;
   The classes &amp;quot;geo&amp;quot;, &amp;quot;longitude&amp;quot;, and &amp;quot;latitude&amp;quot; are used by &lt;br /&gt;
   the [[Geo microformat]], so the names should not be changed. */&lt;br /&gt;
.geo-default, .geo-dms, .geo-dec { display: inline; }&lt;br /&gt;
.geo-nondefault, .geo-multi-punct { display: none; }&lt;br /&gt;
.longitude, .latitude { white-space: nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* When &amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt; is used on the table of contents, the ToC will display without numbers */&lt;br /&gt;
.nonumtoc .tocnumber { display:none; }&lt;br /&gt;
.nonumtoc #toc ul,&lt;br /&gt;
.nonumtoc .toc ul {&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    list-style: none;&lt;br /&gt;
    margin: .3em 0 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.nonumtoc #toc ul ul, &lt;br /&gt;
.nonumtoc .toc ul ul { &lt;br /&gt;
    margin: 0 0 0 2em; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow limiting of which header levels are shown in a TOC; &amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;, for&lt;br /&gt;
   instance, will limit to showing ==headings== and ===headings=== but no further (as long as&lt;br /&gt;
   there are no =headings= on the page, which there shouldn't be according to the MoS). */&lt;br /&gt;
.toclimit-2 .toclevel-2 {display:none;}&lt;br /&gt;
.toclimit-3 .toclevel-3 {display:none;}&lt;br /&gt;
.toclimit-4 .toclevel-4 {display:none;}&lt;br /&gt;
.toclimit-5 .toclevel-5 {display:none;}&lt;br /&gt;
.toclimit-6 .toclevel-6 {display:none;}&lt;br /&gt;
.toclimit-7 .toclevel-7 {display:none;}&lt;br /&gt;
&lt;br /&gt;
/* Allow transcluded pages to display in lists rather than a table. Compatible in Firefox; incompatible in IE6. */&lt;br /&gt;
.listify td {display:list-item;}&lt;br /&gt;
.listify tr {display:block;}&lt;br /&gt;
.listify table {display:block;}&lt;br /&gt;
&lt;br /&gt;
/* Styling for Template:Quote */&lt;br /&gt;
blockquote.templatequote { &lt;br /&gt;
     margin-top: 0; &lt;br /&gt;
}&lt;br /&gt;
blockquote.templatequote div.templatequotecite { &lt;br /&gt;
    line-height: 1em;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
    margin-top: 0;&lt;br /&gt;
}&lt;br /&gt;
blockquote.templatequote div.templatequotecite cite {&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.user-block {&lt;br /&gt;
    padding: 5px;&lt;br /&gt;
    border: 1px solid #A9A9A9;&lt;br /&gt;
    background-color: #FFEFD5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevents line breaks in links */&lt;br /&gt;
.nowraplinks a {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For template documentation */&lt;br /&gt;
.template-documentation {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 1em 0 0 0;&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    background-color: #ecfcf4; &lt;br /&gt;
    padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner {&lt;br /&gt;
    min-width: 100px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline divs in ImageMaps (code borrowed from de.wiki) */&lt;br /&gt;
.imagemap-inline div {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Increase the height of the image upload box */&lt;br /&gt;
#wpUploadDescription {&lt;br /&gt;
    height: 13em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reduce line-height for &amp;lt;sup&amp;gt; and &amp;lt;sub&amp;gt; */&lt;br /&gt;
sup, sub {&lt;br /&gt;
    line-height: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* The backgrounds for galleries. */&lt;br /&gt;
#content .gallerybox div.thumb {&lt;br /&gt;
    background-color: #F9F9F9;   /* Light gray padding */&lt;br /&gt;
}&lt;br /&gt;
.gallerybox .thumb img {&lt;br /&gt;
    background: white url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png&amp;quot;) repeat;&lt;br /&gt;
}&lt;br /&gt;
/* .ns-0 = articles, .ns-2 = user pages, .ns-100 = portals. */&lt;br /&gt;
.ns-0 .gallerybox .thumb img,&lt;br /&gt;
.ns-2 .gallerybox .thumb img,&lt;br /&gt;
.ns-100 .gallerybox .thumb img {&lt;br /&gt;
    background: white;   /* No chequered background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevent boxes from overlapping the category listings */&lt;br /&gt;
#mw-subcategories, #mw-pages, #mw-category-media {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Selectively hide headers in WikiProject banners */&lt;br /&gt;
.wpb .wpb-header             {display: none}&lt;br /&gt;
.wpbs-inner .wpb .wpb-header {display: block}     /* for IE */&lt;br /&gt;
.wpbs-inner .wpb .wpb-header {display: table-row} /* for real browsers */&lt;br /&gt;
.wpbs-inner .wpb-outside     {display: none}      /* hide things that should only display outside shells */&lt;br /&gt;
&lt;br /&gt;
/* Stop HTML formulae breaking in silly places */&lt;br /&gt;
span.texhtml { white-space: nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* stop references with groups from line-breaking */&lt;br /&gt;
sup.reference a {white-space: nowrap;}&lt;br /&gt;
&lt;br /&gt;
/* Pre Fix */&lt;br /&gt;
tt, code, pre {&lt;br /&gt;
    font-family: monospace, sans-serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don't use any logo, move the boxes onto that area instead. */&lt;br /&gt;
#p-logo { display: none }&lt;br /&gt;
#column-one { padding-top: 0; }&lt;br /&gt;
&lt;br /&gt;
#p-logo a, #p-logo a:hover {&lt;br /&gt;
display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#column-one {&lt;br /&gt;
padding-top: 21px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; */&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/MediaWiki:Common.css</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/MediaWiki:Common.css"/>
				<updated>2012-09-29T13:50:50Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt; */&lt;br /&gt;
/* CSS placed here will be applied to all skins */&lt;br /&gt;
 &lt;br /&gt;
/* Main page fixes */&lt;br /&gt;
#interwiki-completelist {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
body.page-Main_Page #ca-delete {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.page-Main_Page #mp-topbanner {&lt;br /&gt;
   clear:both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Edit window toolbar */&lt;br /&gt;
#toolbar {&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    margin-bottom: 6px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make the list of references smaller */&lt;br /&gt;
ol.references {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
.references-small { &lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* VALIDATOR NOTICE: the following is correct, but the W3C validator doesn't accept it */&lt;br /&gt;
/* -moz-* is a vendor-specific extension (CSS 2.1 4.1.2.1) */&lt;br /&gt;
/* column-count is from the CSS3 module &amp;quot;CSS Multi-column Layout&amp;quot; */&lt;br /&gt;
/* Please ignore any validator errors caused by these two lines */&lt;br /&gt;
.references-2column {&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    -moz-column-count: 2;&lt;br /&gt;
    -webkit-column-count: 2;&lt;br /&gt;
    column-count: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.same-bg { background: none; }&lt;br /&gt;
&lt;br /&gt;
/* Highlight clicked reference in blue to help navigation */&lt;br /&gt;
ol.references &amp;gt; li:target {&lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sup.reference:target { &lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styling for citations */&lt;br /&gt;
cite {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
    word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* If there is an inline link to a full citation, the full citation will turn blue when the inline link is clicked */&lt;br /&gt;
cite:target { &lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For linked citation numbers and document IDs, where the number need not be shown on a screen or a handheld, but should be included in the printed version */&lt;br /&gt;
&lt;br /&gt;
@media screen, handheld, projection {&lt;br /&gt;
    cite *.printonly {&lt;br /&gt;
        display: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* wikitable/prettytable class for skinning normal tables */&lt;br /&gt;
table.wikitable,&lt;br /&gt;
table.prettytable {&lt;br /&gt;
    margin: 1em 1em 1em 0;&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th, .wikitable td,&lt;br /&gt;
.prettytable th, .prettytable td {&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th,&lt;br /&gt;
.prettytable th {&lt;br /&gt;
    background: #f2f2f2;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.wikitable caption,&lt;br /&gt;
.prettytable caption {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* default skin for navigation boxes */&lt;br /&gt;
table.navbox {            /* navbox container style */&lt;br /&gt;
  border:1px solid #aaa;&lt;br /&gt;
  width:100%; &lt;br /&gt;
  margin:auto;&lt;br /&gt;
  clear:both;&lt;br /&gt;
  font-size:88%;&lt;br /&gt;
  text-align:center;&lt;br /&gt;
  padding:1px;&lt;br /&gt;
}&lt;br /&gt;
table.navbox + table.navbox {&lt;br /&gt;
  margin-top:-1px;        /* single pixel border between adjacent navboxes (doesn't work for IE6, but that's okay) */&lt;br /&gt;
}&lt;br /&gt;
.navbox-title, .navbox-abovebelow, table.navbox th {&lt;br /&gt;
  text-align:center;      /* title and above/below styles */&lt;br /&gt;
  padding-left:1em;&lt;br /&gt;
  padding-right:1em;&lt;br /&gt;
}&lt;br /&gt;
.navbox-group {           /* group style */&lt;br /&gt;
  white-space:nowrap;&lt;br /&gt;
  text-align:right;&lt;br /&gt;
  font-weight:bold;&lt;br /&gt;
  padding-left:1em;&lt;br /&gt;
  padding-right:1em;&lt;br /&gt;
}&lt;br /&gt;
.navbox, .navbox-subgroup {&lt;br /&gt;
  background:#fdfdfd;     /* Background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-list {&lt;br /&gt;
  border-color:#fdfdfd;   /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-title, table.navbox th {&lt;br /&gt;
  background:#ccccff;     /* Level 1 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title {&lt;br /&gt;
  background:#ddddff;     /* Level 2 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
  background:#e6e6ff;     /* Level 3 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-even {&lt;br /&gt;
  background:#f7f7f7;     /* Even row striping */&lt;br /&gt;
}&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
  background:transparent; /* Odd row striping */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Infobox template style */&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
.infobox td,&lt;br /&gt;
.infobox th {&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.infobox caption {&lt;br /&gt;
    font-size: larger;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered {&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered td,&lt;br /&gt;
.infobox.bordered th {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered .borderless td,&lt;br /&gt;
.infobox.bordered .borderless th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.sisterproject {&lt;br /&gt;
    width: 20em;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.infobox.standard-talk.bordered td,&lt;br /&gt;
.infobox.standard-talk.bordered th {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* styles for bordered infobox with merged rows */&lt;br /&gt;
.infobox.bordered .mergedtoprow td,&lt;br /&gt;
.infobox.bordered .mergedtoprow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.bordered .mergedrow td,&lt;br /&gt;
.infobox.bordered .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styles for geography infoboxes, e.g. countries, country subdivisions, cities, etc. */&lt;br /&gt;
.infobox.geography {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    line-height: 1.2em; &lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography  td,&lt;br /&gt;
.infobox.geography  th {&lt;br /&gt;
    border-top: solid 1px #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
.infobox.geography .mergedtoprow td,&lt;br /&gt;
.infobox.geography .mergedtoprow th {&lt;br /&gt;
    border-top: solid 1px #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .mergedrow td,&lt;br /&gt;
.infobox.geography .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .mergedbottomrow td,&lt;br /&gt;
.infobox.geography .mergedbottomrow th {&lt;br /&gt;
    border-top: 0;&lt;br /&gt;
    border-bottom: solid 1px #aaa;&lt;br /&gt;
    padding: 0 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .maptable td,&lt;br /&gt;
.infobox.geography .maptable th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for &amp;quot;notices&amp;quot; */&lt;br /&gt;
.notice {&lt;br /&gt;
    margin: 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#disambig {&lt;br /&gt;
    border-top: 1px solid #ccc; &lt;br /&gt;
    border-bottom: 1px solid #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Persondata and other (future) metadata,&lt;br /&gt;
   &amp;quot;table.InChI&amp;quot; and &amp;quot;.InChI-label&amp;quot; are temporary. */&lt;br /&gt;
table.InChI,&lt;br /&gt;
table.persondata {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    display: none;&lt;br /&gt;
    speak: none;&lt;br /&gt;
}&lt;br /&gt;
.InChI-label,&lt;br /&gt;
.persondata-label {&lt;br /&gt;
    color: #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Makes redirects appear in italics in categories and on [[Special:Allpages]] */&lt;br /&gt;
.redirect-in-category, .allpagesredirect {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Class for links with loudspeaker icon next to them. &lt;br /&gt;
   (Used in [[Template:Audio]] and the like to make the speaker clickable) */&lt;br /&gt;
.audiolink a {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Loudspeaker.svg/11px-Loudspeaker.svg.png&amp;quot;) center left no-repeat !important;&lt;br /&gt;
    padding-left: 16px !important;&lt;br /&gt;
    padding-right: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Icons for medialist templates [[Template:Listen]], [[Template:Multi-listen_start]], [[Template:Video]], [[Template:Multi-video_start]] */&lt;br /&gt;
div.listenlist {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Gnome-speakernotes.png/30px-Gnome-speakernotes.png&amp;quot;);&lt;br /&gt;
    padding-left: 40px;&lt;br /&gt;
}&lt;br /&gt;
div.videolist, div.multivideolist {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/en/thumb/2/20/Tango-video-x-generic.png/40px-Tango-video-x-generic.png&amp;quot;);&lt;br /&gt;
    padding-left: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style rules for media list templates */&lt;br /&gt;
div.medialist {&lt;br /&gt;
    min-height: 50px;&lt;br /&gt;
    margin: 1em;&lt;br /&gt;
    background-position: top left;&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul {&lt;br /&gt;
    list-style-type: none; &lt;br /&gt;
    list-style-image: none;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul li {&lt;br /&gt;
    padding-bottom: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul li li {&lt;br /&gt;
    font-size: 91%;&lt;br /&gt;
    padding-bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon for all PDF files */&lt;br /&gt;
/* (in browsers that support these CSS selectors, like Mozilla and Opera) */&lt;br /&gt;
#bodyContent a[href$=&amp;quot;.pdf&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.pdf?&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
#bodyContent a[href$=&amp;quot;.PDF&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.PDF?&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.PDF#&amp;quot;].external,&lt;br /&gt;
#mw_content a[href$=&amp;quot;.pdf&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.pdf?&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
#mw_content a[href$=&amp;quot;.PDF&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.PDF?&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.PDF#&amp;quot;].external {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Icons-mini-file_acrobat.gif/15px-Icons-mini-file_acrobat.gif) center right no-repeat;&lt;br /&gt;
    padding-right: 16px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon anywhere the PDFlink class */&lt;br /&gt;
/* is used (notably Template:PDFlink). This works in IE, unlike the above. */&lt;br /&gt;
span.PDFlink a {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Icons-mini-file_acrobat.gif/15px-Icons-mini-file_acrobat.gif) center right no-repeat !important;&lt;br /&gt;
    padding-right: 17px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.geolink a {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/en/a/a7/Monobook-globe.png) center right no-repeat !important;&lt;br /&gt;
    padding-right: 11px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Content in columns with CSS instead of tables [[Template:Columns]] */&lt;br /&gt;
div.columns-2 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 50%;&lt;br /&gt;
    min-width: 300px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-3 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 33.3%;&lt;br /&gt;
    min-width: 200px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-4 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 25%;&lt;br /&gt;
    min-width: 150px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-5 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 20%;&lt;br /&gt;
    min-width: 120px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Add formatting to make sure that &amp;quot;external references&amp;quot; from [[Template:Ref]] do&lt;br /&gt;
  not get URL expansion, not even when printed. The mechanism up to MediaWiki 1.4 was&lt;br /&gt;
  that the HTML code contained a SPAN following the anchor A; this SPAN had the class&lt;br /&gt;
  &amp;quot;urlexpansion&amp;quot;, which was not displayed on screen, but was shown when the medium was&lt;br /&gt;
  &amp;quot;print&amp;quot;. The rules below ensure (a) that there is no extra padding to the right of&lt;br /&gt;
  the anchor (displayed as &amp;quot;[&amp;lt;number&amp;gt;]&amp;quot;), (b) that there is no &amp;quot;external link arrow&amp;quot; for&lt;br /&gt;
  the link, and (c) that this SPAN of class &amp;quot;urlexpansion&amp;quot; is never shown.&lt;br /&gt;
  ~~~~&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand {&lt;br /&gt;
    background: none ! important;&lt;br /&gt;
    padding: 0 ! important;&lt;br /&gt;
}&lt;br /&gt;
.plainlinksneverexpand .urlexpansion {&lt;br /&gt;
    display: none ! important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make sure that ext links displayed within &amp;quot;plainlinksneverexpand&amp;quot; don't get&lt;br /&gt;
   the arrow...&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand a {&lt;br /&gt;
    background: none !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* With MediaWiki 1.5, the mechanism has changed: instead of a SPAN of class &amp;quot;urlexpansion&amp;quot;&lt;br /&gt;
   following the anchor A, the anchor itself now has class &amp;quot;external autonumber&amp;quot; and the&lt;br /&gt;
   expansion is inserted when printing (see the common printing style sheet at&lt;br /&gt;
   http://en.wikipedia.org/skins-1.5/common/commonPrint.css) using the &amp;quot;:after&amp;quot; pseudo-&lt;br /&gt;
   element of CSS. We have to switch this off for links due to Template:Ref!&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand a.external.text:after {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
.plainlinksneverexpand a.external.autonumber:after {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Messagebox templates */&lt;br /&gt;
.messagebox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 0 auto 1em auto;&lt;br /&gt;
    padding: .2em;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.merge {&lt;br /&gt;
    border: 1px solid #c0b8cc;&lt;br /&gt;
    background-color: #f0e5ff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.cleanup {&lt;br /&gt;
    border: 1px solid #9f9fff;&lt;br /&gt;
    background-color: #efefff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    margin: 4px auto;&lt;br /&gt;
}&lt;br /&gt;
/* For old WikiProject banners inside banner shells. */&lt;br /&gt;
.mbox-inside .standard-talk,&lt;br /&gt;
.messagebox.nested-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.small {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em; &lt;br /&gt;
}&lt;br /&gt;
.messagebox.small-talk {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em; &lt;br /&gt;
    background: #F8EABA;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */&lt;br /&gt;
th.mbox-text, td.mbox-text {     /* The message body cell(s) */&lt;br /&gt;
    border: none; &lt;br /&gt;
    padding: 0.25em 0.9em;       /* 0.9em left/right */&lt;br /&gt;
    width: 100%;    /* Make all mboxes the same width regardless of text length */&lt;br /&gt;
}&lt;br /&gt;
td.mbox-image {                  /* The left image cell */&lt;br /&gt;
    border: none; &lt;br /&gt;
    padding: 2px 0 2px 0.9em;    /* 0.9em left, 0px right */&lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
td.mbox-imageright {             /* The right image cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    padding: 2px 0.9em 2px 0;    /* 0px left, 0.9em right */&lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
.mediawiki table.tmbox-small,&lt;br /&gt;
.mediawiki table.ombox-small,&lt;br /&gt;
.mediawiki table.mbox-small {    /* For the &amp;quot;small=yes&amp;quot; option (also used elsewhere).   */&lt;br /&gt;
    clear: right;                /* The &amp;quot;mediawiki&amp;quot; class ensures that this declaration */&lt;br /&gt;
    float: right;                /* overrides styles set in &amp;quot;tmbox&amp;quot;/&amp;quot;ombox&amp;quot;/etc below   */&lt;br /&gt;
    margin: 4px 0 4px 1em;&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Article message box styles */&lt;br /&gt;
table.ambox {            /* 10% = Will not overlap with other elements */&lt;br /&gt;
    margin: -1px 10% 0px;    /* -1px = Single border between stacked boxes in all browsers */&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb; &lt;br /&gt;
}&lt;br /&gt;
.ambox th.mbox-text, &lt;br /&gt;
.ambox td.mbox-text {            /* The message body cell(s) */&lt;br /&gt;
    padding: 0.25em 0.5em;       /* 0.5em left/right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-image {           /* The left image cell */&lt;br /&gt;
    padding: 2px 0 2px 0.5em;    /* 0.5em left, 0px right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-imageright {      /* The right image cell */&lt;br /&gt;
    padding: 2px 0.5em 2px 0;    /* 0px left, 0.5em right */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ambox-notice {&lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-speedy {&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;                   /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-delete {&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-content {&lt;br /&gt;
    border-left: 10px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-style {&lt;br /&gt;
    border-left: 10px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-move {&lt;br /&gt;
    border-left: 10px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-protection {&lt;br /&gt;
    border-left: 10px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Image message box styles */&lt;br /&gt;
table.imbox {&lt;br /&gt;
    margin: 4px 10%; &lt;br /&gt;
    border-collapse: collapse; &lt;br /&gt;
    border: 3px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb;&lt;br /&gt;
}&lt;br /&gt;
.imbox .mbox-text .imbox {    /* For imboxes inside imbox-text cells. */&lt;br /&gt;
    margin: 0 -0.5em;    /* 0.9 - 0.5 = 0.4em left/right. */&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .imbox {    /* For imboxes inside other templates. */&lt;br /&gt;
    margin: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.imbox-notice {&lt;br /&gt;
    border: 3px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-speedy {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-delete {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-content {&lt;br /&gt;
    border: 3px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-style {&lt;br /&gt;
    border: 3px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-move {&lt;br /&gt;
    border: 3px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-protection {&lt;br /&gt;
    border: 3px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-license {&lt;br /&gt;
    border: 3px solid #88a;       /* Dark gray */&lt;br /&gt;
    background: #f7f8ff;          /* Light gray */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-featured {&lt;br /&gt;
    border: 3px solid #cba135;    /* Brown-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category message box styles */&lt;br /&gt;
table.cmbox {&lt;br /&gt;
    margin: 3px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    background: #DFE8FF;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.cmbox-notice {&lt;br /&gt;
    background: #D8E8FF;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-speedy {&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    margin-bottom: 4px;&lt;br /&gt;
    border: 4px solid #b22222;    /* Red */&lt;br /&gt;
    background: #FFDBDB;          /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-delete {&lt;br /&gt;
    background: #FFDBDB;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-content {&lt;br /&gt;
    background: #FFE7CE;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-style {&lt;br /&gt;
    background: #FFF9DB;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-move {&lt;br /&gt;
    background: #E4D8FF;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-protection {&lt;br /&gt;
    background: #EFEFE1;    /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Other pages message box styles */&lt;br /&gt;
table.ombox {&lt;br /&gt;
    margin: 4px 10%; &lt;br /&gt;
    border-collapse: collapse; &lt;br /&gt;
    border: 1px solid #aaa;       /* Default &amp;quot;notice&amp;quot; gray */&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-notice {&lt;br /&gt;
    border: 1px solid #aaa;       /* Gray */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-content {&lt;br /&gt;
    border: 1px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-style {&lt;br /&gt;
    border: 1px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-move {&lt;br /&gt;
    border: 1px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-protection {&lt;br /&gt;
    border: 2px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Talk page message box styles */&lt;br /&gt;
table.tmbox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #c0c090;    /* Default &amp;quot;notice&amp;quot; gray-brown */&lt;br /&gt;
    background: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .tmbox {    /* For tmboxes inside other templates. */&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    width: 100%;    /* Fix for Safari and Opera. */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.tmbox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-content {&lt;br /&gt;
    border: 2px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-style {&lt;br /&gt;
    border: 2px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-move {&lt;br /&gt;
    border: 2px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-protection,&lt;br /&gt;
table.tmbox-notice {&lt;br /&gt;
    border: 1px solid #c0c090;    /* Gray-brown */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pink fmbox warning style for div based warning notices. */&lt;br /&gt;
div.fmbox-warning,&lt;br /&gt;
div.mw-warning-with-logexcerpt {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    border: 1px solid #BB7070;&lt;br /&gt;
    background: #FFDBDB;&lt;br /&gt;
    padding: 0.25em 0.9em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Put a checker background at the image description page only visible if the image has transparent background */&lt;br /&gt;
#file img {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png&amp;quot;) repeat;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Support for Template:IPA, Template:Unicode and Template:Polytonic. The inherit declaration resets the font for all browsers except MSIE6.  The empty comment must remain. Please copy any changes to [[Template:IPA fonts]] and [[Template:Unicode fonts]]. */&lt;br /&gt;
.IPA {&lt;br /&gt;
    font-family: &amp;quot;Charis SIL&amp;quot;, &amp;quot;Doulos SIL&amp;quot;, Gentium, GentiumAlt, &amp;quot;DejaVu Sans&amp;quot;, Code2000, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Chrysanthi Unicode&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.Unicode {&lt;br /&gt;
    font-family: Code2000, Code2001, &amp;quot;Free Serif&amp;quot;, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Doulos SIL&amp;quot;, &amp;quot;Chrysanthi Unicode&amp;quot;, &amp;quot;Bitstream Cyberbit&amp;quot;, &amp;quot;Bitstream CyberBase&amp;quot;, Thryomanes, Gentium, GentiumAlt, &amp;quot;Lucida Grande&amp;quot;, &amp;quot;Free Sans&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Microsoft Sans Serif&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.latinx {&lt;br /&gt;
    font-family: Code2000, Code2001, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Microsoft Sans Serif&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.polytonic {&lt;br /&gt;
    font-family: &amp;quot;Athena Unicode&amp;quot;, Gentium, &amp;quot;Palatino Linotype&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Code2000; &lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.mufi {&lt;br /&gt;
    font-family: Alphabetum, Cardo, LeedsUni, Junicode, &amp;quot;TITUS Cyberbit Basic&amp;quot;, ALPHA-Demo;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pseudo-classes in support of [[Template:lang]]. */&lt;br /&gt;
&lt;br /&gt;
:lang(he) {&lt;br /&gt;
    font-family: &amp;quot;SBL Hebrew&amp;quot;, &amp;quot;Ezra SIL SR&amp;quot;, &amp;quot;Ezra SIL&amp;quot;, Cardo, &amp;quot;Chrysanthi Unicode&amp;quot;, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, Narkisim, &amp;quot;Times New Roman&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(fa) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ps) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ur) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(sux-Xsux) {&lt;br /&gt;
    font-family: Akkadian;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ja) {&lt;br /&gt;
       font-family: Code2000, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Bitstream Cyberbit&amp;quot;, &amp;quot;Bitstream CyberCJK&amp;quot;, IPAGothic, IPAPGothic, IPAUIGothic, &amp;quot;Kochi Gothic&amp;quot;, IPAMincho, IPAPMincho;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ko) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Myungjo Std M&amp;quot;, AppleMyungjo, &amp;quot;Baekmuk Batang&amp;quot;, &amp;quot;Baekmuk Gulim&amp;quot;, Batang, Dotum, DotumChe, Gulim, GulimChe, HYGothic-Extra, HYMyeongJo-Extra, &amp;quot;New Gulim&amp;quot;, UnBatang, UnDotum, UnYetgul, UWKMJF;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(zh-Hans) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Song Std L&amp;quot;, &amp;quot;AR PL ShanHeiSun Uni&amp;quot;, &amp;quot;AR PL ShanHeiSun Uni MBE&amp;quot;, &amp;quot;MS Hei&amp;quot;, &amp;quot;MS Song&amp;quot;, SimHei;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(zh-Hant) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Ming Std L&amp;quot;, &amp;quot;AR PL New Sung&amp;quot;, &amp;quot;AR PL ZenKai Uni&amp;quot;, &amp;quot;AR PL ZenKai Uni MBE&amp;quot;, MingLiU, PMingLiU;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(grc) {&lt;br /&gt;
    font-family: &amp;quot;Athena Unicode&amp;quot;, Gentium, &amp;quot;Palatino Linotype&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Code2000;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#wpSave {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */&lt;br /&gt;
.hiddenStructure {&lt;br /&gt;
    display: inline ! important;&lt;br /&gt;
    color: #f00; &lt;br /&gt;
    background-color: #0f0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* suppress missing interwiki image links where #ifexist cannot be used due to high number of requests */&lt;br /&gt;
/* use restricted to rail icon management pages */&lt;br /&gt;
/* see .hidden-redlink on http://meta.wikimedia.org/wiki/MediaWiki:Common.css */&lt;br /&gt;
.check-icon a.new {&lt;br /&gt;
    display: none; &lt;br /&gt;
    speak:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Removes underlines from links */&lt;br /&gt;
.nounderlines a { &lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Remove underline from IPA links */&lt;br /&gt;
.IPA a:link, .IPA a:visited {&lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#EnWpMpBook { background-image: url(http://upload.wikimedia.org/wikipedia/en/7/7e/MP-open-book.png); }&lt;br /&gt;
#EnWpMpSearch { background: url(http://upload.wikimedia.org/wikipedia/en/a/ae/MP-magnifying-glass.png) no-repeat top right; }&lt;br /&gt;
#EnWpMpSearchInner { float: right; width: 20em; text-align: center; }&lt;br /&gt;
#EnWpMpBook2 { background-image: url(http://upload.wikimedia.org/wikipedia/commons/8/8e/MP-open-book2.png); }&lt;br /&gt;
&lt;br /&gt;
/* Standard Navigationsleisten, aka box hiding thingy from .de.  Documentation at [[Wikipedia:NavFrame]]. */&lt;br /&gt;
div.Boxmerge,&lt;br /&gt;
div.NavFrame {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    font-size: 95%;&lt;br /&gt;
}&lt;br /&gt;
div.Boxmerge div.NavFrame {&lt;br /&gt;
    border-style: none;&lt;br /&gt;
    border-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame + div.NavFrame {&lt;br /&gt;
    border-top-style: none;&lt;br /&gt;
    border-top-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavPic {&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavHead {&lt;br /&gt;
    height: 1.6em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    background-color: #ccf;&lt;br /&gt;
    position:relative;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavContent {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavContent p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavEnd {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    line-height: 1px;&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
a.NavToggle {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    right: 3px;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Coloured watchlist numbers */&lt;br /&gt;
.mw-plusminus-pos {&lt;br /&gt;
    color: #006400; /* darkgreen */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* .mw-plusminus-null currently at developer default */&lt;br /&gt;
.mw-plusminus-neg {&lt;br /&gt;
    color: #8B0000; /* darkred */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.dablink {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
}&lt;br /&gt;
.dablink i {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for horizontal UL lists */&lt;br /&gt;
.horizontal ul {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li { &lt;br /&gt;
    padding: 0 0.6em 0 0.4em;&lt;br /&gt;
    display: inline;&lt;br /&gt;
    border-right: 1px solid;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li:last-child {&lt;br /&gt;
    border-right: none;&lt;br /&gt;
    padding-right: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Geographical coordinates defaults. &lt;br /&gt;
   See [[Template:Coord/link]] for how these are used. &lt;br /&gt;
   The classes &amp;quot;geo&amp;quot;, &amp;quot;longitude&amp;quot;, and &amp;quot;latitude&amp;quot; are used by &lt;br /&gt;
   the [[Geo microformat]], so the names should not be changed. */&lt;br /&gt;
.geo-default, .geo-dms, .geo-dec { display: inline; }&lt;br /&gt;
.geo-nondefault, .geo-multi-punct { display: none; }&lt;br /&gt;
.longitude, .latitude { white-space: nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* When &amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt; is used on the table of contents, the ToC will display without numbers */&lt;br /&gt;
.nonumtoc .tocnumber { display:none; }&lt;br /&gt;
.nonumtoc #toc ul,&lt;br /&gt;
.nonumtoc .toc ul {&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    list-style: none;&lt;br /&gt;
    margin: .3em 0 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.nonumtoc #toc ul ul, &lt;br /&gt;
.nonumtoc .toc ul ul { &lt;br /&gt;
    margin: 0 0 0 2em; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow limiting of which header levels are shown in a TOC; &amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;, for&lt;br /&gt;
   instance, will limit to showing ==headings== and ===headings=== but no further (as long as&lt;br /&gt;
   there are no =headings= on the page, which there shouldn't be according to the MoS). */&lt;br /&gt;
.toclimit-2 .toclevel-2 {display:none;}&lt;br /&gt;
.toclimit-3 .toclevel-3 {display:none;}&lt;br /&gt;
.toclimit-4 .toclevel-4 {display:none;}&lt;br /&gt;
.toclimit-5 .toclevel-5 {display:none;}&lt;br /&gt;
.toclimit-6 .toclevel-6 {display:none;}&lt;br /&gt;
.toclimit-7 .toclevel-7 {display:none;}&lt;br /&gt;
&lt;br /&gt;
/* Allow transcluded pages to display in lists rather than a table. Compatible in Firefox; incompatible in IE6. */&lt;br /&gt;
.listify td {display:list-item;}&lt;br /&gt;
.listify tr {display:block;}&lt;br /&gt;
.listify table {display:block;}&lt;br /&gt;
&lt;br /&gt;
/* Styling for Template:Quote */&lt;br /&gt;
blockquote.templatequote { &lt;br /&gt;
     margin-top: 0; &lt;br /&gt;
}&lt;br /&gt;
blockquote.templatequote div.templatequotecite { &lt;br /&gt;
    line-height: 1em;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
    margin-top: 0;&lt;br /&gt;
}&lt;br /&gt;
blockquote.templatequote div.templatequotecite cite {&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.user-block {&lt;br /&gt;
    padding: 5px;&lt;br /&gt;
    border: 1px solid #A9A9A9;&lt;br /&gt;
    background-color: #FFEFD5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevents line breaks in links */&lt;br /&gt;
.nowraplinks a {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For template documentation */&lt;br /&gt;
.template-documentation {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 1em 0 0 0;&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    background-color: #ecfcf4; &lt;br /&gt;
    padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner {&lt;br /&gt;
    min-width: 100px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline divs in ImageMaps (code borrowed from de.wiki) */&lt;br /&gt;
.imagemap-inline div {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Increase the height of the image upload box */&lt;br /&gt;
#wpUploadDescription {&lt;br /&gt;
    height: 13em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reduce line-height for &amp;lt;sup&amp;gt; and &amp;lt;sub&amp;gt; */&lt;br /&gt;
sup, sub {&lt;br /&gt;
    line-height: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* The backgrounds for galleries. */&lt;br /&gt;
#content .gallerybox div.thumb {&lt;br /&gt;
    background-color: #F9F9F9;   /* Light gray padding */&lt;br /&gt;
}&lt;br /&gt;
.gallerybox .thumb img {&lt;br /&gt;
    background: white url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png&amp;quot;) repeat;&lt;br /&gt;
}&lt;br /&gt;
/* .ns-0 = articles, .ns-2 = user pages, .ns-100 = portals. */&lt;br /&gt;
.ns-0 .gallerybox .thumb img,&lt;br /&gt;
.ns-2 .gallerybox .thumb img,&lt;br /&gt;
.ns-100 .gallerybox .thumb img {&lt;br /&gt;
    background: white;   /* No chequered background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevent boxes from overlapping the category listings */&lt;br /&gt;
#mw-subcategories, #mw-pages, #mw-category-media {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Selectively hide headers in WikiProject banners */&lt;br /&gt;
.wpb .wpb-header             {display: none}&lt;br /&gt;
.wpbs-inner .wpb .wpb-header {display: block}     /* for IE */&lt;br /&gt;
.wpbs-inner .wpb .wpb-header {display: table-row} /* for real browsers */&lt;br /&gt;
.wpbs-inner .wpb-outside     {display: none}      /* hide things that should only display outside shells */&lt;br /&gt;
&lt;br /&gt;
/* Stop HTML formulae breaking in silly places */&lt;br /&gt;
span.texhtml { white-space: nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* stop references with groups from line-breaking */&lt;br /&gt;
sup.reference a {white-space: nowrap;}&lt;br /&gt;
&lt;br /&gt;
/* Pre Fix */&lt;br /&gt;
tt, code, pre {&lt;br /&gt;
    font-family: monospace, sans-serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don't use any logo, move the boxes onto that area instead. */&lt;br /&gt;
#p-logo { display: none }&lt;br /&gt;
#column-one { padding-top: 0; }&lt;br /&gt;
&lt;br /&gt;
#p-logo a, #p-logo a:hover {&lt;br /&gt;
display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; */&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Interview_Questions</id>
		<title>Interview Questions</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Interview_Questions"/>
				<updated>2012-09-29T13:19:08Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: /* Technical Oracle Questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some typical '''interview questions''' for Oracle Specialists:&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
* Tell us about yourself/ your background.&lt;br /&gt;
* What are the three major characteristics that you bring to the job market?&lt;br /&gt;
* What motivates you to do a good job?&lt;br /&gt;
* What two or three things are most important to you at work?&lt;br /&gt;
* What qualities do you think are essential to be successful in this kind of work?&lt;br /&gt;
* What courses did you attend? What job certifications do you hold?&lt;br /&gt;
* What subjects/courses did you excel in? Why?&lt;br /&gt;
* What subjects/courses gave you trouble? Why?&lt;br /&gt;
* How does your previous work experience prepare you for this position?&lt;br /&gt;
* How do you define 'success'?&lt;br /&gt;
* What has been your most significant accomplishment to date?&lt;br /&gt;
* Describe a challenge you encountered and how you dealt with it.&lt;br /&gt;
* Describe a failure and how you dealt with it.&lt;br /&gt;
* Describe the 'ideal' job... the 'ideal' supervisor.&lt;br /&gt;
* What leadership roles have you held?&lt;br /&gt;
* What prejudices do you hold?&lt;br /&gt;
* What do you like to do in your spare time?&lt;br /&gt;
* What are your career goals (a) 3 years from now; (b) 10 years from now?&lt;br /&gt;
* How does this position match your career goals?&lt;br /&gt;
* What have you done in the past year to improve yourself?&lt;br /&gt;
* In what areas do you feel you need further education and training to be successful?&lt;br /&gt;
* What do you know about our company?&lt;br /&gt;
* Why do you want to work for this company. Why should we hire you?&lt;br /&gt;
* Where do you see yourself fitting in to this organization ...initially? ...in 5 years?&lt;br /&gt;
* Why are you looking for a new job?&lt;br /&gt;
* How do you feel about re-locating?&lt;br /&gt;
* Are you willing to travel?&lt;br /&gt;
* What are your salary requirements?&lt;br /&gt;
* When would you be available to start if you were selected?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are few interview questions with answers found on the internet. As I don't have time to format these questions to wiki I am just posting them hoping someone to format them.&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
1.	'''Explain the difference between a hot backup and a cold backup and the benefits associated with each.'''&lt;br /&gt;
&lt;br /&gt;
: A hot backup is basically taking a backup of the database while it is still up and running and it must be in archive log mode. A cold backup is taking a backup of the database while it is shut down and does not require being in archive log mode. The benefit of taking a hot backup is that the database is still available for use while the backup is occurring and you can recover the database to any point in time. The benefit of taking a cold backup is that it is typically easier to administer the backup and recovery process. In addition, since you are taking cold backups the database does not require being in archive log mode and thus there will be a slight performance gain as the database is not cutting archive logs to disk.&lt;br /&gt;
&lt;br /&gt;
2.	'''You have just had to restore from backup and do not have any control files. How would you go about bringing up this database?''' &lt;br /&gt;
&lt;br /&gt;
: I would create a text based backup control file, stipulating where on disk all the data files were and then issue the recover command with the using backup control file clause.&lt;br /&gt;
&lt;br /&gt;
3.	'''How do you switch from an init.ora file to a spfile?''' &lt;br /&gt;
&lt;br /&gt;
: Issue the create spfile from pfile command.&lt;br /&gt;
&lt;br /&gt;
4.	'''Explain the difference between a data block, an extent and a segment. &lt;br /&gt;
'''&lt;br /&gt;
: A data block is the smallest unit of logical storage for a database object. As objects grow they take chunks of additional storage that are composed of contiguous data blocks. These groupings of contiguous data blocks are called extents. All the extents that an object takes when grouped together are considered the segment of the database object.&lt;br /&gt;
&lt;br /&gt;
5.	'''Give two examples of how you might determine the structure of the table DEPT. &lt;br /&gt;
'''&lt;br /&gt;
: Use the describe command or use the dbms_metadata.get_ddl package.&lt;br /&gt;
&lt;br /&gt;
6.	'''Where would you look for errors from the database engine? &lt;br /&gt;
'''&lt;br /&gt;
: In the alert log.&lt;br /&gt;
&lt;br /&gt;
7.	'''Compare and contrast TRUNCATE and DELETE for a table.''' &lt;br /&gt;
&lt;br /&gt;
: Both the truncate and delete command have the desired outcome of getting rid of all the rows in a table. The difference between the two is that the truncate command is a DDL operation and just moves the high water mark and produces few rollback data. The delete command, on the other hand, is a DML operation, which will produce rollback data and thus take longer to complete.&lt;br /&gt;
&lt;br /&gt;
8.	'''Give the reasoning behind using an index.''' &lt;br /&gt;
&lt;br /&gt;
: Faster access to data blocks in a table.&lt;br /&gt;
&lt;br /&gt;
9.	'''Give the two types of tables involved in producing a star schema and the type of data they hold.''' &lt;br /&gt;
&lt;br /&gt;
: Fact tables and dimension tables. A fact table contains measurements while dimension tables will contain data that will help describe the fact tables.&lt;br /&gt;
&lt;br /&gt;
10.	'''What type of index should you use on a fact table?''' &lt;br /&gt;
&lt;br /&gt;
: A [[Bitmap index]].&lt;br /&gt;
&lt;br /&gt;
11.	'''Give some examples of the types of database contraints you may find in Oracle and indicate their purpose. &lt;br /&gt;
'''&lt;br /&gt;
:* A Primary or Unique Key can be used to enforce uniqueness on one or more columns.&lt;br /&gt;
:* A Referential Integrity Contraint can be used to enforce a Foreign Key relationship between two tables.&lt;br /&gt;
:* A Not Null constraint - to ensure a value is entered in a column&lt;br /&gt;
:* A Value Constraint - to check a column value against a specific set of values.&lt;br /&gt;
&lt;br /&gt;
12.	'''A table is classified as a parent table and you want to drop and re-create it. How would you do this without affecting the children tables? &lt;br /&gt;
'''&lt;br /&gt;
: Disable the foreign key constraint to the parent, drop the table, re-create the table, enable the foreign key constraint.&lt;br /&gt;
&lt;br /&gt;
13.	'''Explain the difference between ARCHIVELOG mode and NOARCHIVELOG mode and the benefits and disadvantages to each. &lt;br /&gt;
'''&lt;br /&gt;
: ARCHIVELOG mode is a mode that you can put the database in for creating a backup of all transactions that have occurred in the database so that you can recover to any point in time. NOARCHIVELOG mode is basically the absence of ARCHIVELOG mode and has the disadvantage of not being able to recover to any point in time. NOARCHIVELOG mode does have the advantage of not having to write transactions to an archive log and thus increases the performance of the database slightly.&lt;br /&gt;
&lt;br /&gt;
14.	'''What command would you use to create a backup control file? &lt;br /&gt;
'''&lt;br /&gt;
: Alter database backup control file to trace.&lt;br /&gt;
&lt;br /&gt;
15.	'''Give the stages of instance startup to a usable state where normal users may access it. &lt;br /&gt;
'''&lt;br /&gt;
:STARTUP NOMOUNT - Instance startup&lt;br /&gt;
:STARTUP MOUNT - The database is mounted&lt;br /&gt;
:STARTUP OPEN - The database is opened&lt;br /&gt;
&lt;br /&gt;
16.	'''What column differentiates the V$ views to the GV$ views and how? &lt;br /&gt;
'''&lt;br /&gt;
:The INST_ID column which indicates the instance in a RAC environment the information came from.&lt;br /&gt;
&lt;br /&gt;
17.	'''How would you go about generating an EXPLAIN plan?''' &lt;br /&gt;
&lt;br /&gt;
:Create a plan table with utlxplan.sql. &lt;br /&gt;
:Use the explain plan set statement_id = 'tst1' into plan_table for a SQL statement&lt;br /&gt;
:Look at the explain plan with utlxplp.sql or utlxpls.sql&lt;br /&gt;
&lt;br /&gt;
18.	'''How would you go about increasing the buffer cache hit ratio? &lt;br /&gt;
'''&lt;br /&gt;
:Use the buffer cache advisory over a given workload and then query the v$db_cache_advice table. If a change was necessary then I would use the alter system set db_cache_size command.&lt;br /&gt;
&lt;br /&gt;
19.	'''Explain an [[ORA-01555]].'''&lt;br /&gt;
&lt;br /&gt;
:You get this error when you get a snapshot too old within rollback. It can usually be solved by increasing the undo retention or increasing the size of rollbacks. You should also look at the logic involved in the application getting the error message.&lt;br /&gt;
&lt;br /&gt;
20.	'''Explain the difference between $ORACLE_HOME and $ORACLE_BASE.''' &lt;br /&gt;
&lt;br /&gt;
:ORACLE_BASE is the root directory for oracle. ORACLE_HOME located beneath ORACLE_BASE is where the oracle products reside.&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
'''1.	How would you determine the time zone under which a database was operating?'''&lt;br /&gt;
&lt;br /&gt;
:	SELECT dbtimezone FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
'''2.	Explain the use of setting GLOBAL_NAMES equal to TRUE.''' &lt;br /&gt;
&lt;br /&gt;
:	It ensure the use of consistent naming conventions for databases and links in a networked environment.&lt;br /&gt;
&lt;br /&gt;
'''3.	What command would you use to encrypt a PL/SQL application?'''&lt;br /&gt;
&lt;br /&gt;
:       WRAP&lt;br /&gt;
&lt;br /&gt;
'''4.	Explain the difference between a FUNCTION, PROCEDURE and PACKAGE.''' &lt;br /&gt;
&lt;br /&gt;
:       They are all named PL/SQL blocks.&lt;br /&gt;
:       Function must return a value. Can be called inside a query.&lt;br /&gt;
:       Procedure may or may not return value. &lt;br /&gt;
:       Package is the collection of functions, procedures, variables which can be logically grouped together.        &lt;br /&gt;
&lt;br /&gt;
'''5.	Explain the use of table functions.'''&lt;br /&gt;
&lt;br /&gt;
'''6.	Name three advisory statistics you can collect. '''&lt;br /&gt;
&lt;br /&gt;
'''7.	Where in the Oracle directory tree structure are audit traces placed?'''&lt;br /&gt;
&lt;br /&gt;
'''8.	Explain materialized views and how they are used. '''&lt;br /&gt;
&lt;br /&gt;
'''9.	When a user process fails, what background process cleans up after it?'''&lt;br /&gt;
&lt;br /&gt;
:       PMON&lt;br /&gt;
&lt;br /&gt;
'''10.	What background process refreshes materialized views?'''&lt;br /&gt;
&lt;br /&gt;
:       Job Queue Process (CJQ) &lt;br /&gt;
&lt;br /&gt;
'''11.	How would you determine what sessions are connected and what resources they are waiting for?'''&lt;br /&gt;
&lt;br /&gt;
:       v$session,v$session_wait&lt;br /&gt;
&lt;br /&gt;
'''12.	Describe what redo logs are. '''&lt;br /&gt;
&lt;br /&gt;
'''13.	How would you force a log switch?'''&lt;br /&gt;
&lt;br /&gt;
:       alter system switch logfile;&lt;br /&gt;
&lt;br /&gt;
'''14.	Give two methods you could use to determine what DDL changes have been made. '''&lt;br /&gt;
&lt;br /&gt;
'''15.	What does coalescing a tablespace do?'''&lt;br /&gt;
  &lt;br /&gt;
:       Coalesce simply takes contigous free extents and makes them into a single bigger free extent.&lt;br /&gt;
&lt;br /&gt;
'''16.	What is the difference between a TEMPORARY tablespace and a PERMANENT tablespace?'''&lt;br /&gt;
&lt;br /&gt;
:       TEMP tablespace gets cleared once the transaction is done where as PERMANENT tablespace retails the data.&lt;br /&gt;
&lt;br /&gt;
'''17.	Name a tablespace automatically created when you create a database. '''&lt;br /&gt;
&lt;br /&gt;
:       SYSTEM&lt;br /&gt;
&lt;br /&gt;
'''18.	When creating a user, what permissions must you grant to allow them to connect to the database?'''&lt;br /&gt;
        &lt;br /&gt;
:       Grant create session to username;&lt;br /&gt;
&lt;br /&gt;
'''19.	How do you add a data file to a tablespace?'''&lt;br /&gt;
 &lt;br /&gt;
:       alter tablespace USERS add datafile '/ora01/oradata/users02.dbf' size 50M;&lt;br /&gt;
&lt;br /&gt;
'''20.	How do you resize a data file?'''&lt;br /&gt;
&lt;br /&gt;
:       alter database datafile '/ora01/oradata/users02.dbf' resize 100M;&lt;br /&gt;
&lt;br /&gt;
'''21.	What view would you use to look at the size of a data file?'''&lt;br /&gt;
&lt;br /&gt;
:       dba_data_files&lt;br /&gt;
&lt;br /&gt;
'''22.	What view would you use to determine free space in a tablespace?'''&lt;br /&gt;
&lt;br /&gt;
:       dba_free_space&lt;br /&gt;
&lt;br /&gt;
'''23.	How would you determine who has added a row to a table?'''&lt;br /&gt;
&lt;br /&gt;
:       By implementing an INSERT trigger for logging details during each INSERT operation on the table&lt;br /&gt;
&lt;br /&gt;
'''24.	How can you rebuild an index?'''&lt;br /&gt;
&lt;br /&gt;
:       ALTER INDEX index_name REBUILD;&lt;br /&gt;
&lt;br /&gt;
'''25.	Explain what partitioning is and what its benefit is. '''&lt;br /&gt;
&lt;br /&gt;
:       A table partition is also a table segment, and by using partitioning technique we can enhance performance of table access.&lt;br /&gt;
&lt;br /&gt;
'''26.	You have just compiled a PL/SQL package but got errors, how would you view the errors?'''&lt;br /&gt;
&lt;br /&gt;
:       show errors &lt;br /&gt;
&lt;br /&gt;
'''27.	How can you gather statistics on a table?'''&lt;br /&gt;
&lt;br /&gt;
:       exec dbms_stats.gather_table_stats&lt;br /&gt;
:       Also, remember to analyze all associated indexes on that table using dbms_stats.gather_index_stats&lt;br /&gt;
&lt;br /&gt;
'''28.	How can you enable a trace for a session?'''&lt;br /&gt;
&lt;br /&gt;
:       alter session set sql_trace='TRUE';&lt;br /&gt;
&lt;br /&gt;
'''29.	What is the difference between the SQL*Loader and IMPORT utilities?'''&lt;br /&gt;
        &lt;br /&gt;
:       SQL*LOADER loads external data which is in OS files to oracle database tables while IMPORT utility imports data only which is exported by EXPORT utility of oracle database.&lt;br /&gt;
&lt;br /&gt;
'''30.	Name two files used for network connection to a database.'''&lt;br /&gt;
&lt;br /&gt;
:       TNSNAMES.ORA and SQLNET.ORA&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
'''1.	Describe the difference between a procedure, function and anonymous pl/sql block. '''&lt;br /&gt;
Candidate should mention use of DECLARE statement, a function must return a value while a procedure doesn't have to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2.	What is a mutating table error and how can you get around it?'''&lt;br /&gt;
This happens with triggers. It occurs because the trigger is trying to update a row it is currently using. The usual fix involves either use of views or temporary tables so the database is selecting from one while updating the other.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3.	Describe the use of %ROWTYPE and %TYPE in PL/SQL '''&lt;br /&gt;
Expected answer: %ROWTYPE allows you to associate a variable with an entire table row. The %TYPE associates a variable with a single column type. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4.	What packages (if any) has Oracle provided for use by developers?'''&lt;br /&gt;
Expected answer: Oracle provides the DBMS_ series of packages. There are many which developers should be aware of such as DBMS_SQL, DBMS_PIPE, DBMS_TRANSACTION, DBMS_LOCK, DBMS_ALERT, DBMS_OUTPUT, DBMS_JOB, DBMS_UTILITY, DBMS_DDL, UTL_FILE. If they can mention a few of these and describe how they used them, even better. If they include the SQL routines provided by Oracle, great, but not really what was asked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5.	Describe the use of PL/SQL tables'''&lt;br /&gt;
Expected answer: PL/SQL tables are scalar arrays that can be referenced by a binary integer. They can be used to hold values for use in later queries or calculations. In Oracle 8 they will be able to be of the %ROWTYPE designation, or RECORD. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6.	When is a declare statement needed ?'''&lt;br /&gt;
The DECLARE statement is used in PL/SQL anonymous blocks such as with stand alone, non-stored PL/SQL procedures. It must come first in a PL/SQL stand alone file if it is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''7.	In what order should a open/fetch/loop set of commands in a PL/SQL block be implemented if you use the %NOTFOUND cursor variable in the exit when statement? Why?'''&lt;br /&gt;
Expected answer: OPEN then FETCH then LOOP followed by the exit when. If not specified in this order will result in the final return being done twice because of the way the %NOTFOUND is handled by PL/SQL. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8.	What are SQLCODE and SQLERRM and why are they important for PL/SQL developers?'''&lt;br /&gt;
Expected answer: SQLCODE returns the value of the error number for the last error encountered. The SQLERRM returns the actual error message for the last error encountered. They can be used in exception handling to report, or, store in an error log table, the error that occurred in the code. These are especially useful for the WHEN OTHERS exception.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''9.	How can you find within a PL/SQL block, if a cursor is open?'''&lt;br /&gt;
Expected answer: Use the %ISOPEN cursor status variable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''10.	How can you generate debugging output from PL/SQL?'''&lt;br /&gt;
Expected answer: Use the DBMS_OUTPUT package. Another possible method is to just use the SHOW ERROR command, but this only shows errors. The DBMS_OUTPUT package can be used to show intermediate results from loops and the status of variables as the procedure is executed. The new package UTL_FILE can also be used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''11.	What are the types of triggers?'''&lt;br /&gt;
Expected Answer: There are 12 types of triggers in PL/SQL that consist of combinations of the BEFORE, AFTER, ROW, TABLE, INSERT, UPDATE, DELETE and ALL key words:&lt;br /&gt;
BEFORE ALL ROW INSERT&lt;br /&gt;
AFTER ALL ROW INSERT&lt;br /&gt;
BEFORE INSERT&lt;br /&gt;
AFTER INSERT etc.&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
1.	A tablespace has a table with 30 extents in it. Is this bad? Why or why not.&lt;br /&gt;
&lt;br /&gt;
Multiple extents in and of themselves aren?t bad. However if you also have chained rows this can hurt performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.	How do you set up tablespaces during an Oracle installation?&lt;br /&gt;
&lt;br /&gt;
You should always attempt to use the Oracle Flexible Architecture standard or another partitioning scheme to ensure proper separation of SYSTEM, ROLLBACK, REDO LOG, DATA, TEMPORARY and INDEX segments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.	You see multiple fragments in the SYSTEM tablespace, what should you check first?&lt;br /&gt;
&lt;br /&gt;
Ensure that users don?t have the SYSTEM tablespace as their TEMPORARY or DEFAULT tablespace assignment by checking the DBA_USERS view.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.	What are some indications that you need to increase the SHARED_POOL_SIZE parameter?&lt;br /&gt;
&lt;br /&gt;
Poor data dictionary or library cache hit ratios, getting error ORA-04031. Another indication is steadily decreasing performance with all other tuning parameters the same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5.	What is the general guideline for sizing db_block_size and db_multi_block_read for an application that does many full table scans?&lt;br /&gt;
&lt;br /&gt;
Oracle almost always reads in 64k chunks. The two should have a product equal to 64 or a multiple of 64.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6.	What is the fastest query method for a table&lt;br /&gt;
&lt;br /&gt;
Fetch by rowid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7.	Explain the use of TKPROF? What initialization parameter should be turned on to get full TKPROF output?&lt;br /&gt;
&lt;br /&gt;
The tkprof tool is a tuning tool used to determine cpu and execution times for SQL statements. You use it by first setting timed_statistics to true in the initialization file and then turning on tracing for either the entire database via the sql_trace parameter or for the session using the ALTER SESSION command. Once the trace file is generated you run the tkprof tool against the trace file and then look at the output from the tkprof tool. This can also be used to generate explain plan output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8.	When looking at v$sysstat you see that sorts (disk) is high. Is this bad or good? If bad -How do you correct it?&lt;br /&gt;
&lt;br /&gt;
If you get excessive disk sorts this is bad. This indicates you need to tune the sort area parameters in the initialization files. The major sort are parameter is the SORT_AREA_SIZe parameter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9.	When should you increase copy latches? What parameters control copy latches&lt;br /&gt;
&lt;br /&gt;
When you get excessive contention for the copy latches as shown by the &amp;quot;redo copy&amp;quot; latch hit ratio. You can increase copy latches via the initialization parameter LOG_SIMULTANEOUS_COPIES to twice the number of CPUs on your system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.	Where can you get a list of all initialization parameters for your instance? How about an indication if they are default settings or have been changed&lt;br /&gt;
&lt;br /&gt;
You can look in the init.ora file for an indication of manually set parameters. For all parameters, their value and whether or not the current value is the default value, look in the v$parameter view.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11.	Describe hit ratio as it pertains to the database buffers. What is the difference between instantaneous and cumulative hit ratio and which should be used for tuning&lt;br /&gt;
&lt;br /&gt;
The hit ratio is a measure of how many times the database was able to read a value from the buffers verses how many times it had to re-read a data value from the disks. A value greater than 80-90% is good, less could indicate problems. If you simply take the ratio of existing parameters this will be a cumulative value since the database started. If you do a comparison between pairs of readings based on some arbitrary time span, this is the instantaneous ratio for that time span. Generally speaking an instantaneous reading gives more valuable data since it will tell you what your instance is doing for the time it was generated over. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
12.	Discuss row chaining, how does it happen? How can you reduce it? How do you correct it&lt;br /&gt;
&lt;br /&gt;
Row chaining occurs when a VARCHAR2 value is updated and the length of the new value is longer than the old value and won?t fit in the remaining block space. This results in the row chaining to another block. It can be reduced by setting the storage parameters on the table to appropriate values. It can be corrected by export and import of the effected table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.	Give one method for transferring a table from one schema to another:&lt;br /&gt;
&lt;br /&gt;
There are several possible methods, export-import, CREATE TABLE... AS SELECT, or COPY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.	What is the purpose of the IMPORT option IGNORE? What is it?s default setting&lt;br /&gt;
&lt;br /&gt;
The IMPORT IGNORE option tells import to ignore &amp;quot;already exists&amp;quot; errors. If it is not specified the tables that already exist will be skipped. If it is specified, the error is ignored and the tables data will be inserted. The default value is N.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.	You have a rollback segment in a version 7.2 database that has expanded beyond optimal, how can it be restored to optimal&lt;br /&gt;
&lt;br /&gt;
Use the ALTER TABLESPACE ..... SHRINK command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.	If the DEFAULT and TEMPORARY tablespace clauses are left out of a CREATE USER command what happens? Is this bad or good? Why&lt;br /&gt;
&lt;br /&gt;
The user is assigned the SYSTEM tablespace as a default and temporary tablespace. This is bad because it causes user objects and temporary segments to be placed into the SYSTEM tablespace resulting in fragmentation and improper table placement (only data dictionary objects and the system rollback segment should be in SYSTEM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5.	What are some of the Oracle provided packages that DBAs should be aware of&lt;br /&gt;
&lt;br /&gt;
Oracle provides a number of packages in the form of the DBMS_ packages owned by the SYS user. The packages used by DBAs may include: DBMS_SHARED_POOL, DBMS_UTILITY, DBMS_SQL, DBMS_DDL, DBMS_SESSION, DBMS_OUTPUT and DBMS_SNAPSHOT. They may also try to answer with the UTL*.SQL or CAT*.SQL series of SQL procedures. These can be viewed as extra credit but aren?t part of the answer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6.	What happens if the constraint name is left out of a constraint clause&lt;br /&gt;
&lt;br /&gt;
The Oracle system will use the default name of SYS_Cxxxx where xxxx is a system generated number. This is bad since it makes tracking which table the constraint belongs to or what the constraint does harder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7.	What happens if a tablespace clause is left off of a primary key constraint clause&lt;br /&gt;
&lt;br /&gt;
This results in the index that is automatically generated being placed in then users default tablespace. Since this will usually be the same tablespace as the table is being created in, this can cause serious performance problems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8.	What is the proper method for disabling and re-enabling a primary key constraint&lt;br /&gt;
&lt;br /&gt;
You use the ALTER TABLE command for both. However, for the enable clause you must specify the USING INDEX and TABLESPACE clause for primary keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9.	What happens if a primary key constraint is disabled and then enabled without fully specifying the index clause&lt;br /&gt;
&lt;br /&gt;
The index is created in the user?s default tablespace and all sizing information is lost. Oracle doesn?t store this information as a part of the constraint definition, but only as part of the index definition, when the constraint was disabled the index was dropped and the information is gone. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.	(On UNIX) When should more than one DB writer process be used? How many should be used&lt;br /&gt;
&lt;br /&gt;
If the UNIX system being used is capable of asynchronous IO then only one is required, if the system is not capable of asynchronous IO then up to twice the number of disks used by Oracle number of DB writers should be specified by use of the db_writers initialization parameter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11.	You are using hot backup without being in archivelog mode, can you recover in the event of a failure? Why or why not&lt;br /&gt;
&lt;br /&gt;
You can?t use hot backup without being in archivelog mode. So no, you couldn?t recover.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
12.	What causes the &amp;quot;snapshot too old&amp;quot; error? How can this be prevented or mitigated&lt;br /&gt;
&lt;br /&gt;
This is caused by large or long running transactions that have either wrapped onto their own rollback space or have had another transaction write on part of their rollback space. This can be prevented or mitigated by breaking the transaction into a set of smaller transactions or increasing the size of the rollback segments and their extents.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. How can you tell if a database object is invalid&lt;br /&gt;
By checking the status column of the DBA_, ALL_ or USER_OBJECTS views, depending upon whether you own or only have permission on the view or are using a DBA account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13.	A user is getting an ORA-00942 error yet you know you have granted them permission on the table, what else should you check&lt;br /&gt;
&lt;br /&gt;
You need to check that the user has specified the full name of the object (select empid from scott.emp; instead of select empid from emp;) or has a synonym that balls to the object (create synonym emp for scott.emp;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14.	A developer is trying to create a view and the database won?t let him. He has the &amp;quot;DEVELOPER&amp;quot; role which has the &amp;quot;CREATE VIEW&amp;quot; system privilege and SELECT grants on the tables he is using, what is the problem&lt;br /&gt;
&lt;br /&gt;
You need to verify the developer has direct grants on all tables used in the view. You can?t create a stored object with grants given through views.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15.	If you have an example table, what is the best way to get sizing data for the production table implementation&lt;br /&gt;
&lt;br /&gt;
The best way is to analyze the table and then use the data provided in the DBA_TABLES view to get the average row length and other pertinent data for the calculation. The quick and dirty way is to look at the number of blocks the table is actually using and ratio the number of rows in the table to its number of blocks against the number of expected rows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
16.	How can you find out how many users are currently logged into the database? How can you find their operating system id&lt;br /&gt;
&lt;br /&gt;
There are several ways. One is to look at the v$session or v$process views. Another way is to check the current_logins parameter in the v$sysstat view. Another if you are on UNIX is to do a &amp;quot;ps -ef|grep oracle|wc -l? command, but this only works against a single instance installation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
17.	A user selects from a sequence and gets back two values, his select is:&lt;br /&gt;
SELECT pk_seq.nextval FROM dual;What is the problem&lt;br /&gt;
Somehow two values have been inserted into the dual table. This table is a single row, single column table that should only have one value in it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
18.	How can you determine if an index needs to be dropped and rebuilt&lt;br /&gt;
&lt;br /&gt;
Run the ANALYZE INDEX command on the index to validate its structure and then calculate the ratio of LF_BLK_LEN/LF_BLK_LEN+BR_BLK_LEN and if it isn?t near 1.0 (i.e. greater than 0.7 or so) then the index should be rebuilt. Or if the ratio &lt;br /&gt;
BR_BLK_LEN/ LF_BLK_LEN+BR_BLK_LEN is nearing 0.3.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
1.	How can variables be passed to a SQL routine&lt;br /&gt;
&lt;br /&gt;
By use of the &amp;amp; symbol. For passing in variables the numbers 1-8 can be used (&amp;amp;1, &amp;amp;2,...,&amp;amp;8) to pass the values after the command into the SQLPLUS session. To be prompted for a specific variable, place the ampersanded variable in the code itself:&lt;br /&gt;
&amp;quot;select * from dba_tables where owner=&amp;amp;owner_name;&amp;quot; . Use of double ampersands tells SQLPLUS to resubstitute the value for each subsequent use of the variable, a single ampersand will cause a reprompt for the value unless an ACCEPT statement is used to get the value from the user. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.	You want to include a carriage return/linefeed in your output from a SQL script, how can you do this&lt;br /&gt;
&lt;br /&gt;
The best method is to use the CHR() function (CHR(10) is a return/linefeed) and the concatenation function &amp;quot;||&amp;quot;. Another method, although it is hard to document and isn?t always portable is to use the return/linefeed as a part of a quoted string.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.	How can you call a PL/SQL procedure from SQL&lt;br /&gt;
&lt;br /&gt;
By use of the EXECUTE (short form EXEC) command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.	How do you execute a host operating system command from within SQL&lt;br /&gt;
&lt;br /&gt;
By use of the exclamation ball &amp;quot;!&amp;quot; (in UNIX and some other OS) or the HOST (HO) command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5.	You want to use SQL to build SQL, what is this called and give an example&lt;br /&gt;
&lt;br /&gt;
This is called dynamic SQL. An example would be:&lt;br /&gt;
set lines 90 pages 0 termout off feedback off verify off&lt;br /&gt;
spool drop_all.sql&lt;br /&gt;
select ?drop user ?||username||? cascade;? from dba_users&lt;br /&gt;
where username not in (&amp;quot;SYS?,?SYSTEM?);&lt;br /&gt;
spool off&lt;br /&gt;
Essentially you are looking to see that they know to include a command (in this case DROP USER...CASCADE;) and that you need to concatenate using the ?||? the values selected from the database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6.	What SQLPlus command is used to format output from a select&lt;br /&gt;
&lt;br /&gt;
This is best done with the COLUMN command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7.	You want to group the following set of select returns, what can you group on&lt;br /&gt;
&lt;br /&gt;
Max(sum_of_cost), min(sum_of_cost), count(item_no), item_no&lt;br /&gt;
The only column that can be grouped on is the &amp;quot;item_no&amp;quot; column, the rest have aggregate functions associated with them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8.	What special Oracle feature allows you to specify how the cost based system treats a SQL statement&lt;br /&gt;
&lt;br /&gt;
The COST based system allows the use of HINTs to control the optimizer path selection. If they can give some example hints such as FIRST ROWS, ALL ROWS, USING INDEX, STAR, even better.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9.	You want to determine the location of identical rows in a table before attempting to place a unique index on the table, how can this be done&lt;br /&gt;
&lt;br /&gt;
Oracle tables always have one guaranteed unique column, the rowid column. If you use a min/max function against your rowid and then select against the proposed primary key you can squeeze out the rowids of the duplicate rows pretty quick. For example:&lt;br /&gt;
select rowid from emp e&lt;br /&gt;
where e.rowid &amp;gt; (select min(x.rowid)&lt;br /&gt;
from emp x&lt;br /&gt;
where x.emp_no = e.emp_no);&lt;br /&gt;
In the situation where multiple columns make up the proposed key, they must all be used in the where clause. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.	What is a Cartesian product&lt;br /&gt;
&lt;br /&gt;
A Cartesian product is the result of an unrestricted join of two or more tables. The result set of a three table Cartesian product will have x * y * z number of rows where x, y, z correspond to the number of rows in each table involved in the join.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11. You are joining a local and a remote table, the network manager complains about the traffic involved, how can you reduce the network traffic&lt;br /&gt;
Push the processing of the remote data to the remote instance by using a view to pre-select the information for the join. This will result in only the data required for the join being sent across.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11.	What is the default ordering of an ORDER BY clause in a SELECT statement&lt;br /&gt;
&lt;br /&gt;
Ascending&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
12.	What is tkprof and how is it used&lt;br /&gt;
&lt;br /&gt;
The tkprof tool is a tuning tool used to determine cpu and execution times for SQL statements. You use it by first setting timed_statistics to true in the initialization file and then turning on tracing for either the entire database via the sql_trace parameter or for the session using the ALTER SESSION command. Once the trace file is generated you run the tkprof tool against the trace file and then look at the output from the tkprof tool. This can also be used to generate explain plan output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13.	What is explain plan and how is it used&lt;br /&gt;
&lt;br /&gt;
The EXPLAIN PLAN command is a tool to tune SQL statements. To use it you must have an explain_table generated in the user you are running the explain plan for. This is created using the utlxplan.sql script. Once the explain plan table exists you run the explain plan command giving as its argument the SQL statement to be explained. The explain_plan table is then queried to see the execution plan of the statement. Explain plans can also be run using tkprof.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14.	How do you set the number of lines on a page of output? The width&lt;br /&gt;
&lt;br /&gt;
The SET command in SQLPLUS is used to control the number of lines generated per page and the width of those lines, for example SET PAGESIZE 60 LINESIZE 80 will generate reports that are 60 lines long with a line width of 80 characters. The PAGESIZE and LINESIZE options can be shortened to PAGES and LINES.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15.	How do you prevent output from coming to the screen&lt;br /&gt;
&lt;br /&gt;
The SET option TERMOUT controls output to the screen. Setting TERMOUT OFF turns off screen output. This option can be shortened to TERM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
16.	How do you prevent Oracle from giving you informational messages during and after a SQL statement execution&lt;br /&gt;
&lt;br /&gt;
The SET options FEEDBACK and VERIFY can be set to OFF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
17.	How do you generate file output from SQL&lt;br /&gt;
&lt;br /&gt;
By use of the SPOOL comm&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
1.	What is a CO-RELATED SUBQUERY&lt;br /&gt;
&lt;br /&gt;
A CO-RELATED SUBQUERY is one that has a correlation name as table or view designator in the FROM clause of the outer query and the same correlation name as a qualifier of a search condition in the WHERE clause of the subquery.&lt;br /&gt;
eg&lt;br /&gt;
     SELECT  field1 from table1 X&lt;br /&gt;
     WHERE  field2&amp;gt;(select avg(field2) from table1 Y&lt;br /&gt;
                                       where&lt;br /&gt;
                                       field1=X.field1);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(The subquery in a correlated subquery is revaluated for every row of the table or view named in the outer query.) &lt;br /&gt;
&lt;br /&gt;
2.	What are various joins used while writing SUBQUERIES&lt;br /&gt;
&lt;br /&gt;
Self join-Its a join foreign key of a table references the same table.&lt;br /&gt;
&lt;br /&gt;
Outer Join--Its a join condition used where One can query all the rows of one of the tables in the join condition even though they don't satisfy the join condition.&lt;br /&gt;
&lt;br /&gt;
Equi-join--Its a join condition that retrieves rows from one or more tables in which one or more columns in one table are equal to one or more columns in the second table.&lt;br /&gt;
&lt;br /&gt;
3.	What are various constraints used in SQL&lt;br /&gt;
&lt;br /&gt;
NULL&lt;br /&gt;
NOT NULL&lt;br /&gt;
CHECK&lt;br /&gt;
DEFAULT&lt;br /&gt;
&lt;br /&gt;
4.	What are different Oracle database objects&lt;br /&gt;
&lt;br /&gt;
TABLES&lt;br /&gt;
VIEWS&lt;br /&gt;
INDEXES&lt;br /&gt;
SYNONYMS&lt;br /&gt;
SEQUENCES&lt;br /&gt;
TABLESPACES etc &lt;br /&gt;
&lt;br /&gt;
5.	What is difference between Rename and Alias&lt;br /&gt;
&lt;br /&gt;
Rename is a permanent name given to a table or column whereas Alias is a temporary name given to a table or column which do not exist once the SQL statement is executed. &lt;br /&gt;
&lt;br /&gt;
6.	What is a view&lt;br /&gt;
&lt;br /&gt;
A view is stored procedure based on one or more tables, its a virtual table. &lt;br /&gt;
&lt;br /&gt;
7.	What are various privileges that a user can grant to another user&lt;br /&gt;
&lt;br /&gt;
SELECT&lt;br /&gt;
CONNECT&lt;br /&gt;
RESOURCE&lt;br /&gt;
&lt;br /&gt;
8.	What is difference between UNIQUE and PRIMARY KEY constraints&lt;br /&gt;
&lt;br /&gt;
A table can have only one PRIMARY KEY whereas there can be any number of UNIQUE keys. The columns that compose PK are automatically define NOT NULL, whereas a column that compose a UNIQUE is not automatically defined to be mandatory must also specify the column is NOT NULL. &lt;br /&gt;
&lt;br /&gt;
9.	Can a primary key contain more than one columns&lt;br /&gt;
&lt;br /&gt;
Yes &lt;br /&gt;
&lt;br /&gt;
10.	How you will avoid duplicating records in a query&lt;br /&gt;
&lt;br /&gt;
By using DISTINCT&lt;br /&gt;
&lt;br /&gt;
11.	What is difference between SQL and SQL*PLUS&lt;br /&gt;
&lt;br /&gt;
SQL*PLUS is a command line tool where as SQL and PL/SQL language interface and reporting tool. Its a command line tool that allows user to type SQL commands to be executed directly against an Oracle database. SQL is a language used to query the relational database(DML,DCL,DDL). SQL*PLUS commands are used to format query result, Set options, Edit SQL commands and PL/SQL. &lt;br /&gt;
&lt;br /&gt;
12.	Which datatype is used for storing graphics and images&lt;br /&gt;
&lt;br /&gt;
LONG RAW data type is used for storing BLOB's (binary large objects). &lt;br /&gt;
&lt;br /&gt;
13.	How will you delete duplicating rows from a base table&lt;br /&gt;
&lt;br /&gt;
DELETE FROM table_name A WHERE rowid&amp;gt;(SELECT min(rowid) from table_name B where B.table_no=A.table_no);&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE new_table AS SELECT DISTINCT * FROM old_table;&lt;br /&gt;
&lt;br /&gt;
DROP old_table RENAME new_table TO old_table DELETE FROM table_name A WHERE rowid NOT IN (SELECT MAX(ROWID) FROM table_name GROUP BY column_name)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
14.	What is difference between SUBSTR and INSTR&lt;br /&gt;
&lt;br /&gt;
SUBSTR returns a specified portion of a string eg SUBSTR('BCDEF',4) output BCDE INSTR provides character position in which a pattern is found in a string.&lt;br /&gt;
&lt;br /&gt;
eg INSTR('ABC-DC-F','-',2) output 7 (2nd occurence of '-') &lt;br /&gt;
&lt;br /&gt;
15.	There is a string '120000 12 0 .125' ,how you will find the position of the decimal place &lt;br /&gt;
&lt;br /&gt;
 INSTR('120000 12 0 .125','.',1) output 13 &lt;br /&gt;
&lt;br /&gt;
16.	There is a '%' sign in one field of a column. What will be the query to find it. &lt;br /&gt;
&lt;br /&gt;
'\' Should be used before '%'. &lt;br /&gt;
&lt;br /&gt;
17.	When you use WHERE clause and when you use HAVING clause &lt;br /&gt;
&lt;br /&gt;
HAVING clause is used when you want to specify a condition for a group function and it is written after GROUP BY clause The WHERE clause is used when you want to specify a condition for columns, single row functions except group functions and it is written before GROUP BY clause if it is used. &lt;br /&gt;
&lt;br /&gt;
18.	Which is more faster - IN or EXISTS&lt;br /&gt;
&lt;br /&gt;
EXISTS is more faster than IN because EXISTS returns a Boolean value whereas IN returns a value.&lt;br /&gt;
&lt;br /&gt;
Appropriate answer will be....&lt;br /&gt;
&lt;br /&gt;
Result of the subquery is small Then &amp;quot;IN&amp;quot; is typicaly more appropriate.&lt;br /&gt;
and&lt;br /&gt;
Result of the subquery is big/large/long Then &amp;quot;EXIST&amp;quot; is more appropriate.&lt;br /&gt;
&lt;br /&gt;
19.	What is a OUTER JOIN&lt;br /&gt;
&lt;br /&gt;
Outer Join--Its a join condition used where you can query all the rows of one of the tables in the join condition even though they dont satisfy the join condition. &lt;br /&gt;
&lt;br /&gt;
20.	How you will avoid your query from using indexes&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM emp Where emp_no+' '=12345;&lt;br /&gt;
&lt;br /&gt;
i.e you have to concatenate the column name with space within codes in the where condition.&lt;br /&gt;
&lt;br /&gt;
SELECT /*+ FULL(a) */ ename, emp_no from emp where emp_no=1234;&lt;br /&gt;
&lt;br /&gt;
i.e using HINTS&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
1.	What is a pseudo column. Give some examples&lt;br /&gt;
&lt;br /&gt;
It is a column that is not an actual column in the table.&lt;br /&gt;
&lt;br /&gt;
eg USER, UID, SYSDATE, ROWNUM, ROWID, NULL, AND LEVEL.&lt;br /&gt;
&lt;br /&gt;
Suppose customer table is there having different columns like customer no, payments.What will be the query to select top three max payments.&lt;br /&gt;
&lt;br /&gt;
For top N queries, see http://www.orafaq.com/forum/mv/msg/160920/472554/102589/#msg_472554 post&lt;br /&gt;
&lt;br /&gt;
2.	What is the purpose of a cluster.&lt;br /&gt;
&lt;br /&gt;
Oracle does not allow a user to specifically locate tables, since that is a part of the function of the RDBMS. However, for the purpose of increasing performance, oracle allows a developer to create a CLUSTER. A CLUSTER provides a means for storing data from different tables together for faster retrieval than if the table placement were left to the RDBMS. &lt;br /&gt;
&lt;br /&gt;
3.	What is a cursor.&lt;br /&gt;
&lt;br /&gt;
Oracle uses work area to execute SQL statements and store processing information PL/SQL construct called a cursor lets you name a work area and access its stored information A cursor is a mechanism used to fetch more than one row in a Pl/SQl block. &lt;br /&gt;
&lt;br /&gt;
4.	Difference between an implicit &amp;amp; an explicit cursor.&lt;br /&gt;
&lt;br /&gt;
PL/SQL declares a cursor implicitly for all SQL data manipulation statements, including quries that return only one row. However,queries that return more than one row you must declare an explicit cursor or use a cursor FOR loop. &lt;br /&gt;
&lt;br /&gt;
Explicit cursor is a cursor in which the cursor name is explicitly assigned to a SELECT statement via the CURSOR...IS statement. An implicit cursor is used for all SQL statements Declare, Open, Fetch, Close. An explicit cursors are used to process multirow SELECT statements An implicit cursor is used to process INSERT, UPDATE, DELETE and single row SELECT. .INTO statements. &lt;br /&gt;
&lt;br /&gt;
5.	What are cursor attributes&lt;br /&gt;
&lt;br /&gt;
%ROWCOUNT&lt;br /&gt;
%NOTFOUND&lt;br /&gt;
%FOUND&lt;br /&gt;
%ISOPEN&lt;br /&gt;
&lt;br /&gt;
6.	What is a cursor for loop.&lt;br /&gt;
&lt;br /&gt;
Cursor For Loop is a loop where oracle implicitly declares a loop variable, the loop index that of the same record type as the cursor's record. &lt;br /&gt;
&lt;br /&gt;
7.	Difference between NO DATA FOUND and %NOTFOUND&lt;br /&gt;
&lt;br /&gt;
NO DATA FOUND is an exception raised only for the SELECT....INTO statements when the where clause of the querydoes not match any rows. When the where clause of the explicit cursor does not match any rows the %NOTFOUND attribute is set to TRUE instead. &lt;br /&gt;
&lt;br /&gt;
8.	What a SELECT FOR UPDATE cursor represent.&lt;br /&gt;
&lt;br /&gt;
SELECT......FROM......FOR......UPDATE[OF column-reference][NOWAIT] The processing done in a fetch loop modifies the rows that have been retrieved by the cursor. &lt;br /&gt;
A convenient way of modifying the rows is done by a method with two parts: the FOR UPDATE clause in the cursor declaration, WHERE CURRENT OF CLAUSE in an UPDATE or declaration statement. &lt;br /&gt;
&lt;br /&gt;
9.	What 'WHERE CURRENT OF ' clause does in a cursor.&lt;br /&gt;
&lt;br /&gt;
LOOP&lt;br /&gt;
                          SELECT  num_credits  INTO  v_numcredits  FROM classes&lt;br /&gt;
                          WHERE  dept=123 and course=101;&lt;br /&gt;
                          UPDATE  students&lt;br /&gt;
                          SET current_credits=current_credits+v_numcredits&lt;br /&gt;
                          WHERE  CURRENT OF  X;&lt;br /&gt;
                          END  LOOP&lt;br /&gt;
                          COMMIT;&lt;br /&gt;
                          END;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.	What is use of a cursor variable? How it is defined.&lt;br /&gt;
&lt;br /&gt;
A cursor variable is associated with different statements at run time, which can hold different values at run time. Static cursors can only be associated with one run time query. A cursor variable is reference type(like a pointer in C). &lt;br /&gt;
Declaring a cursor variable: TYPE type_name IS REF CURSOR RETURN return_type type_name is the name of the reference type,return_type is a record type indicating the types of the select list that will eventually be returned by the cursor variable. &lt;br /&gt;
&lt;br /&gt;
11.	What should be the return type for a cursor variable.Can we use a scalar data type as return type.&lt;br /&gt;
&lt;br /&gt;
The return type for a cursor must be a record type.It can be declared explicitly as a user-defined or %ROWTYPE can be used. eg TYPE t_studentsref IS REF CURSOR RETURN students%ROWTYPE &lt;br /&gt;
&lt;br /&gt;
12.	How you open and close a cursor variable.Why it is required.&lt;br /&gt;
&lt;br /&gt;
OPEN cursor variable FOR SELECT...Statement CLOSE cursor variable In order to associate a cursor variable with a particular SELECT statement OPEN syntax is used.In order to free the resources used for the query CLOSE statement is used. &lt;br /&gt;
&lt;br /&gt;
13.	How you were passing cursor variables in PL/SQL 2.2.&lt;br /&gt;
&lt;br /&gt;
In PL/SQL 2.2 cursor variables cannot be declared in a package.This is because the storage for a cursor variable has to be allocated using Pro*C or OCI with version 2.2,the only means of passing a cursor variable to a PL/SQL block is via bind variable or a procedure parameter. &lt;br /&gt;
&lt;br /&gt;
14.	Can cursor variables be stored in PL/SQL tables.If yes how.If not why.&lt;br /&gt;
&lt;br /&gt;
No, a cursor variable points a row which cannot be stored in a two-dimensional PL/SQL table. &lt;br /&gt;
&lt;br /&gt;
15.	Difference between procedure and function.&lt;br /&gt;
&lt;br /&gt;
Functions are named PL/SQL blocks that return a value and can be called with arguments procedure a named block that can be called with parameter. A procedure all is a PL/SQL statement by itself, while a Function call is called as part of an expression. &lt;br /&gt;
&lt;br /&gt;
16.	What are different modes of parameters used in functions and procedures.&lt;br /&gt;
&lt;br /&gt;
IN&lt;br /&gt;
OUT&lt;br /&gt;
INOUT&lt;br /&gt;
&lt;br /&gt;
17.	What is difference between a formal and an actual parameter&lt;br /&gt;
&lt;br /&gt;
The variables declared in the procedure and which are passed, as arguments are called actual, the parameters in the procedure declaration. Actual parameters contain the values that are passed to a procedure and receive results. Formal parameters are the placeholders for the values of actual parameters &lt;br /&gt;
&lt;br /&gt;
18.	Can the default values be assigned to actual parameters.&lt;br /&gt;
&lt;br /&gt;
Yes&lt;br /&gt;
&lt;br /&gt;
19.	Can a function take OUT parameters.If not why.&lt;br /&gt;
&lt;br /&gt;
Yes. A function return a value, but can also have one or more OUT parameters.  it is best practice, however to use a procedure rather than a function if you have multiple values to return.&lt;br /&gt;
&lt;br /&gt;
20.	What is syntax for dropping a procedure and a function .Are these operations possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
               Drop Procedure procedure_name&lt;br /&gt;
               Drop Function function_name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
21.	What are ORACLE PRECOMPILERS.&lt;br /&gt;
&lt;br /&gt;
Using ORACLE PRECOMPILERS ,SQL statements and PL/SQL blocks can be contained inside 3GL programs written in C,C++,COBOL,PASCAL, FORTRAN,PL/1 AND ADA. &lt;br /&gt;
The Precompilers are known as Pro*C,Pro*Cobol,... This form of PL/SQL is known as embedded pl/sql,the language in which pl/sql is embedded is known as the host language. &lt;br /&gt;
The prcompiler translates the embedded SQL and pl/sql ststements into calls to the precompiler runtime library.The output must be compiled and linked with this library to creater an executable. &lt;br /&gt;
&lt;br /&gt;
22.	What is OCI. What are its uses.&lt;br /&gt;
&lt;br /&gt;
Oracle Call Interface is a method of accesing database from a 3GL program. Uses--No precompiler is required,PL/SQL blocks are executed like other DML statements.&lt;br /&gt;
                      The OCI library provides&lt;br /&gt;
                     -functions to parse SQL statemets&lt;br /&gt;
                     -bind input variables&lt;br /&gt;
                     -bind output variables&lt;br /&gt;
                     -execute statements&lt;br /&gt;
                     -fetch the results&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
23.	Difference between database triggers and form triggers.&lt;br /&gt;
&lt;br /&gt;
a) Data base trigger(DBT) fires when a DML operation is performed on a data base table.Form trigger(FT) Fires when user presses a key or navigates between fields on the screen&lt;br /&gt;
b) Can be row level or statement level No distinction between row level and statement level.&lt;br /&gt;
c) Can manipulate data stored in Oracle tables via SQL Can manipulate data in Oracle tables as well as variables in forms.&lt;br /&gt;
d) Can be fired from any session executing the triggering DML statements. Can be fired only from the form that define the trigger.&lt;br /&gt;
e) Can cause other database triggers to fire.Can cause other database triggers to fire,but not other form triggers.&lt;br /&gt;
&lt;br /&gt;
24.	What is an UTL_FILE.What are different procedures and functions associated &lt;br /&gt;
&lt;br /&gt;
with it. UTL_FILE is a package that adds the ability to read and write to operating system files Procedures associated with it are FCLOSE, FCLOSE_ALL and 5 procedures to output data to a file PUT, PUT_LINE, NEW_LINE, PUTF, FFLUSH.PUT, FFLUSH.PUT_LINE,FFLUSH.NEW_LINE. Functions associated with it are FOPEN, ISOPEN. &lt;br /&gt;
&lt;br /&gt;
25.	Can you use a commit statement within a database trigger.&lt;br /&gt;
&lt;br /&gt;
No&lt;br /&gt;
&lt;br /&gt;
26.	What is the maximum buffer size that can be specified using the DBMS_OUTPUT.ENABLE function? &lt;br /&gt;
&lt;br /&gt;
1,000,000&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
1.	When looking at the estat events report you see that you are getting busy buffer waits. Is this bad? How can you find what is causing it&lt;br /&gt;
&lt;br /&gt;
Buffer busy waits could indicate contention in redo, rollback or data blocks. You need to check the v$waitstat view to see what areas are causing the problem. The value of the &amp;quot;count&amp;quot; column tells where the problem is, the &amp;quot;class&amp;quot; column tells you with what. UNDO is rollback segments, DATA is data base buffers. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.	If you see contention for library caches how can you fix it&lt;br /&gt;
&lt;br /&gt;
Increase the size of the shared pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.	If you see statistics that deal with &amp;quot;undo&amp;quot; what are they really talking about&lt;br /&gt;
&lt;br /&gt;
Rollback segments and associated structures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.	If a tablespace has a default pctincrease of zero what will this cause (in relationship to the smon process)&lt;br /&gt;
&lt;br /&gt;
The SMON process won?t automatically coalesce its free space fragments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5.	If a tablespace shows excessive fragmentation what are some methods to defragment the tablespace? (7.1,7.2 and 7.3 only)&lt;br /&gt;
&lt;br /&gt;
In Oracle 7.0 to 7.2 The use of the 'alter session set events 'immediate trace name coalesce level ts#';? command is the easiest way to defragment contiguous free space fragmentation. The ts# parameter corresponds to the ts# value found in the ts$ SYS table. In version 7.3 the ?alter tablespace coalesce;? is best. If the free space isn?t contiguous then export, drop and import of the tablespace contents may be the only way to reclaim non-contiguous free space.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6.	How can you tell if a tablespace has excessive fragmentation&lt;br /&gt;
&lt;br /&gt;
If a select against the dba_free_space table shows that the count of a tablespaces extents is greater than the count of its data files, then it is fragmented.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7.	You see the following on a status report:&lt;br /&gt;
redo log space requests 23&lt;br /&gt;
redo log space wait time 0&lt;br /&gt;
Is this something to worry about? What if redo log space wait time is high? How can you fix this&lt;br /&gt;
Since the wait time is zero, no. If the wait time was high it might indicate a need for more or larger redo logs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8.	What can cause a high value for recursive calls? How can this be fixed&lt;br /&gt;
&lt;br /&gt;
A high value for recursive calls is cause by improper cursor usage, excessive dynamic space management actions, and or excessive statement re-parses. You need to determine the cause and correct it By either relinking applications to hold cursors, use proper space management techniques (proper storage and sizing) or ensure repeat queries are placed in packages for proper reuse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9.	If you see a pin hit ratio of less than 0.8 in the estat library cache report is this a problem? If so, how do you fix it&lt;br /&gt;
&lt;br /&gt;
This indicate that the shared pool may be too small. Increase the shared pool size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.	If you see the value for reloads is high in the estat library cache report is this a matter for concern&lt;br /&gt;
&lt;br /&gt;
Yes, you should strive for zero reloads if possible. If you see excessive reloads then increase the size of the shared pool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11.	You look at the dba_rollback_segs view and see that there is a large number of shrinks and they are of relatively small size, is this a problem? How can it be fixed if it is a problem&lt;br /&gt;
&lt;br /&gt;
A large number of small shrinks indicates a need to increase the size of the rollback segment extents. Ideally you should have no shrinks or a small number of large shrinks. To fix this just increase the size of the extents and adjust optimal accordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
12.	You look at the dba_rollback_segs view and see that you have a large number of wraps is this a problem&lt;br /&gt;
&lt;br /&gt;
A large number of wraps indicates that your extent size for your rollback segments are probably too small. Increase the size of your extents to reduce the number of wraps. You can look at the average transaction size in the same view to get the information on transaction size.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
1.	You have just started a new instance with a large SGA on a busy existing server. Performance is terrible, what should you check for&lt;br /&gt;
&lt;br /&gt;
The first thing to check with a large SGA is that it isn?t being swapped out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.	What OS user should be used for the first part of an Oracle installation (on UNIX)&lt;br /&gt;
&lt;br /&gt;
You must use root first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.	When should the default values for Oracle initialization parameters be used as is&lt;br /&gt;
&lt;br /&gt;
Never&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.	How many control files should you have? Where should they be located&lt;br /&gt;
&lt;br /&gt;
At least 2 on separate disk spindles. Be sure they say on separate disks, not just file systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5.	How many redo logs should you have and how should they be configured for maximum recoverability&lt;br /&gt;
&lt;br /&gt;
You should have at least three groups of two redo logs with the two logs each on a separate disk spindle (mirrored by Oracle). The redo logs should not be on raw devices on UNIX if it can be avoided.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6.	You have a simple application with no &amp;quot;hot&amp;quot; tables (i.e. uniform IO and access requirements). How many disks should you have assuming standard layout for SYSTEM, USER, TEMP and ROLLBACK tablespaces&lt;br /&gt;
&lt;br /&gt;
At least 7, see disk configuration answer above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7.	Describe third normal form&lt;br /&gt;
&lt;br /&gt;
Something like: In third normal form all attributes in an entity are related to the primary key and only to the primary key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8.	Is the following statement true or false:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;All relational databases must be in third normal form&amp;quot;&lt;br /&gt;
False. While 3NF is good for logical design most databases, if they have more than just a few tables, will not perform well using full 3NF. Usually some entities will be denormalized in the logical to physical transfer process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9.	What is an ERD&lt;br /&gt;
&lt;br /&gt;
An ERD is an Entity-Relationship-Diagram. It is used to show the entities and relationships for a database logical model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.	Why are recursive relationships bad? How do you resolve them&lt;br /&gt;
&lt;br /&gt;
A recursive relationship (one where a table relates to itself) is bad when it is a hard relationship (i.e. neither side is a &amp;quot;may&amp;quot; both are &amp;quot;must&amp;quot;) as this can result in it not being possible to put in a top or perhaps a bottom of the table (for example in the EMPLOYEE table you couldn?t put in the PRESIDENT of the company because he has no boss, or the junior janitor because he has no subordinates). These type of relationships are usually resolved by adding a small intersection entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11.	What does a hard one-to-one relationship mean (one where the relationship on both ends is &amp;quot;must&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Expected answer: This means the two entities should probably be made into one entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
12.	How should a many-to-many relationship be handled&lt;br /&gt;
&lt;br /&gt;
By adding an intersection entity table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13.	What is an artificial (derived) primary key? When should an artificial (or derived) primary key be used&lt;br /&gt;
&lt;br /&gt;
A derived key comes from a sequence. Usually it is used when a concatenated key becomes too cumbersome to use as a foreign key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
1.	When should you consider denormalization&lt;br /&gt;
&lt;br /&gt;
Whenever performance analysis indicates it would be beneficial to do so without compromising data integrity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.	How can you determine if an Oracle instance is up from the operating system level&lt;br /&gt;
&lt;br /&gt;
There are several base Oracle processes that will be running on multi-user operating systems, these will be smon, pmon, dbwr and lgwr. Any answer that has them using their operating system process showing feature to check for these is acceptable. For example, on UNIX a ps -ef|grep dbwr will show what instances are up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.	Users from the PC clients are getting messages indicating :&lt;br /&gt;
ORA-06114: (Cnct err, can't get err txt. See Servr Msgs &amp;amp; Codes Manual)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What could the problem be&lt;br /&gt;
The instance name is probably incorrect in their connection string.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.	Users from the PC clients are getting the following error stack:&lt;br /&gt;
ERROR: ORA-01034: ORACLE not available&lt;br /&gt;
ORA-07318: smsget: open error when opening sgadef.dbf file.&lt;br /&gt;
HP-UX Error: 2: No such file or directory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What is the probable cause&lt;br /&gt;
The Oracle instance is shutdown that they are trying to access, restart the instance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5.	How can you determine if the SQLNET process is running for SQLNET V1? How about V2&lt;br /&gt;
&lt;br /&gt;
For SQLNET V1 check for the existence of the orasrv process. You can use the command &amp;quot;tcpctl status&amp;quot; to get a full status of the V1 TCPIP server, other protocols have similar command formats. For SQLNET V2 check for the presence of the LISTENER process(s) or you can issue the command &amp;quot;lsnrctl status&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6.	What file will give you Oracle instance status information? Where is it located&lt;br /&gt;
&lt;br /&gt;
The alert.ora log. It is located in the directory specified by the background_dump_dest parameter in the v$parameter table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7.	Users aren?t being allowed on the system. The following message is received:&lt;br /&gt;
ORA-00257 archiver is stuck. Connect internal only, until freed&lt;br /&gt;
What is the problem&lt;br /&gt;
The archive destination is probably full, backup the archive logs and remove them and the archiver will re-start.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8.	Where would you look to find out if a redo log was corrupted assuming you are using Oracle mirrored redo logs&lt;br /&gt;
&lt;br /&gt;
There is no message that comes to the SQLDBA or SRVMGR programs during startup in this situation, you must check the alert.log file for this information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9.	You attempt to add a datafile and get:&lt;br /&gt;
ORA-01118: cannot add anymore datafiles: limit of 40 exceeded&lt;br /&gt;
What is the problem and how can you fix it&lt;br /&gt;
When the database was created the db_files parameter in the initialization file was set to 40. You can shutdown and reset this to a higher value, up to the value of MAX_DATAFILES as specified at database creation. If the MAX_DATAFILES is set to low, you will have to rebuild the control file to increase it before proceeding.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.	You look at your fragmentation report and see that smon hasn?t coalesced any of you tablespaces, even though you know several have large chunks of contiguous free extents. What is the problem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Check the dba_tablespaces view for the value of pct_increase for the tablespaces. If pct_increase is zero, smon will not coalesce their free space.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
11.	Your users get the following error:&lt;br /&gt;
ORA-00055 maximum number of DML locks exceeded&lt;br /&gt;
What is the problem and how do you fix it&lt;br /&gt;
The number of DML Locks is set by the initialization parameter DML_LOCKS. If this value is set to low (which it is by default) you will get this error. Increase the value of DML_LOCKS. If you are sure that this is just a temporary problem, you can have them wait and then try again later and the error should clear.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
12.	You get a call from you backup DBA while you are on vacation. He has corrupted all of the control files while playing with the ALTER DATABASE BACKUP CONTROLFILE command. What do you do&lt;br /&gt;
&lt;br /&gt;
As long as all datafiles are safe and he was successful with the BACKUP controlfile command you can do the following:&lt;br /&gt;
CONNECT INTERNAL&lt;br /&gt;
STARTUP MOUNT&lt;br /&gt;
(Take any read-only tablespaces offline before next step ALTER DATABASE DATAFILE .... OFFLINE;)&lt;br /&gt;
RECOVER DATABASE USING BACKUP CONTROLFILE&lt;br /&gt;
ALTER DATABASE OPEN RESETLOGS;&lt;br /&gt;
(bring read-only tablespaces back online)&lt;br /&gt;
Shutdown and backup the system, then restart&lt;br /&gt;
If they have a recent output file from the ALTER DATABASE BACKUP CONTROL FILE TO TRACE; command, they can use that to recover as well.&lt;br /&gt;
If no backup of the control file is available then the following will be required:&lt;br /&gt;
CONNECT INTERNAL&lt;br /&gt;
STARTUP NOMOUNT&lt;br /&gt;
CREATE CONTROL FILE .....;&lt;br /&gt;
However, they will need to know all of the datafiles, logfiles, and settings for MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, MAXDATAFILES for the database to use the command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
1.	How would you determine the time zone under which a database was operating?&lt;br /&gt;
2.	Explain the use of setting GLOBAL_NAMES equal to TRUE. &lt;br /&gt;
3.	What command would you use to encrypt a PL/SQL application?&lt;br /&gt;
4.	Explain the difference between a FUNCTION, PROCEDURE and PACKAGE. &lt;br /&gt;
5.	Explain the use of table functions. &lt;br /&gt;
6.	Name three advisory statistics you can collect. &lt;br /&gt;
7.	Where in the Oracle directory tree structure are audit traces placed?&lt;br /&gt;
8.	Explain materialized views and how they are used. &lt;br /&gt;
9.	When a user process fails, what background process cleans up after it?&lt;br /&gt;
10.	What background process refreshes materialized views?&lt;br /&gt;
11.	How would you determine what sessions are connected and what resources they are waiting for?&lt;br /&gt;
12.	Describe what redo logs are. &lt;br /&gt;
13.	How would you force a log switch?&lt;br /&gt;
14.	Give two methods you could use to determine what DDL changes have been made. &lt;br /&gt;
15.	What does coalescing a tablespace do?&lt;br /&gt;
16.	What is the difference between a TEMPORARY tablespace and a PERMANENT tablespace?&lt;br /&gt;
17.	Name a tablespace automatically created when you create a database. &lt;br /&gt;
18.	When creating a user, what permissions must you grant to allow them to connect to the database?&lt;br /&gt;
19.	How do you add a data file to a tablespace?&lt;br /&gt;
20.	How do you resize a data file?&lt;br /&gt;
21.	What view would you use to look at the size of a data file?&lt;br /&gt;
22.	What view would you use to determine free space in a tablespace?&lt;br /&gt;
23.	How would you determine who has added a row to a table?&lt;br /&gt;
24.	How can you rebuild an index?&lt;br /&gt;
25.	Explain what partitioning is and what its benefit is. &lt;br /&gt;
26.	You have just compiled a PL/SQL package but got errors, how would you view the errors?&lt;br /&gt;
27.	How can you gather statistics on a table?&lt;br /&gt;
28.	How can you enable a trace for a session?&lt;br /&gt;
29.	What is the difference between the SQL*Loader and IMPORT utilities?&lt;br /&gt;
30.	Name two files used for network connection to a database.&lt;br /&gt;
&lt;br /&gt;
== Oracle Interview Questions ==&lt;br /&gt;
&lt;br /&gt;
1.	In a system with an average of 40 concurrent users you get the following from a query on rollback extents:&lt;br /&gt;
&lt;br /&gt;
ROLLBACK CUR EXTENTS &lt;br /&gt;
--------------------- -------------------------- &lt;br /&gt;
R01 11 &lt;br /&gt;
R02 8&lt;br /&gt;
R03 12&lt;br /&gt;
R04 9&lt;br /&gt;
SYSTEM 4&lt;br /&gt;
2.	You have room for each to grow by 20 more extents each. Is there a problem? Should you take any action&lt;br /&gt;
&lt;br /&gt;
No there is not a problem. You have 40 extents showing and an average of 40 concurrent users. Since there is plenty of room to grow no action is needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.	You see multiple extents in the temporary tablespace. Is this a problem&lt;br /&gt;
&lt;br /&gt;
As long as they are all the same size this isn?t a problem. In fact, it can even improve performance since Oracle won?t have to create a new extent when a user needs one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.	Define OFA.&lt;br /&gt;
&lt;br /&gt;
OFA stands for Optimal Flexible Architecture. It is a method of placing directories and files in an Oracle system so that you get the maximum flexibility for future tuning and file placement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5.	How do you set up your tablespace on installation&lt;br /&gt;
&lt;br /&gt;
The answer here should show an understanding of separation of redo and rollback, data and indexes and isolation os SYSTEM tables from other tables. An example would be to specify that at least 7 disks should be used for an Oracle installation so that you can place SYSTEM tablespace on one, redo logs on two (mirrored redo logs) the TEMPORARY tablespace on another, ROLLBACK tablespace on another and still have two for DATA and INDEXES. They should indicate how they will handle archive logs and exports as well. As long as they have a logical plan for combining or further separation more or less disks can be specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6.	What should be done prior to installing Oracle (for the OS and the disks)&lt;br /&gt;
&lt;br /&gt;
adjust kernel parameters or OS tuning parameters in accordance with installation guide. Be sure enough contiguous disk space is available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7.	You have installed Oracle and you are now setting up the actual instance. You have been waiting an hour for the initialization script to finish, what should you check first to determine if there is a problem&lt;br /&gt;
&lt;br /&gt;
Check to make sure that the archiver isn?t stuck. If archive logging is turned on during install a large number of logs will be created. This can fill up your archive log destination causing Oracle to stop to wait for more space.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8.	When configuring SQLNET on the server what files must be set up&lt;br /&gt;
&lt;br /&gt;
INITIALIZATION file, TNSNAMES.ORA file, SQLNET.ORA file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9.	When configuring SQLNET on the client what files need to be set up&lt;br /&gt;
&lt;br /&gt;
SQLNET.ORA, TNSNAMES.ORA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.	What must be installed with ODBC on the client in order for it to work with Oracle&lt;br /&gt;
&lt;br /&gt;
SQLNET and PROTOCOL (for example: TCPIP adapter) layers of the transport programs.&lt;br /&gt;
&lt;br /&gt;
== General Oracle Questions ==&lt;br /&gt;
* What Oracle products have you worked with?&lt;br /&gt;
* What version of Oracle were you running?&lt;br /&gt;
* Compare Oracle to any other database that you know. Why would you prefer to work on one and not on the other?&lt;br /&gt;
&lt;br /&gt;
== Oracle DBA Questions ==&lt;br /&gt;
Typical [[DBA]] questions:&lt;br /&gt;
* How many databases and what sizes? &lt;br /&gt;
* Did you use online or off-line backups? Why? used both based on business needs. &lt;br /&gt;
* If you have to advise a backup strategy for a new application, how would you approach it and what questions will you ask? is down time allowed, and what is this being used for Prod,QA or Dev. how huge this Db gonna be in few months .. what type of data is being used in this DB etc..&lt;br /&gt;
* If a customer calls you about a hanging database session, what will you do to resolve it? first thing ...any errors , if not check for session status.. locks waits , disk io, explain plan .. etc&lt;br /&gt;
* How many control files and redo logs should a database have? atleast 2 ctl's and 3 logs&lt;br /&gt;
&lt;br /&gt;
== Oracle Developer Questions ==&lt;br /&gt;
Typical [[Developer]] questions:&lt;br /&gt;
* Tell us about the projects you've worked on.&lt;br /&gt;
* What language was the application written in?&lt;br /&gt;
* What programming languages are you familiar with?&lt;br /&gt;
* What technologies did you use?&lt;br /&gt;
&lt;br /&gt;
[[Category:Career management]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Certification_FAQ</id>
		<title>Certification FAQ</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Certification_FAQ"/>
				<updated>2012-09-29T13:18:51Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: /* Where can one get sample questions for the Oracle exams? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Oracle [[Oracle Certification Program|Certification (OCA, OCP and OCM)]] FAQ:&lt;br /&gt;
&lt;br /&gt;
==What companies provide Oracle Certification?==&lt;br /&gt;
The following companies provide Oracle Certification:&lt;br /&gt;
&lt;br /&gt;
* [http://www.oracle.com/education/certification/ Oracle Corporation]&lt;br /&gt;
: Oracle Corporations Certification is the most widely sought after and recognized of all available certifications. This FAQ will mainly concentrate on Oracle's Certification tracks.&lt;br /&gt;
&lt;br /&gt;
* [http://www.brainbench.com/ Brainbench Inc.] (formerly Tekmetrics)&lt;br /&gt;
: A new kid on the block offering Oracle E-certifications. Their certifications are not officially recognized by Oracle Corporation.&lt;br /&gt;
    &lt;br /&gt;
* [http://www.test.com/ Test.com Inc.]&lt;br /&gt;
: On-line Testing Center with some Oracle tests. However, their certifications are not officially recognized by Oracle Corporation.&lt;br /&gt;
    &lt;br /&gt;
* Chauncey Group International&lt;br /&gt;
: Chauncey's DBA certification was superseded by Oracle's certification program. Chauncey does not offer any Oracle certifications anymore.&lt;br /&gt;
&lt;br /&gt;
==What official Oracle certification tracks are available?==&lt;br /&gt;
Oracle Corporation Offers the following Oracle Certification Tracks:&lt;br /&gt;
&lt;br /&gt;
* Oracle Certified Associate (OCA)&lt;br /&gt;
: Enables one to act as a junior team member working with database administrators or application developers.&lt;br /&gt;
&lt;br /&gt;
* Oracle Certified Professional (OCP)&lt;br /&gt;
: OCP candidates have proven skills for managing a large scale database or developing robust applications that are deployed enterprise-wide.&lt;br /&gt;
&lt;br /&gt;
* Oracle Certified Master (OCM)&lt;br /&gt;
: The highest level credential you can earn in the Oracle Certification Program. These people are senior level members of IT departments and are responsible for handling mission critical database systems and applications.&lt;br /&gt;
&lt;br /&gt;
* Internet Application Developer (Release 6 or 6i)&lt;br /&gt;
: Oracle developers using Oracle iDS (Internet Developer Suite) Forms and Reports.&lt;br /&gt;
&lt;br /&gt;
* Oracle Java Developer (JDEV)&lt;br /&gt;
: Developers using the Java platform. Oracle participates in the multi-vendor [http://www.jcert.org/ jCert Initiative].&lt;br /&gt;
&lt;br /&gt;
PS: The Oracle Database Operator (DBO) track was discontinued on 31 March, [[2002]].&lt;br /&gt;
&lt;br /&gt;
==How hard are the exams?==&lt;br /&gt;
That depends. If you know your stuff, they are quite easy. If you don't, well, they are quite hard. The exams test stuff you really need to know. However, they do add some trick questions as well. Nevertheless, these should not scare you off as they don't count that much anyway.&lt;br /&gt;
&lt;br /&gt;
==What training is required before one can take an exam?==&lt;br /&gt;
Starting from [[Oracle 9i]] Oracle changed the requirements for some certification tracks to include training classes:&lt;br /&gt;
&lt;br /&gt;
'''OCP''' - You need to attend one hands-on training class at Oracle University. See Oracle's web site for a list of courses.&lt;br /&gt;
&lt;br /&gt;
'''OCM''' - You need to attend two advanced training classes at Oracle University. See Oracle's website for a list of courses.&lt;br /&gt;
&lt;br /&gt;
'''All other tracks''' - Generally no courses required. It might be a good idea to attend some relevant courses before taking an exam, but most of the people often do without it. &lt;br /&gt;
&lt;br /&gt;
See section: [http://www.orafaq.com/links/Career_Management/ info about training events/opportunities].&lt;br /&gt;
&lt;br /&gt;
==How do I prepare for the exams?==&lt;br /&gt;
First step is to go to http://www.oracle.com/education/certification and read the list of objectives per exam. There aren't any questions that don't fit one of those objectives. Make sure you know what's on those objectives.&lt;br /&gt;
&lt;br /&gt;
Note that all the questions are compiled from the official Oracle training guides one gets when attending an Oracle class (Instructor Led Course). It is advisable to get these guides by attending the Oracle training classes before taking any of the exams.&lt;br /&gt;
&lt;br /&gt;
Lastly, use the software and practice. Don't just read about a topic - implement it; break it; then fix it. There's no better way to learn stuff than to fix something you broke yourself.&lt;br /&gt;
&lt;br /&gt;
==Where can one take these exams?==&lt;br /&gt;
Testing for the Oracle exams is conducted at authorized [http://www.vue.com/ Pearson VUE] testing centers worldwide. Use their on-line [http://www.vue.com/vtclocator/ Test Center Locator] to find the test center closest to you.&lt;br /&gt;
&lt;br /&gt;
NOTE: Oracle switched from [http://www.prometric.com/ Prometric] to [http://www.vue.com/ Pearson VUE] in September 2009.&lt;br /&gt;
&lt;br /&gt;
==What is the format of the certification exams?==&lt;br /&gt;
All exams are closed book exams. No written materials or notebook computers will be allowed in the testing area. All questions are either multiple choice, fill in the missing word or match these against those.&lt;br /&gt;
&lt;br /&gt;
Testing is conducted by [http://www.vue.com/ Pearson VUE].&lt;br /&gt;
&lt;br /&gt;
When an English test is delivered in a non-English speaking country, the test time might vary from what you see on this site.&lt;br /&gt;
&lt;br /&gt;
==How are exams scored?==&lt;br /&gt;
It's not like school where you have to get 60% or whatever. Previously all exam were scored on a 200-800 scale, with 620 as the passing score for all exams. With this scaling system, the number of points each question was worth varied between exams, and candidates could not compare their scores across exams.&lt;br /&gt;
&lt;br /&gt;
Oracle has decided to abandon the scaled scores and instead report only the candidates' raw scores.&lt;br /&gt;
&lt;br /&gt;
==Can one (during an exam) skip questions and answer them later in the exam?==&lt;br /&gt;
Yes, you may mark certain question that you feel are difficult and review them at the end of the exam. After you clicked the submit button, the tool will tell you that you have marked questions and allow you to jump to them. Both marked and unmarked questions will be scored when finally submitting the exam.&lt;br /&gt;
&lt;br /&gt;
==Is it OK to guess answers or are these tests marked negatively?==&lt;br /&gt;
The Oracle OCP exams are not scored negatively. This means that you can safely guess answers as no points will be deducted for incorrect answers.&lt;br /&gt;
&lt;br /&gt;
It is best to check if you have actually answered ALL questions before completing the exam. If you are running short on time, just click any answer and move on. This way you will at least have a chance to get some of them right.&lt;br /&gt;
&lt;br /&gt;
==Do I have to pass one exam before I can write the next one?==&lt;br /&gt;
No. You can write any exam in any order. You could even write Admin II, Admin I, SQL in that order if you wanted. They don't follow on one after another, and you get your certificate when you pass all required exams.&lt;br /&gt;
&lt;br /&gt;
==What happens when one fails an exam?==&lt;br /&gt;
If you fail a test you can re-write it after a minimum of 14 days, provided you do not write a particular test more than three times in a twelve-month period.&lt;br /&gt;
&lt;br /&gt;
After each exam you will receive some diagnostic feedback with the test score report indicating the areas that need further study.&lt;br /&gt;
&lt;br /&gt;
Failing one exam doesn't affect any other exams though. If you fail SQL you can still write Admin I any time you want for example.&lt;br /&gt;
&lt;br /&gt;
There is no discount price for re-taking an exam. The fee is the same as for the initial exam.&lt;br /&gt;
&lt;br /&gt;
==Where can one get sample questions for the Oracle exams?==&lt;br /&gt;
One can buy test questions from companies like Self Test Software, Transcender and TestKing. However, even if you're not going to buy any, it is still handy to download them as they normally include some free &amp;quot;sample&amp;quot; questions:&lt;br /&gt;
&lt;br /&gt;
* [http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=208 Oracle Certification Program - Practice Tests]&lt;br /&gt;
&lt;br /&gt;
* Buy practice tests from [http://www.selftestsoftware.com/certprep-materials/oracle.kap Self Test Software]&lt;br /&gt;
* Buy practice tests from [http://www.transcender.com Transcender]&lt;br /&gt;
* Buy practice tests from [http://www.ucertify.com/vendors/Oracle.html uCertify] ('''note''': large number of errors and poor question quality e.g. http://witte-consulting.com/blog/ucertify-review/ )&lt;br /&gt;
* Buy practice exams from [http://www.examsexpert.com/oracle-certifications.html ExamsExpert]&lt;br /&gt;
* Buy practice tests from [http://enthuware.com Enthuware]&lt;br /&gt;
* Buy practice tests from [http://www.epractizelabs.com/ EPractize Labs]&lt;br /&gt;
&lt;br /&gt;
'''Note''': ''You can check if a test provider is legal on the following web address:'' http://www.certguard.com/search.asp&lt;br /&gt;
&lt;br /&gt;
'''Books''':&lt;br /&gt;
* A sample test is provided as part of the book ''Advanced ORACLE Tuning &amp;amp; Administration'' chapter 15. The book is published by Oracle Press (ISBN 0-07-882241-6). Authors: Aronoff, Loney, and Sonawalla.&lt;br /&gt;
* Get the book: [http://www.orafaq.com/books/certification Oracle DBA Exam Cram: Proven Techniques to Pass the Oracle Certified Professional Exam] by Michael R. Ault (ISBN: 1576102629)&lt;br /&gt;
&lt;br /&gt;
[[Category: Frequently Asked Questions]]&lt;br /&gt;
[[Category: Career management]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Main_Page"/>
				<updated>2012-09-29T13:14:48Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by Frank Naude (talk) to last revision by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|This is a collaborative website. Please make constructive edits anywhere you see fit. Visit the [[Help:Contents]] and [[Help:Formatting cheatsheet]] sections for information on how to '''login''', '''edit pages''', '''add new pages''', etc.}}&lt;br /&gt;
&lt;br /&gt;
{| width=100% cellpadding=5 cellspacing=5 style=&amp;quot;margin: 10px 0px 0px 0px; text-align: justify&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:1px solid #cedff2;&amp;quot; width=80% bgcolor=#FFFFFF valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&amp;lt;!----Main page section----&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oracle: the Company ==&lt;br /&gt;
Information about Oracle Corporation:&lt;br /&gt;
{| &lt;br /&gt;
| style=&amp;quot;padding-left:1em;&amp;quot; |&lt;br /&gt;
* [[Oracle Corporation|Company overview]]&lt;br /&gt;
* [[Oracle Product Set|Products]]&lt;br /&gt;
| style=&amp;quot;padding-left:3em;&amp;quot; |&lt;br /&gt;
* [[Oracle Support|Support]]&lt;br /&gt;
* [[Oracle Services|Services]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Managing an Oracle Site ==&lt;br /&gt;
Information for managers and team leaders on how to successfully manage an Oracle site:&lt;br /&gt;
* [[Oracle licensing]]&lt;br /&gt;
* [[Soft Issues - Managing Oracle Staff]]&lt;br /&gt;
* [[Roles and Responsibilities]]&lt;br /&gt;
* [[Securing the Environment]]&lt;br /&gt;
* Engaging [[Oracle Support]]&lt;br /&gt;
* [[Database Production Acceptance]]&lt;br /&gt;
* Tender questions for [[Application Tender Specs|Application Vendors]]&lt;br /&gt;
&lt;br /&gt;
== Career Management ==&lt;br /&gt;
Information for Oracle professionals on how to successfully manage their careers. &lt;br /&gt;
* [[Getting a job]]&lt;br /&gt;
* [[Interview Questions]]&lt;br /&gt;
* [[Oracle Training]]&lt;br /&gt;
* [[Oracle Certification Program]]&lt;br /&gt;
* [[:Category:Oracle personalities|List of well known Oracle Personalities]]&lt;br /&gt;
&lt;br /&gt;
== Technical articles, tips and tricks ==&lt;br /&gt;
Technical product information:&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [[SQL]], [[PL/SQL]] and [[SQL*Plus]]&lt;br /&gt;
* Database versions: [[Oracle 9i|9i]], [[Oracle 10g|10g]], [[Oracle 11g|11g]]&lt;br /&gt;
* [[Compatibility matrices and differences between editions]]&lt;br /&gt;
* [[Database Concepts and Architecture]]&lt;br /&gt;
* [[Database Administration]]&lt;br /&gt;
* [[Backup and Recovery]]&lt;br /&gt;
* [[Performance Tuning]]&lt;br /&gt;
* [[Replication]]&lt;br /&gt;
* [[Data Guard]]&lt;br /&gt;
* [[Install Guides]]&lt;br /&gt;
&lt;br /&gt;
==== Development ====&lt;br /&gt;
* [[Oracle Developer Suite]], including [[Forms]], [[Reports]], [[Discoverer]], etc.&lt;br /&gt;
* [[Precompilers]] like [[Pro*C]] and [[Pro*Cobol]]&lt;br /&gt;
* [[Java]], including [[SQLJ]], [[JDBC]], [[SQLJ]], etc.&lt;br /&gt;
* [[PHP]], [[Perl]], [[Python]], [[Tcl]], [[Ruby on Rails]], etc.&lt;br /&gt;
* [[Delphi]], [[Delphi|C++ Builder]], [[Delphi|Lazarus]]&lt;br /&gt;
* [[Sample Code]]&lt;br /&gt;
&lt;br /&gt;
==== Fusion Middleware (Application Server) ====&lt;br /&gt;
* [[Oracle Application Server]]&lt;br /&gt;
* [[Fusion Middleware]]&lt;br /&gt;
* [[Forms Server]], [[Reports Server]]&lt;br /&gt;
* [[Enterprise Content Management]], [[TopLink]], [[Secure Enterprise Search]]&lt;br /&gt;
&lt;br /&gt;
==== Fusion Applications (E-Business Suite) ====&lt;br /&gt;
* [[E-Business Suite]]&lt;br /&gt;
* [[Oracle Fusion]]&lt;br /&gt;
* [[BRM]]&lt;br /&gt;
&lt;br /&gt;
== Community resources ==&lt;br /&gt;
Oracle links to popular web sites. Choose from the following categories:&lt;br /&gt;
{| &lt;br /&gt;
| style=&amp;quot;padding-left:1em;&amp;quot; |&lt;br /&gt;
* [[Blogs]]&lt;br /&gt;
* [[Blog aggregators]]&lt;br /&gt;
* [[Forums]]&lt;br /&gt;
* [[Mailing lists]]&lt;br /&gt;
* [[Usenet]]&lt;br /&gt;
* [[:Category:User groups|User groups/ SIGs]]&lt;br /&gt;
* [[Papers|White papers]]&lt;br /&gt;
| style=&amp;quot;padding-left:3em;&amp;quot; |&lt;br /&gt;
* [[Wikis]]&lt;br /&gt;
* [[Documentation]]&lt;br /&gt;
* [[Books]]&lt;br /&gt;
* [[FAQs]]&lt;br /&gt;
* [[Tools]]&lt;br /&gt;
* [[IRC]] (Internet relay chat)&lt;br /&gt;
* [[Scripts|Scripts and code examples]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1px solid #cedff2;&amp;quot; bgcolor=#FFFFFF width=20% |&lt;br /&gt;
&amp;lt;!----Right hand bar----&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|Featured}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:100%; text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Oracle Exadata]]&lt;br /&gt;
* [[Scripts|Scripts &amp;amp; Code depot]]&lt;br /&gt;
* [[Papers|White papers]]&lt;br /&gt;
* [[:Category:Frequently Asked Questions|Oracle FAQ's]]&lt;br /&gt;
* [[User groups]]&lt;br /&gt;
* [[Youtube]]&lt;br /&gt;
* [[Twitter]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|[[Events]]}}&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;tt&amp;gt;&lt;br /&gt;
[[2009]], [[2008]], [[2007]],&lt;br /&gt;
[[2006]], [[2005]], [[2004]],&lt;br /&gt;
[[2003]], [[2002]], [[2001]],&lt;br /&gt;
[[2000]], [[1999]], [[1998]].&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;/center&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|[[:Category:Glossary|Glossary]]}}&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;tt&amp;gt;&lt;br /&gt;
[[:Category:A|A]] [[:Category:B|B]] [[:Category:C|C]] [[:Category:D|D]] [[:Category:E|E]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[:Category:F|F]] [[:Category:G|G]] [[:Category:H|H]] [[:Category:I|I]] [[:Category:J|J]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[:Category:K|K]] [[:Category:L|L]] [[:Category:M|M]] [[:Category:N|N]] [[:Category:O|O]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[:Category:P|P]] [[:Category:Q|Q]] [[:Category:R|R]] [[:Category:S|S]] [[:Category:T|T]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[:Category:U|U]] [[:Category:V|V]] [[:Category:W|W]] [[:Category:X|X]] [[:Category:Y|Y]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[:Category:Z|Z]] [[:Category:9|#]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;/center&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|[[Oracle database|DB Versions]]}}&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;tt&amp;gt;&lt;br /&gt;
* [[Oracle 11g]]&lt;br /&gt;
* [[Oracle 10g]]&lt;br /&gt;
* [[Oracle 9i]]&lt;br /&gt;
* [[Oracle 8i]]&lt;br /&gt;
* [[Oracle 8]]&lt;br /&gt;
* [[Oracle 7]]&lt;br /&gt;
* [[Oracle 6]]&lt;br /&gt;
* [[Oracle 5]]&lt;br /&gt;
* [[Oracle 4]]&lt;br /&gt;
* [[Oracle 3]]&lt;br /&gt;
* [[Oracle 2]]&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;/center&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|[[:Category:Site maintenance|Contributors]]}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:80%; text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
Your help is needed here:&lt;br /&gt;
* [[:Category:Pages_needing_cleanup|Cleanup pages]]&lt;br /&gt;
* [[:Category:Work in progress|Work in progress]]&lt;br /&gt;
* Request a [[Special:Random|random]] article, hit ''edit'', and try to improve it&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|Statistics}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:80%; text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
* This WIKI has [[Special:AllPages|{{NUMBEROFARTICLES}} articles]].&lt;br /&gt;
* [[Special:Imagelist|{{NUMBEROFFILES}} files]] were uploaded.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Top level]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ __NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Main_Page"/>
				<updated>2012-09-29T13:14:40Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|This is a collaborative website. Please make constructive edits anywhere you see fit. Visit the [[Help:Contents]] and [[Help:Formatting cheatsheet]] sections for information on how to '''login''', '''edit pages''', '''add new pages''', etc.}}&lt;br /&gt;
test&lt;br /&gt;
{| width=100% cellpadding=5 cellspacing=5 style=&amp;quot;margin: 10px 0px 0px 0px; text-align: justify&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:1px solid #cedff2;&amp;quot; width=80% bgcolor=#FFFFFF valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&amp;lt;!----Main page section----&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oracle: the Company ==&lt;br /&gt;
Information about Oracle Corporation:&lt;br /&gt;
{| &lt;br /&gt;
| style=&amp;quot;padding-left:1em;&amp;quot; |&lt;br /&gt;
* [[Oracle Corporation|Company overview]]&lt;br /&gt;
* [[Oracle Product Set|Products]]&lt;br /&gt;
| style=&amp;quot;padding-left:3em;&amp;quot; |&lt;br /&gt;
* [[Oracle Support|Support]]&lt;br /&gt;
* [[Oracle Services|Services]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Managing an Oracle Site ==&lt;br /&gt;
Information for managers and team leaders on how to successfully manage an Oracle site:&lt;br /&gt;
* [[Oracle licensing]]&lt;br /&gt;
* [[Soft Issues - Managing Oracle Staff]]&lt;br /&gt;
* [[Roles and Responsibilities]]&lt;br /&gt;
* [[Securing the Environment]]&lt;br /&gt;
* Engaging [[Oracle Support]]&lt;br /&gt;
* [[Database Production Acceptance]]&lt;br /&gt;
* Tender questions for [[Application Tender Specs|Application Vendors]]&lt;br /&gt;
&lt;br /&gt;
== Career Management ==&lt;br /&gt;
Information for Oracle professionals on how to successfully manage their careers. &lt;br /&gt;
* [[Getting a job]]&lt;br /&gt;
* [[Interview Questions]]&lt;br /&gt;
* [[Oracle Training]]&lt;br /&gt;
* [[Oracle Certification Program]]&lt;br /&gt;
* [[:Category:Oracle personalities|List of well known Oracle Personalities]]&lt;br /&gt;
&lt;br /&gt;
== Technical articles, tips and tricks ==&lt;br /&gt;
Technical product information:&lt;br /&gt;
&lt;br /&gt;
==== Database ====&lt;br /&gt;
* [[SQL]], [[PL/SQL]] and [[SQL*Plus]]&lt;br /&gt;
* Database versions: [[Oracle 9i|9i]], [[Oracle 10g|10g]], [[Oracle 11g|11g]]&lt;br /&gt;
* [[Compatibility matrices and differences between editions]]&lt;br /&gt;
* [[Database Concepts and Architecture]]&lt;br /&gt;
* [[Database Administration]]&lt;br /&gt;
* [[Backup and Recovery]]&lt;br /&gt;
* [[Performance Tuning]]&lt;br /&gt;
* [[Replication]]&lt;br /&gt;
* [[Data Guard]]&lt;br /&gt;
* [[Install Guides]]&lt;br /&gt;
&lt;br /&gt;
==== Development ====&lt;br /&gt;
* [[Oracle Developer Suite]], including [[Forms]], [[Reports]], [[Discoverer]], etc.&lt;br /&gt;
* [[Precompilers]] like [[Pro*C]] and [[Pro*Cobol]]&lt;br /&gt;
* [[Java]], including [[SQLJ]], [[JDBC]], [[SQLJ]], etc.&lt;br /&gt;
* [[PHP]], [[Perl]], [[Python]], [[Tcl]], [[Ruby on Rails]], etc.&lt;br /&gt;
* [[Delphi]], [[Delphi|C++ Builder]], [[Delphi|Lazarus]]&lt;br /&gt;
* [[Sample Code]]&lt;br /&gt;
&lt;br /&gt;
==== Fusion Middleware (Application Server) ====&lt;br /&gt;
* [[Oracle Application Server]]&lt;br /&gt;
* [[Fusion Middleware]]&lt;br /&gt;
* [[Forms Server]], [[Reports Server]]&lt;br /&gt;
* [[Enterprise Content Management]], [[TopLink]], [[Secure Enterprise Search]]&lt;br /&gt;
&lt;br /&gt;
==== Fusion Applications (E-Business Suite) ====&lt;br /&gt;
* [[E-Business Suite]]&lt;br /&gt;
* [[Oracle Fusion]]&lt;br /&gt;
* [[BRM]]&lt;br /&gt;
&lt;br /&gt;
== Community resources ==&lt;br /&gt;
Oracle links to popular web sites. Choose from the following categories:&lt;br /&gt;
{| &lt;br /&gt;
| style=&amp;quot;padding-left:1em;&amp;quot; |&lt;br /&gt;
* [[Blogs]]&lt;br /&gt;
* [[Blog aggregators]]&lt;br /&gt;
* [[Forums]]&lt;br /&gt;
* [[Mailing lists]]&lt;br /&gt;
* [[Usenet]]&lt;br /&gt;
* [[:Category:User groups|User groups/ SIGs]]&lt;br /&gt;
* [[Papers|White papers]]&lt;br /&gt;
| style=&amp;quot;padding-left:3em;&amp;quot; |&lt;br /&gt;
* [[Wikis]]&lt;br /&gt;
* [[Documentation]]&lt;br /&gt;
* [[Books]]&lt;br /&gt;
* [[FAQs]]&lt;br /&gt;
* [[Tools]]&lt;br /&gt;
* [[IRC]] (Internet relay chat)&lt;br /&gt;
* [[Scripts|Scripts and code examples]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1px solid #cedff2;&amp;quot; bgcolor=#FFFFFF width=20% |&lt;br /&gt;
&amp;lt;!----Right hand bar----&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|Featured}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:100%; text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Oracle Exadata]]&lt;br /&gt;
* [[Scripts|Scripts &amp;amp; Code depot]]&lt;br /&gt;
* [[Papers|White papers]]&lt;br /&gt;
* [[:Category:Frequently Asked Questions|Oracle FAQ's]]&lt;br /&gt;
* [[User groups]]&lt;br /&gt;
* [[Youtube]]&lt;br /&gt;
* [[Twitter]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|[[Events]]}}&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;tt&amp;gt;&lt;br /&gt;
[[2009]], [[2008]], [[2007]],&lt;br /&gt;
[[2006]], [[2005]], [[2004]],&lt;br /&gt;
[[2003]], [[2002]], [[2001]],&lt;br /&gt;
[[2000]], [[1999]], [[1998]].&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;/center&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|[[:Category:Glossary|Glossary]]}}&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;tt&amp;gt;&lt;br /&gt;
[[:Category:A|A]] [[:Category:B|B]] [[:Category:C|C]] [[:Category:D|D]] [[:Category:E|E]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[:Category:F|F]] [[:Category:G|G]] [[:Category:H|H]] [[:Category:I|I]] [[:Category:J|J]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[:Category:K|K]] [[:Category:L|L]] [[:Category:M|M]] [[:Category:N|N]] [[:Category:O|O]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[:Category:P|P]] [[:Category:Q|Q]] [[:Category:R|R]] [[:Category:S|S]] [[:Category:T|T]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[:Category:U|U]] [[:Category:V|V]] [[:Category:W|W]] [[:Category:X|X]] [[:Category:Y|Y]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[:Category:Z|Z]] [[:Category:9|#]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;/center&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|[[Oracle database|DB Versions]]}}&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;tt&amp;gt;&lt;br /&gt;
* [[Oracle 11g]]&lt;br /&gt;
* [[Oracle 10g]]&lt;br /&gt;
* [[Oracle 9i]]&lt;br /&gt;
* [[Oracle 8i]]&lt;br /&gt;
* [[Oracle 8]]&lt;br /&gt;
* [[Oracle 7]]&lt;br /&gt;
* [[Oracle 6]]&lt;br /&gt;
* [[Oracle 5]]&lt;br /&gt;
* [[Oracle 4]]&lt;br /&gt;
* [[Oracle 3]]&lt;br /&gt;
* [[Oracle 2]]&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;/center&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|[[:Category:Site maintenance|Contributors]]}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:80%; text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
Your help is needed here:&lt;br /&gt;
* [[:Category:Pages_needing_cleanup|Cleanup pages]]&lt;br /&gt;
* [[:Category:Work in progress|Work in progress]]&lt;br /&gt;
* Request a [[Special:Random|random]] article, hit ''edit'', and try to improve it&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar|Statistics}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:80%; text-align:left;&amp;quot;&amp;gt;&lt;br /&gt;
* This WIKI has [[Special:AllPages|{{NUMBEROFARTICLES}} articles]].&lt;br /&gt;
* [[Special:Imagelist|{{NUMBEROFFILES}} files]] were uploaded.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Top level]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ __NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Microsoft</id>
		<title>Microsoft</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Microsoft"/>
				<updated>2012-07-10T06:26:11Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by Vicentederek (talk) to last revision by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Microsoft Corporation''' is a software company, based in the USA, that develops the [[Windows]] operating system and [[SQL Server]] database management system.&lt;br /&gt;
&lt;br /&gt;
==Also see==&lt;br /&gt;
* [[Windows]] - Microsoft's operating system&lt;br /&gt;
* [[SQL Server]] - Microsoft's database&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://www.microsoft.com Microsoft's home page]&lt;br /&gt;
&lt;br /&gt;
{{Glossary}}&lt;br /&gt;
[[Category:Companies]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Hora_Product_Review</id>
		<title>Hora Product Review</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Hora_Product_Review"/>
				<updated>2012-06-26T06:06:29Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by Louie11 (talk) to last revision by Frank Naude&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}[[Image:Keeptool logo.gif|left|KeepTool's Logo]]&lt;br /&gt;
&lt;br /&gt;
OraFAQ had me review '''KeepTool''''s 5.1 suite back in early 2002: It was good then, but is even better now at 7.2. The primary product is '''Hora''', used for browsing, coding, reporting, monitoring, maintaining, and tuning the database. Separately licensable are the ''ER Diagrammer'' and ''PL/SQL Debugger''. Hora also includes some nice extras that allow you to code (in various languages) while disconnected from the database, generate HTML documentation for your schema, and reverse engineer DDL for selected objects or entire schemas. &lt;br /&gt;
&lt;br /&gt;
KeepTool’s engineering team seems deeply familiar with the tasks required of Oracle experts and novices alike. Their products demonstrate they kept both sides of the experience spectrum in mind. Hora, in particular, is thoughtfully designed. Although it sports almost every feature you need, it manages to remain visually simple to use and navigate, dynamically altering the interface with new toolbars, menus and context-sensitive options where appropriate. &lt;br /&gt;
&lt;br /&gt;
Hora should be on your short list of tools to consider. It fulfills the needs of DBAs, developers, data operators, report writers, and power browsers, all at a compelling price point.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
Hora, short for Handy Oracle tool, was born in 1996 when three programmers from the German software firm PSI AG decided to wrap all their SQL scripts in a Delphi user interface. It quickly developed a loyal following and they formed KeepTool GbR in 1997, later reformed as KeepTool GmbH in 2000. KeepTool releases a major revision of Hora annually, with significant additions in each, often beating competitors as the first to support new Oracle features. 2006 was no exception when version 7 was released, with even more powerful components, and wizards and interfaces for 10g. Version 7.2 achieved a major functional milestone, nearing the heady space currently occupied by TOAD Professional. &lt;br /&gt;
&lt;br /&gt;
==Supported Operating Systems and DB Versions==&lt;br /&gt;
Desktop OS: The suite is supported on all 32-bit Windows operating systems.&lt;br /&gt;
&lt;br /&gt;
Connectivity: The suite supports Oracle SQL*Net v2 and higher, as well as 10g Instant Client and direct TCP/IP connections.&lt;br /&gt;
&lt;br /&gt;
Database: The suite supports Oracle Database server 7.2 and higher, including 10g and XE. My evaluations were done on 9.2.0.6, 10.2.0.1 and XE.&lt;br /&gt;
 &lt;br /&gt;
==Installation==&lt;br /&gt;
The products can be licensed and installed as stand-alone desktop clients, or in a “floating license” mode, where N clients can access the product concurrently, maximizing value for those shops where developers work in shifts, or don’t need Hora open all day. There is also the unique option of a disconnected floating license, where a consultant or telecommuter can continue using the suite for up to 30 days disconnected from the network license. &lt;br /&gt;
&lt;br /&gt;
New releases are small and easily downloaded from the web or via FTP. Download size, installed size and RAM requirements are all kept to a minimum, which is a pleasant surprise compared to today’s bloatware. &lt;br /&gt;
&lt;br /&gt;
Installations are simple and straightforward. Stick with the defaults and use the Typical (full) install. Old releases must be uninstalled before new releases, but old settings seem to be retained. &lt;br /&gt;
&lt;br /&gt;
==Who should use it?==&lt;br /&gt;
There are tools that focus on the Oracle DBA. There are those that cater primarily to PL/SQL developers. Finally, there are many tools aimed at the casual user (front-end programmers, data analysts, report writers and management who infrequently query tables and view stored objects). Hora was designed to meet the needs of all three types of users. The only other tools that accomplish a similar feat are TOAD and SQLdetective. &lt;br /&gt;
&lt;br /&gt;
If you are mainly shopping on behalf of the casual user, KeepTool also provides HoraLight, a slimmed-down €99 version of Hora that offers all its power for importing, exporting, browsing, querying, reporting and editing code. &lt;br /&gt;
&lt;br /&gt;
In short, Hora can be used by all of your knowledge workers who must interact with Oracle in any way. If you have been using inferior products but now need something enterprise-class on a budget, or are fed up with the expensive licensing and support from CA, Quest and Embarcadero, then Hora may be the perfect choice or replacement. &lt;br /&gt;
&lt;br /&gt;
==What does it do?==&lt;br /&gt;
Considering the features offered by competitors? Nearly everything. Seriously. &lt;br /&gt;
&lt;br /&gt;
See the detailed review below for brief accounts of the compelling features. If you find a feature it does not have, suggest it to [mailto:support@keeptool.com support]. Their engineering team listens well and is often able to respond to requests by the next release.&lt;br /&gt;
&lt;br /&gt;
==What problems does it solve?==&lt;br /&gt;
Oracle is a complex piece of software. With a mind-boggling array of objects, features, and syntax to support, display and manage, many tools quickly become overburdened and visually confusing. Hora keeps its head above water and presents all that information in a concise and logical manner. Other than a few special screens, the entire application is one giant, hierarchical database browser. This make it very easy to find anything you need. One of KeepTool’s goals was to make Hora intuitive and useful “out of the box” in the hands of everyone from data entry operators to master DBAs. They accomplish this admirably by presenting basic information up front, and keeping more advanced features just one click away, be it an icon, menu item, right-click or tab. &lt;br /&gt;
&lt;br /&gt;
Many tools have a weak to mediocre visual component for displaying the data in Oracle objects. Hora’s data grids are extremely powerful, providing advanced features like filtering, sorting, grouping, visual rearranging, master-detail browsing, simple exporting to many popular formats, and much more. But it uses these data grids throughout the product, not just when operating on tables and views. &lt;br /&gt;
&lt;br /&gt;
Finally, the ER Diagrammer plugs a hole in the market, which, until recently, was addressed by no other competitor: that is, provide a simple, fast and affordable physical modeling tool. Up until recently you had to pick from really awful freeware/garageware diagrammers that weren’t even worth your time to download, or $3,000-$5,000 full-blown modelers like ERWin and ERStudio. The market just did not offer a sub-$1000 modeling tool that covered all the nuances of Oracle. KeepTool’s ER Diagrammer does a fine job filling that hole, and does so for less than €250. &lt;br /&gt;
&lt;br /&gt;
==Detailed Review==&lt;br /&gt;
The KeepTool family is composed of three main products: Hora, ER Diagrammer and PL/SQL Debugger. Hora also comes with three small applications, HTML Documentation Generator, Reverse DDL Engineer and SQL Editor. As mentioned by both previous KeepTool reviews, attempting to cover the deep functionality in Hora would require its own book. Observe. Here is a list of the top-level pages available from the Outlook-style sidebar, and their first-level subtabs: &lt;br /&gt;
&lt;br /&gt;
===Windows and Tabs===&lt;br /&gt;
{| border=1&lt;br /&gt;
|- bgcolor=&amp;quot;lightgrey&amp;quot; &lt;br /&gt;
! Standard !! Additional !! DBA&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
SQL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SQL Editor&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SQL Scratchpad&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;File Explorer&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tables/Views&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Columns&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Constraints&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Indexes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Triggers&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Master/Detail Graph&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Dependencies&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Content&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Access&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data Browser&lt;br /&gt;
&lt;br /&gt;
Sequences&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Dependencies&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PL/SQL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Source Code&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Call Interface&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Dependencies&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Package&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Package Body&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Procedure&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Function&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Trigger&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jobs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Refresh Groups&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scheduler&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Jobs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Programs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Schedules&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Job Classes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Windows&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Window Groups&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Global Attributes&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pipes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Db Links&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Snapshots&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Transactions&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Local db settings&lt;br /&gt;
&lt;br /&gt;
Materialized Views&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Query&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Detail Relations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Joins&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Keys&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Aggregates&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Granted Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;MV Init Parameters&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MView Logs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Registered Snapshots&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
Tablespaces&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Datafiles/Free Space&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Segments/Extents&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Quota&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Clusters&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Sort Segments/Usage&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Fragmentation&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Roles/Privileges/Cons. Grps&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Tablespace Quota&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Objects&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Tablespace Usage&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Schema Triggers&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SQL Area&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Consumer Groups&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sessions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Locks&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Lock Wait Graphs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Access&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Latches&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Open Cursors&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Wait Events&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Transactions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Long Operations&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Database&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Database&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Version&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Installed Options&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;License Info&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Resource Costs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Other Attributes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Instance&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Rollback Segments&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;NLS Parameters&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Initialization Parameters&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Control Files&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Roles&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Profiles&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Resource Limits&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Database Triggers&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Datafiles&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SGA &amp;amp; Statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SGA Statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Instance SGA Info&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Memory Usage&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;SGA Init Parameters&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Library Cache&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Row Cache&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Buffer Cache&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SQL Area&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;System Events&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Wait Statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;System Statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redo Logs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Redo Threads&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Redo Init Parameters&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Redo Log Groups&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Redo Log Changes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Archived Logs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Log Miner&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Flashback DB&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audited Objects&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audited Statements&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audited Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Default Audit Options&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Performance&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Memory Allocations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Rollback Seg. Contention&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Redo Log Latches&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Others&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Table Scans/Execution&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Datafile writes/reads&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Real Time Graphs:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Memory Allocation&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Disk I/O&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Recursive Calls&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Rollback Segments&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Redo Log Latches&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Redo Log Space Requests&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Sorts Disk Usage&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Free Memory Lists&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Table Scans&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dictionary&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Columns&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Data Contents&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resource Manager&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Resource Plans&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Consumer Groups&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
Schema&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Policies&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Invalid Objects&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;PL/SQL Errors&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Disabled Constraints&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Disabled Triggers&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Schema Triggers&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Recycle Bin&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Java Class Details&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Source&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Dependencies&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Types&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Collection Type&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Object Type&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Object Type Body&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Incomplete Type&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Source&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Attributes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Methods&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Operators&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Bindings&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Index Types&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Operators used by Indextype&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dimensions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Levels&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Hierarchies&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outlines&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SQL Text&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Directories&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XML&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;XSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;XML Tables&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;XML Views&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Luckily, coverage of so much functionality already exists as found in the user guide, tutorials and videos (videos come with the boxed set). &lt;br /&gt;
&lt;br /&gt;
After finishing this review, [url=http://www.keeptool.com/en/download.php]download[/url] the 30-day trial and give it a spin. Read the user guide, the help docs, and the website newsletters. Since there is no server-side install required (except a special role if you need sensitive DBA features), you shouldn’t need special approval to run the trial on your desktop. &lt;br /&gt;
&lt;br /&gt;
This section will focus on a sample of the most thoughtful features found in Hora, as well as a brief synopsis of the remaining five tools.&lt;br /&gt;
&lt;br /&gt;
===Connections===&lt;br /&gt;
[[Image:KeepTool Connections.gif|thumb|center|700px|Common KeepTool Connection Dialog]]&lt;br /&gt;
&lt;br /&gt;
As of v7.2, KeepTool products finally have the option of saving encrypted passwords. Plus they’ve extended the power of their data grid, so your scores of connections can be viewed by last connection time, server, user, etc. Of course, the usual options are there, as well as the ability to assign a color scheme to sensitive connections, or a customized logo image, or a short comment that is saved to help you remember details about particular environments.&lt;br /&gt;
&lt;br /&gt;
===Hora and SQL Editor===&lt;br /&gt;
Despite such a dizzying array of wizards and interfaces, Hora seems simple at first glance. After starting it and connecting, you will notice your connection information, database version and session identifiers in the title bar. Going top to bottom, you will next see the main menu, the dynamic toolbar, the tabbed window list, and then the Outlook style sidebar. The window area is to the right of the sidebar. Your cursor will be waiting for your first SQL statement in the SQL Scratchpad window’s editor (more on that later). All of these items (except the main menu) are optional, resizable, and hideable. In the bottom left is a little schema picklist. Change the schema there, and the contents of the active window change accordingly. Assuming your connection has the right privileges, this allows one to quickly jump back and forth between schemas. &lt;br /&gt;
&lt;br /&gt;
After you determine which windows you will use the most, customize the Favorites sidebar, adding your choices to the list. Further, when familiar enough with the sidebar’s icons, you can minimize the sidebar to only show the icons, saving screen real estate. &lt;br /&gt;
&lt;br /&gt;
Before we dive into some of the more nifty windows, one final note on three features under the Extras main menu item, features that prevail across Hora: SQL Preview, SQL Recording and Auto Refresh. These are three independent options that you can set. SQL Preview shows you the SQL that the user interface was about to send to Oracle on your behalf. This is a welcome relief to expert DBAs and developers who know exactly what they want, and are used to doing things by hand. This gives them the option of intercepting the generated SQL statements, and reviewing or modifying them before being run on the database. SQL Recording logs every successful SQL statement run by Hora. This opens up many possibilities, including that of using the recorded statements to capture a script that you can then apply on separate Oracle environments. With Auto Refresh on, the active object window or results pane will be periodically refreshed, handy when watching the contents of a table being accessed concurrently by end users, or monitoring sessions, the SQL area, or transactions.&lt;br /&gt;
&lt;br /&gt;
===SQL Scratchpad===&lt;br /&gt;
[[Image:KeepTool Scratchpad.jpg|thumb|center|460px|Hora SQL Scratchpad]]&lt;br /&gt;
&lt;br /&gt;
This is generally the first window you will see. SQL Scratchpad and File Explorer navigation trees are on the left, blank SQL editing area in the middle, and a code navigation pane on the right. It works as you’d expect. You write SQL statements in Scratchpad’s editing area. You run them individually or as a script. Substitution and bind variables are supported. Results are shown in a powerful data grid that appears in a new window. When you close Hora, or move to other windows within it, these statements are automatically saved for you. If you run them frequently, you might save them with a name. Over time, you might create and organize a few more folders, called “roots”, under the Scratchpad tree, storing your named statements in them. These folders and statements can be placed on a network drive, so common statements can be shared across a team. If you are one of the data analysts or report writers, that’s probably all you need to know about the window. But that is only scratching the surface. As mentioned before, this seeming simplicity is KeepTool’s strength. If you want to do more, the real fun begins… &lt;br /&gt;
&lt;br /&gt;
Select the File Explorer. This is a component that eliminates the need for you to jump out of Hora to go find a file related to your task. It is also the interface to whatever SCC-compliant tool you are using to version code. But don’t just stop at Oracle-related files. Go ahead and select other files that you use to implement your systems. Binary files are opened in their associated applications, and text files of all kinds are opened inside Hora, nicely highlighted, with a document structure or class/routine navigator pane to the right. It supports file types of SQL, PL/SQL, C, C++, C#, Java, Java Script, HTML, XML, Pascal, Visual Basic, Delphi resources, batch files, Perl, Fortran, PoxPro, Latex, Modula 2, PHP, Oberon and some others. Of course most of these languages would ordinarily be written and compiled in another IDE, but Hora’s editor lets you easily see and edit all these related files in one place. Code folding is another new feature that briefly collapses chunks of code to get a better view of the code’s layout. Folding is available for all file types that Hora recognizes. &lt;br /&gt;
&lt;br /&gt;
Key mappings are configurable. All display and formatting behavior is customizable per file type. Bookmarks, block indentation, column selection mode, and most of the usual editor options are there for efficient Oracle coding. To aid in remembering syntax and routine names, there is Code completion, Code snippets, and drag-n-drop items from the DB Object browser. SQL History and Code Templates are two features that aid in recalling and re-running personal statements and code. From this embedded SQL editor, you can compare files, jump to the visual query builder, run an explain plan for the selected statement (heavily improved for 7.2), start the profiler, describe the object under the cursor, and more. &lt;br /&gt;
&lt;br /&gt;
Then there is the new SyncEdit feature. When you select a block of code, a little double pencil icon appears in the left gutter. Clicking this icon establish a Syncronization range for your selection. If you then make a change, say adding a missing “(i)” array element subscript to a collection variable, the same change will be made to all the other occurrences of the same text within the sync range. &lt;br /&gt;
&lt;br /&gt;
If you need help with an Oracle error number or built-in, just select the word or phrase, right-click, and select Search | Oracle Help… This automatically searches the online Oracle documents and takes you to the search results page. &lt;br /&gt;
&lt;br /&gt;
This same editor component is used throughout Hora when viewing and editing anonymous blocks and stored objects, as well as in the standalone SQL Editor.&lt;br /&gt;
&lt;br /&gt;
===Data Grids===&lt;br /&gt;
[[Image:KeepTool Scratchpad.jpg|thumb|center|640px|Example of one of Hora's Data Grids]]&lt;br /&gt;
&lt;br /&gt;
The data grids within Hora use a new component introduced in v7. As before it defaults to Grid View, but you may place it in Record View if that’s easier on the eyes, or in Text View if you need a quick ASCII copy of the results. Change the ordering by clicking column headings. Rearrange the results by dragging and dropping column headings where you want them. Starting with v7, the grids resembles certain OLAP reporting tools and Excel. To see this, check the “in-memory mode” box. For the 401k mutual fund table shown above, I dragged TIER to the shaded bar above the results and the data was redisplayed, with funds now grouped by the distinct values in TIER. I dropped column Morningstar RATING next to TIER and a further subgrouping was applied within each tier. Click the arrow on any column heading, and you can filter the result set by the known unique values (like in Excel) or customize your filter using operators and wildcards. You can also right-click under any numerical column and apply a Sum, Min, Max, Count or Average calculation (see the bottom shaded bar in the image above). This comes in handy, for example, when I’m querying all the segments for a certain object and want to know how many total bytes are involved. &lt;br /&gt;
&lt;br /&gt;
From the data grid (and most Hora windows), you can take the data you are viewing, and print it, take a screenshot from within Hora (File | Hardcopy), dump the results to the SQL Recording log file, immediately copy it to Excel (the best I’ve seen), send it straight to a report that can be saved, printed, or exported to several formats, or send it to a sweet Fast Reports 3.0 designer window, where you can create reports worthy of executive decision makers. Finally, you can also export your data to one of eighteen formats, with each format kicking off an intelligent wizard that gives you high control over the output. The data importing is similarly well optioned, allowing you to import from thirteen different file formats.&lt;br /&gt;
&lt;br /&gt;
===Tables/Views===&lt;br /&gt;
[[Image:KeepTool tables.jpg|thumb|center|640px|Hora Tables/Views Window]]&lt;br /&gt;
&lt;br /&gt;
Tables/Views is such a useful window, it is a shame there isn’t the space to have a screenshot per tab. There are the common and obvious tabs for table columns, constraints, indexes, and partitions. But they aren’t mere regurgitation of what one finds in the data dictionary views. The information is intelligently grouped and labeled, so you can quickly find all the related attributes.&lt;br /&gt;
&lt;br /&gt;
[[Image:KeepTool expanding subviews.jpg|thumb|center|640px|Example of Expanding Subviews in Action]]&lt;br /&gt;
&lt;br /&gt;
For example, in the Columns tab, there is a little “+” icon next to each column that expands into a tabbed view that shows you all the constraints, indexes, histograms, and so forth that the column participates in. This is superb and saves you a lot of time from manually seeking that info from the data dictionary. &lt;br /&gt;
&lt;br /&gt;
As another example, on the Constraints tab, there is a little column labeled “Index support.” This is not found on USER_CONSTRAINTS for foreign keys. Here Hora has gone to the trouble of finding indexes related to foreign keys for you. &lt;br /&gt;
&lt;br /&gt;
There are also little object-specific features on almost every tab within Hora. Just right-click and poke around the dynamic icons on the toolbar and the header areas above the grids. For example, if you click inside the Contraints tab grid, you will see some really handy options, like creating an index on a non-indexed FK column, or seeing all the exceptions for a disabled or non-validated FK. &lt;br /&gt;
&lt;br /&gt;
Let’s take a look at few other high points. &lt;br /&gt;
&lt;br /&gt;
Partitions. I frequently need to see all my partition range endpoints at a glance. Hora translates and displays the antiquated LONG datatype HIGH_VALUE contents for every partition. Other tools place HIGH_VALUE behind an additional layer, which renders their partition interfaces useless to me. &lt;br /&gt;
&lt;br /&gt;
Access tab. It shows you who is currently tapping into that table, useful in environments with a highly concurrent user base. &lt;br /&gt;
&lt;br /&gt;
Master/Detail. It is a light entity-relationship browser that automatically diagrams related tables. Clicking on an entity switches you to that table.&lt;br /&gt;
&lt;br /&gt;
[[Image:KeepTool master detail.jpg|thumb|center|640px|Master/Detail Browser Tab]]&lt;br /&gt;
&lt;br /&gt;
Privileges. This tab even includes column-level privileges, which most tools ignore. &lt;br /&gt;
&lt;br /&gt;
Content. If the table is related to others, there will be tabs at the bottom of the data grid, which allows rapid navigation to related tables, based on selected rows in the parent. If two tables should be related, but aren’t, you can define that missing relationship using the “Other Table” subtab. Voila, virtual FK on your master-detail tables! Now you can analyze both in unison as if the FK existed.&lt;br /&gt;
&lt;br /&gt;
===PL/SQL===&lt;br /&gt;
[[Image:KeepTool plsql overview.jpg|thumb|center|640px|Hora PL/SQL Window, Overview Tab]]&lt;br /&gt;
&lt;br /&gt;
For developers, this and the SQL window will become their home. The Overview tab is further divided into PL/SQL object type tabs. Click one of the type tabs, like Package Body, click the item of interest, and then drill down into its source, privs, synonyms, dependencies or audit trail configuration. The Overview tab alone is worth a mention, being rich in information and actions allowed on PL/SQL objects (see the screenshot below). &lt;br /&gt;
&lt;br /&gt;
In the grid, you can see less-common attributes like how many times it’s been loaded, how big the code is, whether it is natively compiled, and even the new 10g compiler warnings. This is thorough coverage of what I like to know about my packages. &lt;br /&gt;
&lt;br /&gt;
The Source Code tab is another view of the same SQL editor component we observed earlier. Here you can open files from the file system or packages from the database, then edit, compile, compare code, run explain plans, etc. &lt;br /&gt;
&lt;br /&gt;
The Call Interface window generates anonymous PL/SQL blocks to speed up unit testing and debugging. Hora is still one of the best at generating anonymous blocks, especially when dealing with parameters of newer and user-defined datatypes, which most competitors implement poorly.&lt;br /&gt;
&lt;br /&gt;
===Dictionary===&lt;br /&gt;
[[Image:KeepTool dictionary.jpg|thumb|center|640px|Hora's Oracle Data Dictionary Window]]&lt;br /&gt;
&lt;br /&gt;
It is difficult finding and wading through Oracle’s official data dictionary documentation. When I do access it, I’m usually there only to discover what a certain column means. With 10g, there are so many views you need a tour guide to blaze a path through the forest of objects. Hora provides at least 3 mechanisms to help you here. First is the alphabetical bar attached to the left of the overview list in all windows. Clicking a letter jumps you to the first object that starts with that letter. Second, Hora cleverly groups the related views that start with the same prefix into expandable nodes. Third, if one of the nodes contains hundreds of objects, you can quickly get to your desired view by using Hora’s incremental search feature. You just click inside the column containing the object names and start typing the first few letters. As you type, Hora auto-scrolls through the rows below until you stop typing or it has found the item you were searching for. These features are useful for shops with hundreds or thousands of Oracle objects to manage.&lt;br /&gt;
&lt;br /&gt;
===Jobs and Scheduler===&lt;br /&gt;
The Jobs window is still top notch and is my tool of choice when administering jobs. Support for the new 10g Scheduler has been added with its own window.&lt;br /&gt;
&lt;br /&gt;
===Materialized Views===&lt;br /&gt;
As you can see from the subfolders listed above, they don’t merely display the known materialized views. They also provide seven more tabs where you can view and modify important settings and attributes relevant to materialized views. Even the Overview tab is worth studying. In addition to the usual refresh and status attributes, it also show the privileges and initialization parameters pertinent to materialized view creation and tuning. This demonstrates KeepTool’s dedication to “the trenches”, and what is needed by real DBAs to get their jobs done with minimal typing and headache.&lt;br /&gt;
&lt;br /&gt;
===Tablespaces===&lt;br /&gt;
[[Image:KeepTool tablespaces.jpg|thumb|center|640px|Hora Tablespaces Window, Overview Tab]]&lt;br /&gt;
&lt;br /&gt;
The Overview tab and its right-click menu are where most tools stop when offering a tablespace feature. Hora dives in further and provides six more tabs that drill down into the tablespaces to show you rich information on the data files that compose them, the individual segments within them, which blocks and files the segments can be found in, fragmentation, etc.&lt;br /&gt;
&lt;br /&gt;
===Sessions===&lt;br /&gt;
[[Image:KeepTool sessions.jpg|thumb|center|640px|Hora Sessions Window, Overview Tab]]&lt;br /&gt;
&lt;br /&gt;
This is another good example of KeepTool thoughtfulness. Other than a few additional features in relation to locks, transactions and long ops, they have pretty much the same features as other tools that provide a session manager. However, as you look at the Overview tab, for example, you once again notice how everything is logically grouped and organized. Vaguely named V$SESSION columns are given more understandable names. And instead of following the same generic presentation model in every grid, KeepTool tweaked this Overview grid such that the Session and Client Application column groups remain fixed, while the contents in between them scrolls horizontally. This is useful for keeping the “who” and “where” front and center while wading through all the session information.&lt;br /&gt;
&lt;br /&gt;
===SGA, Performance and Database===&lt;br /&gt;
[[Image:KeepTool sga.jpg|thumb|center|640px|Hora SGA Window, Overview Tab]]&lt;br /&gt;
&lt;br /&gt;
Each tab in each of these windows deserves its own little review, but the depth and breadth of coverage is simply overwhelming for the scope of this review. Check the options for each window and tab above for an idea as to what each is capable of. &lt;br /&gt;
&lt;br /&gt;
From graphically seeing where all your memory is currently at, to monitoring where all your I/O is going, to seeing exactly how each datafile is being used, to polling resource graphs, to formatting and grouping everything in the SQL area by areas of tuner interest, there are scores of useful features and interfaces in these windows to ease and simplify the job of the DBA.&lt;br /&gt;
&lt;br /&gt;
===Schema===&lt;br /&gt;
We need to clarify something here. There is both a Schema main menu item, as well as a Schema window (found under the Additional toolbar). They both contain powerful and updated features you will need right away. &lt;br /&gt;
&lt;br /&gt;
From the Schema main menu item, you can elect to gather or remove system or schema statistics using the newer DBMS_STATS method, or computer and estimate statistics using the old ANALYZE method. It also offers the global constraints and triggers windows, where you can enable or disable your constraints (filterable by constraint type) and enable, disable or compile your triggers. You can compile the whole schema, clear the whole schema, truncate all tables in the schema, create a large grant script, change your password, or create an Oracle export parameter file (very handy if you can’t remember the syntax and options from day to day). &lt;br /&gt;
&lt;br /&gt;
From the Schema window you can, among standard options, set FGA policies, compile all invalid PL/SQL objects in dependency order, work on schema triggers, or manage the entire Recycle Bin.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
[[Image:KeepTool xml.jpg|thumb|center|640px|Hora XML Window, XSD Tab]]&lt;br /&gt;
&lt;br /&gt;
Hora has one of the first interfaces I’ve seen into the new XMLDB portion of Oracle 10g. I’m not qualified to comment on its thoroughness, but it seems the handsome formatting, element browser and views could be quite useful for those that do use Oracle’s XML features.&lt;br /&gt;
&lt;br /&gt;
===PL/SQL Debugger===&lt;br /&gt;
The debugger has now been improved to where it rivals the power offered by the competition, including breakpoints that can be set dynamically, and display of variable value upon mouse hover. The only thing the debugger still lacks is conditional breakpoints. &lt;br /&gt;
&lt;br /&gt;
Since the code pane is essentially the SQL Editor component, the usual features are all still available within the debugger for any anonymous blocks or debugged code, including sending suspect code to an explain plan or the profiler. &lt;br /&gt;
&lt;br /&gt;
One nice touch is a feature that only one other competitor has, the ability to detect and display DBMS_OUTPUT as it is written by the program being debugged, instead of waiting for the program’s output at the end.&lt;br /&gt;
&lt;br /&gt;
===ER Diagrammer===&lt;br /&gt;
The ER Diagrammer has improved a great deal. The algorithm they use to read a schema and generate an IDEF1X-compliant, hierarchically arranged ERD is very fast. Even on a huge schema with almost 400 tables, it took less than 2 minutes. It is an intelligent little diagrammer too, attempting to shade related tables in the same color. A fast zoom is provided, as well as a little picklist in the lower left corner that is used to quickly find a given table in a large model. Hovering over a line shows the name of the foreign key, the names of the related tables and the relationship direction in a little tooltip. PK’s are clearly identified. Datatypes are indicated by little icons in the left gutter of each table. And a column’s participation in an alternate key is also indicated. You can create subsets to break up larger models into smaller, more manageable submodels. And you can keep these now independent models up to date by reconnecting and rereading objects from the schema. &lt;br /&gt;
&lt;br /&gt;
Diagrams can be copied to clipboard for inclusion in work deliverables, emails, etc. Or they can be saved as BMP or scalable EMF files, as well as printed and saved as a native DGR file (avoids having to rescan later). &lt;br /&gt;
&lt;br /&gt;
You can create models in this tool, then forward engineer DDL which can be run in SQL*Plus or Hora.&lt;br /&gt;
&lt;br /&gt;
===HTML Documentation Generator===&lt;br /&gt;
For a quick, simple deliverable in a portable format, this tool does the job. It produces a single HTML file that documents the tables/views and PL/SQL source code in a given schema, creating a hyperlinked table of contents at the top of each section. &lt;br /&gt;
&lt;br /&gt;
The Tables section includes each table’s comment and tablespace, columns and their specifications, constraints, indexes, triggers, child tables, and hyperlinks to any PL/SQL objects that reference the table. &lt;br /&gt;
&lt;br /&gt;
The PL/SQL section shows each object’s source code, as well as hyperlinks to the PL/SQL objects it calls, and the PL/SQL objects that call it.&lt;br /&gt;
&lt;br /&gt;
===Reverse DDL Engineer===&lt;br /&gt;
As the name implies, with this you reverse engineer the DDL from existing schemas. After connecting, you pick the objects for which you’d like DDL, pick a file destination and Generate. It’s fast, accurate and produces well-ordered, handsome DDL. This is useful for cloning development environments across database server environments, comparing DDL for supposedly similar schemas, etc. The first tab presented after you connect is the Schema tab. The tab offers some control over important items like whether sequences start over or retain their existing setting, whether the storage clause is added for tables and indexes, whether roles and privs are ignored, whether to spool output or compile the schema at the end, etc. &lt;br /&gt;
&lt;br /&gt;
It even handles composite partitioned table DDL well and accurately, something a few highly rated competitors do badly or take too long to parse.&lt;br /&gt;
&lt;br /&gt;
==Shortcomings==&lt;br /&gt;
* In my opinion, if the debugger option is purchased, it should be an enabled window inside Hora, not a standalone application.&lt;br /&gt;
* Given the state of competing tools, the Profiler and HTML Documentation Generator could use refinement.&lt;br /&gt;
* The SQL Editor component still does not permit you to work on more than one open file at a time.&lt;br /&gt;
* If you customized anything in the anonymous block of the Call Interface tab, and then move focus to some other tab and return, when focus returns to Call Interface, your customizations will be gone. Save your customizations before leaving the tab.&lt;br /&gt;
* No SQL or PL/SQL beautifier/formatter. The lexer does a wonderful job recognizing, parsing and displaying the syntax and keywords of most file types, but the formatting that it applies is only virtual. It never touches the formatting of the actual file underneath.&lt;br /&gt;
* DB Browser is infinitely better than previous versions, but still has a few issues that will probably be fixed by 7.3.&lt;br /&gt;
* Like some competitors, it doesn’t handle ref cursors as parameters or return values, something we use a great deal here.&lt;br /&gt;
* For huge models with lots of data integrity constraints, ER Diagrammer tends to cross and hide the hundreds of relationship lines, making the model tricky to navigate, even with their hierarchical layout scheme. It is already a good value at just under €250, but if KeepTool were to introduce one of the other common layout styles, like orthogonal or tree, being careful to auto-bend lines around entities, that would be ideal.&lt;br /&gt;
* Finally, probably due to the huge amount of work put into v7, there are still a number of bugs yet to shake out. Hora and the Debugger crashed or froze on me a number of times. But each time I was able to identify the pattern, KeepTool had it fixed within a day or two.&lt;br /&gt;
&lt;br /&gt;
==Purchasing Information==&lt;br /&gt;
Visit the [http://www.keeptool.com KeepTool Home Page]. The default language is German. Click the &amp;quot;English&amp;quot; link at the top if you don't speak German. Follow the Ordering | Prices link to get the current price list in Euros. As of this review a single license for Hora is €599. The diagrammer is €249 and the Debugger is €189. A boxed version is an additional €25. HoraLight is offered for €99. With currency conversion, possible discounts for bulk and educational customers, as well as floating license configurations, it is best if you contact KeepTool directly. &lt;br /&gt;
&lt;br /&gt;
There is also a unique commission opportunity for those who refer new customers to KeepTool, found [http://www.keeptool.com/en/commission.php here].&lt;br /&gt;
&lt;br /&gt;
==About the Author==&lt;br /&gt;
Bill has been designing and tuning large, custom Oracle OLTP applications since 1995, and has a soft spot in his heart for anything that makes his work or his teams faster and more productive. Bill has no connections with KeepTool, GmbH [http://www.customwrittenpaper.com/ Buy Essays Online].&lt;br /&gt;
&lt;br /&gt;
[[Category:Product reviews]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/MediaWiki:Common.css</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/MediaWiki:Common.css"/>
				<updated>2012-06-10T18:33:25Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt; */&lt;br /&gt;
/* CSS placed here will be applied to all skins */&lt;br /&gt;
 &lt;br /&gt;
/* Main page fixes */&lt;br /&gt;
#interwiki-completelist {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
body.page-Main_Page #ca-delete {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.page-Main_Page #mp-topbanner {&lt;br /&gt;
   clear:both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Edit window toolbar */&lt;br /&gt;
#toolbar {&lt;br /&gt;
    height: 22px;&lt;br /&gt;
    margin-bottom: 6px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make the list of references smaller */&lt;br /&gt;
ol.references {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
.references-small { &lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* VALIDATOR NOTICE: the following is correct, but the W3C validator doesn't accept it */&lt;br /&gt;
/* -moz-* is a vendor-specific extension (CSS 2.1 4.1.2.1) */&lt;br /&gt;
/* column-count is from the CSS3 module &amp;quot;CSS Multi-column Layout&amp;quot; */&lt;br /&gt;
/* Please ignore any validator errors caused by these two lines */&lt;br /&gt;
.references-2column {&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
    -moz-column-count: 2;&lt;br /&gt;
    -webkit-column-count: 2;&lt;br /&gt;
    column-count: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.same-bg { background: none; }&lt;br /&gt;
&lt;br /&gt;
/* Highlight clicked reference in blue to help navigation */&lt;br /&gt;
ol.references &amp;gt; li:target {&lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sup.reference:target { &lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styling for citations */&lt;br /&gt;
cite {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
    word-wrap: break-word;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* If there is an inline link to a full citation, the full citation will turn blue when the inline link is clicked */&lt;br /&gt;
cite:target { &lt;br /&gt;
    background-color: #DEF;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For linked citation numbers and document IDs, where the number need not be shown on a screen or a handheld, but should be included in the printed version */&lt;br /&gt;
&lt;br /&gt;
@media screen, handheld, projection {&lt;br /&gt;
    cite *.printonly {&lt;br /&gt;
        display: none;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* wikitable/prettytable class for skinning normal tables */&lt;br /&gt;
table.wikitable,&lt;br /&gt;
table.prettytable {&lt;br /&gt;
    margin: 1em 1em 1em 0;&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th, .wikitable td,&lt;br /&gt;
.prettytable th, .prettytable td {&lt;br /&gt;
    border: 1px #aaa solid;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
.wikitable th,&lt;br /&gt;
.prettytable th {&lt;br /&gt;
    background: #f2f2f2;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.wikitable caption,&lt;br /&gt;
.prettytable caption {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* default skin for navigation boxes */&lt;br /&gt;
table.navbox {            /* navbox container style */&lt;br /&gt;
  border:1px solid #aaa;&lt;br /&gt;
  width:100%; &lt;br /&gt;
  margin:auto;&lt;br /&gt;
  clear:both;&lt;br /&gt;
  font-size:88%;&lt;br /&gt;
  text-align:center;&lt;br /&gt;
  padding:1px;&lt;br /&gt;
}&lt;br /&gt;
table.navbox + table.navbox {&lt;br /&gt;
  margin-top:-1px;        /* single pixel border between adjacent navboxes (doesn't work for IE6, but that's okay) */&lt;br /&gt;
}&lt;br /&gt;
.navbox-title, .navbox-abovebelow, table.navbox th {&lt;br /&gt;
  text-align:center;      /* title and above/below styles */&lt;br /&gt;
  padding-left:1em;&lt;br /&gt;
  padding-right:1em;&lt;br /&gt;
}&lt;br /&gt;
.navbox-group {           /* group style */&lt;br /&gt;
  white-space:nowrap;&lt;br /&gt;
  text-align:right;&lt;br /&gt;
  font-weight:bold;&lt;br /&gt;
  padding-left:1em;&lt;br /&gt;
  padding-right:1em;&lt;br /&gt;
}&lt;br /&gt;
.navbox, .navbox-subgroup {&lt;br /&gt;
  background:#fdfdfd;     /* Background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-list {&lt;br /&gt;
  border-color:#fdfdfd;   /* Must match background color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-title, table.navbox th {&lt;br /&gt;
  background:#ccccff;     /* Level 1 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title {&lt;br /&gt;
  background:#ddddff;     /* Level 2 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow {&lt;br /&gt;
  background:#e6e6ff;     /* Level 3 color */&lt;br /&gt;
}&lt;br /&gt;
.navbox-even {&lt;br /&gt;
  background:#f7f7f7;     /* Even row striping */&lt;br /&gt;
}&lt;br /&gt;
.navbox-odd {&lt;br /&gt;
  background:transparent; /* Odd row striping */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Infobox template style */&lt;br /&gt;
.infobox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 0.5em 0 0.5em 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: right;&lt;br /&gt;
}&lt;br /&gt;
.infobox td,&lt;br /&gt;
.infobox th {&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.infobox caption {&lt;br /&gt;
    font-size: larger;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered {&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered td,&lt;br /&gt;
.infobox.bordered th {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
.infobox.bordered .borderless td,&lt;br /&gt;
.infobox.bordered .borderless th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.sisterproject {&lt;br /&gt;
    width: 20em;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.infobox.standard-talk.bordered td,&lt;br /&gt;
.infobox.standard-talk.bordered th {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* styles for bordered infobox with merged rows */&lt;br /&gt;
.infobox.bordered .mergedtoprow td,&lt;br /&gt;
.infobox.bordered .mergedtoprow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-top: 1px solid #aaa;&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.bordered .mergedrow td,&lt;br /&gt;
.infobox.bordered .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    border-right: 1px solid #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Styles for geography infoboxes, e.g. countries, country subdivisions, cities, etc. */&lt;br /&gt;
.infobox.geography {&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    line-height: 1.2em; &lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography  td,&lt;br /&gt;
.infobox.geography  th {&lt;br /&gt;
    border-top: solid 1px #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
.infobox.geography .mergedtoprow td,&lt;br /&gt;
.infobox.geography .mergedtoprow th {&lt;br /&gt;
    border-top: solid 1px #aaa;&lt;br /&gt;
    padding: 0.4em 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .mergedrow td,&lt;br /&gt;
.infobox.geography .mergedrow th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0 0.6em 0.2em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .mergedbottomrow td,&lt;br /&gt;
.infobox.geography .mergedbottomrow th {&lt;br /&gt;
    border-top: 0;&lt;br /&gt;
    border-bottom: solid 1px #aaa;&lt;br /&gt;
    padding: 0 0.6em 0.4em 0.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox.geography .maptable td,&lt;br /&gt;
.infobox.geography .maptable th {&lt;br /&gt;
    border: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for &amp;quot;notices&amp;quot; */&lt;br /&gt;
.notice {&lt;br /&gt;
    margin: 1em;&lt;br /&gt;
    padding: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#disambig {&lt;br /&gt;
    border-top: 1px solid #ccc; &lt;br /&gt;
    border-bottom: 1px solid #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Persondata and other (future) metadata,&lt;br /&gt;
   &amp;quot;table.InChI&amp;quot; and &amp;quot;.InChI-label&amp;quot; are temporary. */&lt;br /&gt;
table.InChI,&lt;br /&gt;
table.persondata {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    display: none;&lt;br /&gt;
    speak: none;&lt;br /&gt;
}&lt;br /&gt;
.InChI-label,&lt;br /&gt;
.persondata-label {&lt;br /&gt;
    color: #aaa;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Makes redirects appear in italics in categories and on [[Special:Allpages]] */&lt;br /&gt;
.redirect-in-category, .allpagesredirect {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Class for links with loudspeaker icon next to them. &lt;br /&gt;
   (Used in [[Template:Audio]] and the like to make the speaker clickable) */&lt;br /&gt;
.audiolink a {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Loudspeaker.svg/11px-Loudspeaker.svg.png&amp;quot;) center left no-repeat !important;&lt;br /&gt;
    padding-left: 16px !important;&lt;br /&gt;
    padding-right: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Icons for medialist templates [[Template:Listen]], [[Template:Multi-listen_start]], [[Template:Video]], [[Template:Multi-video_start]] */&lt;br /&gt;
div.listenlist {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Gnome-speakernotes.png/30px-Gnome-speakernotes.png&amp;quot;);&lt;br /&gt;
    padding-left: 40px;&lt;br /&gt;
}&lt;br /&gt;
div.videolist, div.multivideolist {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/en/thumb/2/20/Tango-video-x-generic.png/40px-Tango-video-x-generic.png&amp;quot;);&lt;br /&gt;
    padding-left: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style rules for media list templates */&lt;br /&gt;
div.medialist {&lt;br /&gt;
    min-height: 50px;&lt;br /&gt;
    margin: 1em;&lt;br /&gt;
    background-position: top left;&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul {&lt;br /&gt;
    list-style-type: none; &lt;br /&gt;
    list-style-image: none;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul li {&lt;br /&gt;
    padding-bottom: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
div.medialist ul li li {&lt;br /&gt;
    font-size: 91%;&lt;br /&gt;
    padding-bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon for all PDF files */&lt;br /&gt;
/* (in browsers that support these CSS selectors, like Mozilla and Opera) */&lt;br /&gt;
#bodyContent a[href$=&amp;quot;.pdf&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.pdf?&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
#bodyContent a[href$=&amp;quot;.PDF&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.PDF?&amp;quot;].external, &lt;br /&gt;
#bodyContent a[href*=&amp;quot;.PDF#&amp;quot;].external,&lt;br /&gt;
#mw_content a[href$=&amp;quot;.pdf&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.pdf?&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.pdf#&amp;quot;].external,&lt;br /&gt;
#mw_content a[href$=&amp;quot;.PDF&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.PDF?&amp;quot;].external, &lt;br /&gt;
#mw_content a[href*=&amp;quot;.PDF#&amp;quot;].external {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Icons-mini-file_acrobat.gif/15px-Icons-mini-file_acrobat.gif) center right no-repeat;&lt;br /&gt;
    padding-right: 16px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Change the external link icon to an Adobe icon anywhere the PDFlink class */&lt;br /&gt;
/* is used (notably Template:PDFlink). This works in IE, unlike the above. */&lt;br /&gt;
span.PDFlink a {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Icons-mini-file_acrobat.gif/15px-Icons-mini-file_acrobat.gif) center right no-repeat !important;&lt;br /&gt;
    padding-right: 17px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.geolink a {&lt;br /&gt;
    background: url(http://upload.wikimedia.org/wikipedia/en/a/a7/Monobook-globe.png) center right no-repeat !important;&lt;br /&gt;
    padding-right: 11px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Content in columns with CSS instead of tables [[Template:Columns]] */&lt;br /&gt;
div.columns-2 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 50%;&lt;br /&gt;
    min-width: 300px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-3 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 33.3%;&lt;br /&gt;
    min-width: 200px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-4 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 25%;&lt;br /&gt;
    min-width: 150px;&lt;br /&gt;
}&lt;br /&gt;
div.columns-5 div.column {&lt;br /&gt;
    float: left;&lt;br /&gt;
    width: 20%;&lt;br /&gt;
    min-width: 120px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Add formatting to make sure that &amp;quot;external references&amp;quot; from [[Template:Ref]] do&lt;br /&gt;
  not get URL expansion, not even when printed. The mechanism up to MediaWiki 1.4 was&lt;br /&gt;
  that the HTML code contained a SPAN following the anchor A; this SPAN had the class&lt;br /&gt;
  &amp;quot;urlexpansion&amp;quot;, which was not displayed on screen, but was shown when the medium was&lt;br /&gt;
  &amp;quot;print&amp;quot;. The rules below ensure (a) that there is no extra padding to the right of&lt;br /&gt;
  the anchor (displayed as &amp;quot;[&amp;lt;number&amp;gt;]&amp;quot;), (b) that there is no &amp;quot;external link arrow&amp;quot; for&lt;br /&gt;
  the link, and (c) that this SPAN of class &amp;quot;urlexpansion&amp;quot; is never shown.&lt;br /&gt;
  ~~~~&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand {&lt;br /&gt;
    background: none ! important;&lt;br /&gt;
    padding: 0 ! important;&lt;br /&gt;
}&lt;br /&gt;
.plainlinksneverexpand .urlexpansion {&lt;br /&gt;
    display: none ! important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Make sure that ext links displayed within &amp;quot;plainlinksneverexpand&amp;quot; don't get&lt;br /&gt;
   the arrow...&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand a {&lt;br /&gt;
    background: none !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* With MediaWiki 1.5, the mechanism has changed: instead of a SPAN of class &amp;quot;urlexpansion&amp;quot;&lt;br /&gt;
   following the anchor A, the anchor itself now has class &amp;quot;external autonumber&amp;quot; and the&lt;br /&gt;
   expansion is inserted when printing (see the common printing style sheet at&lt;br /&gt;
   http://en.wikipedia.org/skins-1.5/common/commonPrint.css) using the &amp;quot;:after&amp;quot; pseudo-&lt;br /&gt;
   element of CSS. We have to switch this off for links due to Template:Ref!&lt;br /&gt;
*/&lt;br /&gt;
.plainlinksneverexpand a.external.text:after {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
.plainlinksneverexpand a.external.autonumber:after {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Messagebox templates */&lt;br /&gt;
.messagebox {&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    background-color: #f9f9f9;&lt;br /&gt;
    width: 80%;&lt;br /&gt;
    margin: 0 auto 1em auto;&lt;br /&gt;
    padding: .2em;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.merge {&lt;br /&gt;
    border: 1px solid #c0b8cc;&lt;br /&gt;
    background-color: #f0e5ff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.cleanup {&lt;br /&gt;
    border: 1px solid #9f9fff;&lt;br /&gt;
    background-color: #efefff;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.standard-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    margin: 4px auto;&lt;br /&gt;
}&lt;br /&gt;
/* For old WikiProject banners inside banner shells. */&lt;br /&gt;
.mbox-inside .standard-talk,&lt;br /&gt;
.messagebox.nested-talk {&lt;br /&gt;
    border: 1px solid #c0c090;&lt;br /&gt;
    background-color: #f8eaba;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
}&lt;br /&gt;
.messagebox.small {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em; &lt;br /&gt;
}&lt;br /&gt;
.messagebox.small-talk {&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
    float: right;&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0 0 1em 1em;&lt;br /&gt;
    line-height: 1.25em; &lt;br /&gt;
    background: #F8EABA;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */&lt;br /&gt;
th.mbox-text, td.mbox-text {     /* The message body cell(s) */&lt;br /&gt;
    border: none; &lt;br /&gt;
    padding: 0.25em 0.9em;       /* 0.9em left/right */&lt;br /&gt;
    width: 100%;    /* Make all mboxes the same width regardless of text length */&lt;br /&gt;
}&lt;br /&gt;
td.mbox-image {                  /* The left image cell */&lt;br /&gt;
    border: none; &lt;br /&gt;
    padding: 2px 0 2px 0.9em;    /* 0.9em left, 0px right */&lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
td.mbox-imageright {             /* The right image cell */&lt;br /&gt;
    border: none;&lt;br /&gt;
    padding: 2px 0.9em 2px 0;    /* 0px left, 0.9em right */&lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
.mediawiki table.tmbox-small,&lt;br /&gt;
.mediawiki table.ombox-small,&lt;br /&gt;
.mediawiki table.mbox-small {    /* For the &amp;quot;small=yes&amp;quot; option (also used elsewhere).   */&lt;br /&gt;
    clear: right;                /* The &amp;quot;mediawiki&amp;quot; class ensures that this declaration */&lt;br /&gt;
    float: right;                /* overrides styles set in &amp;quot;tmbox&amp;quot;/&amp;quot;ombox&amp;quot;/etc below   */&lt;br /&gt;
    margin: 4px 0 4px 1em;&lt;br /&gt;
    width: 238px;&lt;br /&gt;
    font-size: 88%;&lt;br /&gt;
    line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Article message box styles */&lt;br /&gt;
table.ambox {            /* 10% = Will not overlap with other elements */&lt;br /&gt;
    margin: -1px 10% 0px;    /* -1px = Single border between stacked boxes in all browsers */&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb; &lt;br /&gt;
}&lt;br /&gt;
.ambox th.mbox-text, &lt;br /&gt;
.ambox td.mbox-text {            /* The message body cell(s) */&lt;br /&gt;
    padding: 0.25em 0.5em;       /* 0.5em left/right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-image {           /* The left image cell */&lt;br /&gt;
    padding: 2px 0 2px 0.5em;    /* 0.5em left, 0px right */&lt;br /&gt;
}&lt;br /&gt;
.ambox td.mbox-imageright {      /* The right image cell */&lt;br /&gt;
    padding: 2px 0.5em 2px 0;    /* 0px left, 0.5em right */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ambox-notice {&lt;br /&gt;
    border-left: 10px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-speedy {&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;                   /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-delete {&lt;br /&gt;
    border-left: 10px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-content {&lt;br /&gt;
    border-left: 10px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-style {&lt;br /&gt;
    border-left: 10px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-move {&lt;br /&gt;
    border-left: 10px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ambox-protection {&lt;br /&gt;
    border-left: 10px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Image message box styles */&lt;br /&gt;
table.imbox {&lt;br /&gt;
    margin: 4px 10%; &lt;br /&gt;
    border-collapse: collapse; &lt;br /&gt;
    border: 3px solid #1e90ff;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
    background: #fbfbfb;&lt;br /&gt;
}&lt;br /&gt;
.imbox .mbox-text .imbox {    /* For imboxes inside imbox-text cells. */&lt;br /&gt;
    margin: 0 -0.5em;    /* 0.9 - 0.5 = 0.4em left/right. */&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .imbox {    /* For imboxes inside other templates. */&lt;br /&gt;
    margin: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.imbox-notice {&lt;br /&gt;
    border: 3px solid #1e90ff;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-speedy {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-delete {&lt;br /&gt;
    border: 3px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-content {&lt;br /&gt;
    border: 3px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-style {&lt;br /&gt;
    border: 3px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-move {&lt;br /&gt;
    border: 3px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-protection {&lt;br /&gt;
    border: 3px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-license {&lt;br /&gt;
    border: 3px solid #88a;       /* Dark gray */&lt;br /&gt;
    background: #f7f8ff;          /* Light gray */&lt;br /&gt;
}&lt;br /&gt;
table.imbox-featured {&lt;br /&gt;
    border: 3px solid #cba135;    /* Brown-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Category message box styles */&lt;br /&gt;
table.cmbox {&lt;br /&gt;
    margin: 3px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    background: #DFE8FF;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.cmbox-notice {&lt;br /&gt;
    background: #D8E8FF;    /* Blue */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-speedy {&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    margin-bottom: 4px;&lt;br /&gt;
    border: 4px solid #b22222;    /* Red */&lt;br /&gt;
    background: #FFDBDB;          /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-delete {&lt;br /&gt;
    background: #FFDBDB;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-content {&lt;br /&gt;
    background: #FFE7CE;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-style {&lt;br /&gt;
    background: #FFF9DB;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-move {&lt;br /&gt;
    background: #E4D8FF;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.cmbox-protection {&lt;br /&gt;
    background: #EFEFE1;    /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Other pages message box styles */&lt;br /&gt;
table.ombox {&lt;br /&gt;
    margin: 4px 10%; &lt;br /&gt;
    border-collapse: collapse; &lt;br /&gt;
    border: 1px solid #aaa;       /* Default &amp;quot;notice&amp;quot; gray */&lt;br /&gt;
    background: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-notice {&lt;br /&gt;
    border: 1px solid #aaa;       /* Gray */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-content {&lt;br /&gt;
    border: 1px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-style {&lt;br /&gt;
    border: 1px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-move {&lt;br /&gt;
    border: 1px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.ombox-protection {&lt;br /&gt;
    border: 2px solid #bba;       /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Talk page message box styles */&lt;br /&gt;
table.tmbox {&lt;br /&gt;
    margin: 4px 10%;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    border: 1px solid #c0c090;    /* Default &amp;quot;notice&amp;quot; gray-brown */&lt;br /&gt;
    background: #f8eaba;&lt;br /&gt;
}&lt;br /&gt;
.mbox-inside .tmbox {    /* For tmboxes inside other templates. */&lt;br /&gt;
    margin: 2px 0;&lt;br /&gt;
    width: 100%;    /* Fix for Safari and Opera. */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.tmbox-speedy {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
    background: #fee;             /* Pink */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-delete {&lt;br /&gt;
    border: 2px solid #b22222;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-content {&lt;br /&gt;
    border: 2px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-style {&lt;br /&gt;
    border: 2px solid #f4c430;    /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-move {&lt;br /&gt;
    border: 2px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
table.tmbox-protection,&lt;br /&gt;
table.tmbox-notice {&lt;br /&gt;
    border: 1px solid #c0c090;    /* Gray-brown */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pink fmbox warning style for div based warning notices. */&lt;br /&gt;
div.fmbox-warning,&lt;br /&gt;
div.mw-warning-with-logexcerpt {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    border: 1px solid #BB7070;&lt;br /&gt;
    background: #FFDBDB;&lt;br /&gt;
    padding: 0.25em 0.9em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Put a checker background at the image description page only visible if the image has transparent background */&lt;br /&gt;
#file img {&lt;br /&gt;
    background: url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png&amp;quot;) repeat;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Support for Template:IPA, Template:Unicode and Template:Polytonic. The inherit declaration resets the font for all browsers except MSIE6.  The empty comment must remain. Please copy any changes to [[Template:IPA fonts]] and [[Template:Unicode fonts]]. */&lt;br /&gt;
.IPA {&lt;br /&gt;
    font-family: &amp;quot;Charis SIL&amp;quot;, &amp;quot;Doulos SIL&amp;quot;, Gentium, GentiumAlt, &amp;quot;DejaVu Sans&amp;quot;, Code2000, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Chrysanthi Unicode&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.Unicode {&lt;br /&gt;
    font-family: Code2000, Code2001, &amp;quot;Free Serif&amp;quot;, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Doulos SIL&amp;quot;, &amp;quot;Chrysanthi Unicode&amp;quot;, &amp;quot;Bitstream Cyberbit&amp;quot;, &amp;quot;Bitstream CyberBase&amp;quot;, Thryomanes, Gentium, GentiumAlt, &amp;quot;Lucida Grande&amp;quot;, &amp;quot;Free Sans&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Microsoft Sans Serif&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.latinx {&lt;br /&gt;
    font-family: Code2000, Code2001, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Microsoft Sans Serif&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.polytonic {&lt;br /&gt;
    font-family: &amp;quot;Athena Unicode&amp;quot;, Gentium, &amp;quot;Palatino Linotype&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Code2000; &lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
.mufi {&lt;br /&gt;
    font-family: Alphabetum, Cardo, LeedsUni, Junicode, &amp;quot;TITUS Cyberbit Basic&amp;quot;, ALPHA-Demo;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pseudo-classes in support of [[Template:lang]]. */&lt;br /&gt;
&lt;br /&gt;
:lang(he) {&lt;br /&gt;
    font-family: &amp;quot;SBL Hebrew&amp;quot;, &amp;quot;Ezra SIL SR&amp;quot;, &amp;quot;Ezra SIL&amp;quot;, Cardo, &amp;quot;Chrysanthi Unicode&amp;quot;, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, Narkisim, &amp;quot;Times New Roman&amp;quot;;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(fa) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ps) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ur) {&lt;br /&gt;
    font-family: &amp;quot;Nafees Nastaleeq&amp;quot;, &amp;quot;Pak Nastaleeq&amp;quot;, PDMS_Jauhar;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(sux-Xsux) {&lt;br /&gt;
    font-family: Akkadian;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ja) {&lt;br /&gt;
       font-family: Code2000, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Bitstream Cyberbit&amp;quot;, &amp;quot;Bitstream CyberCJK&amp;quot;, IPAGothic, IPAPGothic, IPAUIGothic, &amp;quot;Kochi Gothic&amp;quot;, IPAMincho, IPAPMincho;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(ko) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Myungjo Std M&amp;quot;, AppleMyungjo, &amp;quot;Baekmuk Batang&amp;quot;, &amp;quot;Baekmuk Gulim&amp;quot;, Batang, Dotum, DotumChe, Gulim, GulimChe, HYGothic-Extra, HYMyeongJo-Extra, &amp;quot;New Gulim&amp;quot;, UnBatang, UnDotum, UnYetgul, UWKMJF;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(zh-Hans) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Song Std L&amp;quot;, &amp;quot;AR PL ShanHeiSun Uni&amp;quot;, &amp;quot;AR PL ShanHeiSun Uni MBE&amp;quot;, &amp;quot;MS Hei&amp;quot;, &amp;quot;MS Song&amp;quot;, SimHei;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(zh-Hant) {&lt;br /&gt;
    font-family: &amp;quot;Adobe Ming Std L&amp;quot;, &amp;quot;AR PL New Sung&amp;quot;, &amp;quot;AR PL ZenKai Uni&amp;quot;, &amp;quot;AR PL ZenKai Uni MBE&amp;quot;, MingLiU, PMingLiU;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
:lang(grc) {&lt;br /&gt;
    font-family: &amp;quot;Athena Unicode&amp;quot;, Gentium, &amp;quot;Palatino Linotype&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Code2000;&lt;br /&gt;
    font-family /**/:inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#wpSave {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */&lt;br /&gt;
.hiddenStructure {&lt;br /&gt;
    display: inline ! important;&lt;br /&gt;
    color: #f00; &lt;br /&gt;
    background-color: #0f0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* suppress missing interwiki image links where #ifexist cannot be used due to high number of requests */&lt;br /&gt;
/* use restricted to rail icon management pages */&lt;br /&gt;
/* see .hidden-redlink on http://meta.wikimedia.org/wiki/MediaWiki:Common.css */&lt;br /&gt;
.check-icon a.new {&lt;br /&gt;
    display: none; &lt;br /&gt;
    speak:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Removes underlines from links */&lt;br /&gt;
.nounderlines a { &lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Remove underline from IPA links */&lt;br /&gt;
.IPA a:link, .IPA a:visited {&lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#EnWpMpBook { background-image: url(http://upload.wikimedia.org/wikipedia/en/7/7e/MP-open-book.png); }&lt;br /&gt;
#EnWpMpSearch { background: url(http://upload.wikimedia.org/wikipedia/en/a/ae/MP-magnifying-glass.png) no-repeat top right; }&lt;br /&gt;
#EnWpMpSearchInner { float: right; width: 20em; text-align: center; }&lt;br /&gt;
#EnWpMpBook2 { background-image: url(http://upload.wikimedia.org/wikipedia/commons/8/8e/MP-open-book2.png); }&lt;br /&gt;
&lt;br /&gt;
/* Standard Navigationsleisten, aka box hiding thingy from .de.  Documentation at [[Wikipedia:NavFrame]]. */&lt;br /&gt;
div.Boxmerge,&lt;br /&gt;
div.NavFrame {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 4px;&lt;br /&gt;
    border: 1px solid #aaa;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    font-size: 95%;&lt;br /&gt;
}&lt;br /&gt;
div.Boxmerge div.NavFrame {&lt;br /&gt;
    border-style: none;&lt;br /&gt;
    border-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame + div.NavFrame {&lt;br /&gt;
    border-top-style: none;&lt;br /&gt;
    border-top-style: hidden;&lt;br /&gt;
}&lt;br /&gt;
div.NavPic {&lt;br /&gt;
    background-color: #fff;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavHead {&lt;br /&gt;
    height: 1.6em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    background-color: #ccf;&lt;br /&gt;
    position:relative;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavContent {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavFrame div.NavContent p {&lt;br /&gt;
    font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
div.NavEnd {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    line-height: 1px;&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
a.NavToggle {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 0;&lt;br /&gt;
    right: 3px;&lt;br /&gt;
    font-weight: normal;&lt;br /&gt;
    font-size: 90%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Coloured watchlist numbers */&lt;br /&gt;
.mw-plusminus-pos {&lt;br /&gt;
    color: #006400; /* darkgreen */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* .mw-plusminus-null currently at developer default */&lt;br /&gt;
.mw-plusminus-neg {&lt;br /&gt;
    color: #8B0000; /* darkred */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.dablink {&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
}&lt;br /&gt;
.dablink i {&lt;br /&gt;
    font-style: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Style for horizontal UL lists */&lt;br /&gt;
.horizontal ul {&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li { &lt;br /&gt;
    padding: 0 0.6em 0 0.4em;&lt;br /&gt;
    display: inline;&lt;br /&gt;
    border-right: 1px solid;&lt;br /&gt;
}&lt;br /&gt;
.horizontal li:last-child {&lt;br /&gt;
    border-right: none;&lt;br /&gt;
    padding-right: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Geographical coordinates defaults. &lt;br /&gt;
   See [[Template:Coord/link]] for how these are used. &lt;br /&gt;
   The classes &amp;quot;geo&amp;quot;, &amp;quot;longitude&amp;quot;, and &amp;quot;latitude&amp;quot; are used by &lt;br /&gt;
   the [[Geo microformat]], so the names should not be changed. */&lt;br /&gt;
.geo-default, .geo-dms, .geo-dec { display: inline; }&lt;br /&gt;
.geo-nondefault, .geo-multi-punct { display: none; }&lt;br /&gt;
.longitude, .latitude { white-space: nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* When &amp;lt;div class=&amp;quot;nonumtoc&amp;quot;&amp;gt; is used on the table of contents, the ToC will display without numbers */&lt;br /&gt;
.nonumtoc .tocnumber { display:none; }&lt;br /&gt;
.nonumtoc #toc ul,&lt;br /&gt;
.nonumtoc .toc ul {&lt;br /&gt;
    line-height: 1.5em;&lt;br /&gt;
    list-style: none;&lt;br /&gt;
    margin: .3em 0 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.nonumtoc #toc ul ul, &lt;br /&gt;
.nonumtoc .toc ul ul { &lt;br /&gt;
    margin: 0 0 0 2em; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Allow limiting of which header levels are shown in a TOC; &amp;lt;div class=&amp;quot;toclimit-3&amp;quot;&amp;gt;, for&lt;br /&gt;
   instance, will limit to showing ==headings== and ===headings=== but no further (as long as&lt;br /&gt;
   there are no =headings= on the page, which there shouldn't be according to the MoS). */&lt;br /&gt;
.toclimit-2 .toclevel-2 {display:none;}&lt;br /&gt;
.toclimit-3 .toclevel-3 {display:none;}&lt;br /&gt;
.toclimit-4 .toclevel-4 {display:none;}&lt;br /&gt;
.toclimit-5 .toclevel-5 {display:none;}&lt;br /&gt;
.toclimit-6 .toclevel-6 {display:none;}&lt;br /&gt;
.toclimit-7 .toclevel-7 {display:none;}&lt;br /&gt;
&lt;br /&gt;
/* Allow transcluded pages to display in lists rather than a table. Compatible in Firefox; incompatible in IE6. */&lt;br /&gt;
.listify td {display:list-item;}&lt;br /&gt;
.listify tr {display:block;}&lt;br /&gt;
.listify table {display:block;}&lt;br /&gt;
&lt;br /&gt;
/* Styling for Template:Quote */&lt;br /&gt;
blockquote.templatequote { &lt;br /&gt;
     margin-top: 0; &lt;br /&gt;
}&lt;br /&gt;
blockquote.templatequote div.templatequotecite { &lt;br /&gt;
    line-height: 1em;&lt;br /&gt;
    text-align: left;&lt;br /&gt;
    padding-left: 2em;&lt;br /&gt;
    margin-top: 0;&lt;br /&gt;
}&lt;br /&gt;
blockquote.templatequote div.templatequotecite cite {&lt;br /&gt;
    font-size: 85%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.user-block {&lt;br /&gt;
    padding: 5px;&lt;br /&gt;
    border: 1px solid #A9A9A9;&lt;br /&gt;
    background-color: #FFEFD5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevents line breaks in links */&lt;br /&gt;
.nowraplinks a {&lt;br /&gt;
    white-space: nowrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For template documentation */&lt;br /&gt;
.template-documentation {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 1em 0 0 0;&lt;br /&gt;
    border: 1px solid #aaa; &lt;br /&gt;
    background-color: #ecfcf4; &lt;br /&gt;
    padding: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.thumbinner {&lt;br /&gt;
    min-width: 100px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline divs in ImageMaps (code borrowed from de.wiki) */&lt;br /&gt;
.imagemap-inline div {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Increase the height of the image upload box */&lt;br /&gt;
#wpUploadDescription {&lt;br /&gt;
    height: 13em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reduce line-height for &amp;lt;sup&amp;gt; and &amp;lt;sub&amp;gt; */&lt;br /&gt;
sup, sub {&lt;br /&gt;
    line-height: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* The backgrounds for galleries. */&lt;br /&gt;
#content .gallerybox div.thumb {&lt;br /&gt;
    background-color: #F9F9F9;   /* Light gray padding */&lt;br /&gt;
}&lt;br /&gt;
.gallerybox .thumb img {&lt;br /&gt;
    background: white url(&amp;quot;http://upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png&amp;quot;) repeat;&lt;br /&gt;
}&lt;br /&gt;
/* .ns-0 = articles, .ns-2 = user pages, .ns-100 = portals. */&lt;br /&gt;
.ns-0 .gallerybox .thumb img,&lt;br /&gt;
.ns-2 .gallerybox .thumb img,&lt;br /&gt;
.ns-100 .gallerybox .thumb img {&lt;br /&gt;
    background: white;   /* No chequered background */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Prevent boxes from overlapping the category listings */&lt;br /&gt;
#mw-subcategories, #mw-pages, #mw-category-media {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Selectively hide headers in WikiProject banners */&lt;br /&gt;
.wpb .wpb-header             {display: none}&lt;br /&gt;
.wpbs-inner .wpb .wpb-header {display: block}     /* for IE */&lt;br /&gt;
.wpbs-inner .wpb .wpb-header {display: table-row} /* for real browsers */&lt;br /&gt;
.wpbs-inner .wpb-outside     {display: none}      /* hide things that should only display outside shells */&lt;br /&gt;
&lt;br /&gt;
/* Stop HTML formulae breaking in silly places */&lt;br /&gt;
span.texhtml { white-space: nowrap; }&lt;br /&gt;
&lt;br /&gt;
/* stop references with groups from line-breaking */&lt;br /&gt;
sup.reference a {white-space: nowrap;}&lt;br /&gt;
&lt;br /&gt;
/* Temporary rule for the duration of [[Wikipedia:2008 main page redesign proposal]] */&lt;br /&gt;
#pretzelsmainpageproposal-head { background: white url('http://upload.wikimedia.org/wikipedia/en/c/c4/Faded_globe.PNG') no-repeat;}&lt;br /&gt;
&lt;br /&gt;
/* Pre Fix */&lt;br /&gt;
tt, code, pre {&lt;br /&gt;
    font-family: monospace, sans-serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Don't use any logo, move the boxes onto that area instead. */&lt;br /&gt;
#p-logo { display: none }&lt;br /&gt;
#column-one { padding-top: 0; }&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; */&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/DBMS_SQLPA</id>
		<title>DBMS SQLPA</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/DBMS_SQLPA"/>
				<updated>2012-02-21T14:08:56Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by Sanders Dowdy (Talk) to last version by Frank Naude&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''DBMS_SQLPA''' is a new [[PL/SQL]] package introduced in [[Oracle 11g]] for analysing [[SQL]] performance. This package helps users to predict the impact of system changes on SQL statements and fix potential regressions.&lt;br /&gt;
&lt;br /&gt;
Main functions:&lt;br /&gt;
* Automated capture of SQL workload&lt;br /&gt;
* Execute SQL pre-change&lt;br /&gt;
* Optimize/ Make changes&lt;br /&gt;
* Execute SQL post-change&lt;br /&gt;
* Compare and report on SQL performance gains&lt;br /&gt;
&lt;br /&gt;
[[Category:Performance tuning]]&lt;br /&gt;
[[Category:PL/SQL Packages]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Comp.databases.oracle.misc</id>
		<title>Comp.databases.oracle.misc</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Comp.databases.oracle.misc"/>
				<updated>2012-02-21T14:08:44Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by Sanders Dowdy (Talk) to last version by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information about the [[Usenet|usenet group]] '''comp.databases.oracle.misc''' (also called CDO misc):&lt;br /&gt;
&lt;br /&gt;
==Group's charter==&lt;br /&gt;
Comp.databases.oracle.misc is a news group where topics generally related to the use of software from Oracle Corporation may be posted.  This group provides a forum for topics which do not fall within any of the more specific comp.databases.oracle subgroups.&lt;br /&gt;
&lt;br /&gt;
This news group is not intended as a marketplace where employment advertisements or commercial announcements may be posted.  These should be directed to [[comp.databases.oracle.marketplace]].&lt;br /&gt;
&lt;br /&gt;
==Rationale==&lt;br /&gt;
This group will provide a forum for topics which do not fall within any more specific comp.databases.oracle subgroup.  Renaming the group should better define the subjects of articles posted there. The .misc suffix will help people reading the news group understand that it is a catch-all for miscellaneous topics.&lt;br /&gt;
&lt;br /&gt;
The straw poll indicated that many preferred to keep comp.databases.oracle, with no name change.  However, a larger percentage preferred to rename the group.  This has been a topic of heated discussions in other groups within the Usenet.  It is the decision of the proponents to go with the majority, with the hope that this will not cause too much controversy here.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
This newsgroup was created after it passed its vote for creation by 222:42 as reported in news.announce.newgroups on [[5 October]] [[1996]]. This group was created on [[10 October]] [[1996]] and supersedes [[comp.databases.oracle]], which will be removed on [[10 December]] [[1996]].&lt;br /&gt;
&lt;br /&gt;
==Current status==&lt;br /&gt;
Open, unmoderated.&lt;br /&gt;
&lt;br /&gt;
==Also see==&lt;br /&gt;
* [news:comp.databases.oracle.misc Direct link to newsgroup] (if you have a local newsreader installed)&lt;br /&gt;
* [http://www.orafaq.com/usenet/comp.databases.oracle.misc Browse the archives]&lt;br /&gt;
&lt;br /&gt;
[[Category:USENET News]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/SAP</id>
		<title>SAP</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/SAP"/>
				<updated>2012-02-06T18:45:05Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 116.71.13.4 (Talk) to last version by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SAP AG''' is a software company, based in Germany, that develops enterprise software applications and business solutions that compete with Oracle's [[E-Business Suite]] software stack. &lt;br /&gt;
&lt;br /&gt;
==Inter company relations==&lt;br /&gt;
Until recently Oracle was SAP's database of choice. However, with increased competition in the applications space, SAP shifted away from Oracle: they still support SAP on Oracle, but not as their preferred database platform of choice.&lt;br /&gt;
&lt;br /&gt;
According to http://www.oracle.com/sap, SAP will support [[Oracle 11g]].&lt;br /&gt;
&lt;br /&gt;
==What is SAP ?==&lt;br /&gt;
SAP develops ERP products to be used by companies to manage their enterprise. This includes managing their day to day operations, logistics, finances, month end, quarter end and yearly activities, reporting, HR etc. Although there are a couple of other ERP vendors who do the same, the key differentiator for SAP is the way in which SAP integrates all these operations and makes for a seamless system that is both easy to use and at the same time sophisticated enough to include all kinds of complex activities that are needed for any kind of enterprise. Examples of some of these activities could, be running Material resource planning, recruiting and managing an employee’s lifecycle, disbursing payrolls, recording all financial transactions and drawing balance sheets and P/L statements of the company etc. Now imagine a single system that takes care of all these diverse activities and still keep them well integrated.&lt;br /&gt;
&lt;br /&gt;
SAP was initially designed to be run on the mainframe and was called that release was called R/2 (Release 2). SAP quickly caught on to the client server model with a later release called R/3 and this was the most popular version of SAP. After R/3, later versions of their core software were launched called Enterprise Central Component (ECC).&lt;br /&gt;
&lt;br /&gt;
The automation needs of an enterprise are endless. SAP soon realized that corporations needed business intelligence to mine data from their daily operational data and extract meaningful trends that could enable further business opportunities. SAP BW was born and morphed into BI after buying out Business Objects (BO).&lt;br /&gt;
&lt;br /&gt;
After the hugely successful R/3, SAP created more and more niche software like Customer Relationship Management (CRM), SRM, XI (now called Process Integration or PI) and once again living up to the standards of SAP by maintaining tight integration with their core ECC software.&lt;br /&gt;
&lt;br /&gt;
Through the process of developing these software components, SAP has slowly moved from standard client server architecture to a completely web-based architecture where every transaction can be run from just a browser. These new dimension products developed on the web standards based framework (NetWeaver) are all under new umbrella called mySAP.&lt;br /&gt;
&lt;br /&gt;
==Law suite==&lt;br /&gt;
On 22nd March [[2007]] Oracle filed a case against SAP for malpractice and unfair competition in the Californian courts. The complaint alleged that SAP TN (formerly TomorrowNow before purchased by SAP), which provides discount support for legacy Oracle products, used the accounts of former Oracle customers to download patches and support documents from Oracle's website and appropriating them for SAP's use.&lt;br /&gt;
&lt;br /&gt;
SAP has admitted to inappropriate downloads, however the company denies theft of any intellectual property.&lt;br /&gt;
&lt;br /&gt;
==Products==&lt;br /&gt;
R/3 is the SAP client-server solution (R/2 was mainframe based). It consists of the following modules: &lt;br /&gt;
* BC - Basis (includes ABAP/4 Programming Language) &lt;br /&gt;
* AM - Asset Management &lt;br /&gt;
* CO - Controlling &lt;br /&gt;
* FI - Financial Accounting &lt;br /&gt;
* HR - Human Resources &lt;br /&gt;
* IS - Industry Specific Solutions &lt;br /&gt;
* PM - Plant Maintenance &lt;br /&gt;
* PP - Production Planning &lt;br /&gt;
* PS - Project System &lt;br /&gt;
* QM - Quality Management &lt;br /&gt;
* SD - Sales and Distribution &lt;br /&gt;
* MM - Materials Management &lt;br /&gt;
* WF - Business Work Flow &lt;br /&gt;
&lt;br /&gt;
==Also see==&lt;br /&gt;
* [[SAP on Oracle FAQ]] - Frequently asked questions&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://www.sap.com SAP's home page]&lt;br /&gt;
* [http://www.saptrainingtutorial.com SAP Online Training]&lt;br /&gt;
* [http://www.freesaptutorial.com SAP Tutorial]&lt;br /&gt;
* [http://www.sap-exp.com SAP ERP]&lt;br /&gt;
* [http://www.mysap-pp.com SAP Supply Chain Planning]&lt;br /&gt;
* [http://www.mysapsd.com SAP CRM]&lt;br /&gt;
* [http://www.magnatraining.com SAP Training]&lt;br /&gt;
&lt;br /&gt;
{{Glossary}}&lt;br /&gt;
[[Category:Companies]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Oracle_database_Security_FAQ</id>
		<title>Oracle database Security FAQ</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Oracle_database_Security_FAQ"/>
				<updated>2012-02-06T18:45:04Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 116.71.13.4 (Talk) to last version by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Oracle database]] Security FAQ:&lt;br /&gt;
&lt;br /&gt;
==Why should databases be secured/ hardened?==&lt;br /&gt;
[[Data]] is any company's greatest asset and the only &amp;quot;safe&amp;quot; database is one that has nothing in it. A lot of people think that hackers are all outside the firewall which is false. The greatest threat to your database is the person in the cube next to you who has access to it. For this reason databases should be secured to ensure its data is properly protected.&lt;br /&gt;
&lt;br /&gt;
==How does one change an Oracle user's password?==&lt;br /&gt;
Issue the following [[SQL]] command to change a user's password:&lt;br /&gt;
 ALTER USER &amp;lt;username&amp;gt; IDENTIFIED BY &amp;lt;new_password&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
Starting from [[Oracle 8]] you can just type ''password'' from [[SQL*Plus]], or if you need to change another user's password, type ''password user_name''. Look at these examples:&lt;br /&gt;
 SQL&amp;gt; password&lt;br /&gt;
 Changing password for SCOTT&lt;br /&gt;
 Old password:&lt;br /&gt;
 New password:&lt;br /&gt;
 Retype new password:&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; passw scott&lt;br /&gt;
 Changing password for scott&lt;br /&gt;
 New password:&lt;br /&gt;
 Retype new password:&lt;br /&gt;
 Password changed&lt;br /&gt;
&lt;br /&gt;
Note: Oracle usernames and passwords are '''not case sensitive''' in database versions below [[Oracle 11g]].&lt;br /&gt;
&lt;br /&gt;
==How does one create, manage and drop database users?==&lt;br /&gt;
One can add, drop and manage database users from the Enterprise Manager GUI. The following examples will show how the same can be achieved from the SQL*Plus command prompt:&lt;br /&gt;
 CREATE USER scott &lt;br /&gt;
        IDENTIFIED BY tiger		-- Assign password&lt;br /&gt;
         DEFAULT	TABLESPACE  tools	-- Assign space for table and index segments&lt;br /&gt;
         TEMPORARY TABLESPACE temp;	-- Assign sort space&lt;br /&gt;
&lt;br /&gt;
 DROP USER scott CASCADE;		-- Remove user&lt;br /&gt;
&lt;br /&gt;
After creating a new user, assign the required privileges:&lt;br /&gt;
 GRANT CONNECT, RESOURCE TO scott;&lt;br /&gt;
 GRANT DBA TO scott;	-- Make user a DB Administrator&lt;br /&gt;
&lt;br /&gt;
Remember to give the user some space quota on its tablespaces:&lt;br /&gt;
 ALTER USER scott QUOTA UNLIMITED ON tools;&lt;br /&gt;
&lt;br /&gt;
Oracle user accounts can be locked, unlocked, forced to choose new passwords, etc. For example, all accounts except SYS and SYSTEM will be locked after creating an Oracle9iDB database using the DB Configuration Assistant (dbca).  DBA's must unlock these accounts to make them available to users. &lt;br /&gt;
&lt;br /&gt;
Look at these examples:&lt;br /&gt;
 ALTER USER scott ACCOUNT LOCK    -- lock a user account&lt;br /&gt;
 ALTER USER scott ACCOUNT UNLOCK; -- unlocks a locked users account&lt;br /&gt;
&lt;br /&gt;
 ALTER USER scott PASSWORD EXPIRE;  -- Force user to choose a new password&lt;br /&gt;
&lt;br /&gt;
==How does one enforce strict password controls?==&lt;br /&gt;
By default Oracle's security is not extremely good. For example, Oracle will allow users to choose single character passwords and passwords that match their names and userids. Also, passwords don't ever expire. This means that one can hack an account for years without ever locking the user.&lt;br /&gt;
&lt;br /&gt;
From [[Oracle 8]] one can manage passwords through profiles. Some of the things that one can restrict:&lt;br /&gt;
&lt;br /&gt;
* FAILED_LOGIN_ATTEMPTS - failed login attempts before the account is locked&lt;br /&gt;
* PASSWORD_LIFE_TIME - limits the number of days the same password can be used for authentication&lt;br /&gt;
* PASSWORD_REUSE_TIME - number of days before a password can be reused&lt;br /&gt;
* PASSWORD_REUSE_MAX - number of password changes required before the current password can be reused&lt;br /&gt;
* PASSWORD_LOCK_TIME - number of days an account will be locked after maximum failed login attempts&lt;br /&gt;
* PASSWORD_GRACE_TIME - number of days after the grace period begins during which a warning is issued and login is allowed&lt;br /&gt;
* PASSWORD_VERIFY_FUNCTION - password complexity verification script&lt;br /&gt;
&lt;br /&gt;
Look at this simple example:&lt;br /&gt;
 CREATE PROFILE my_profile LIMIT&lt;br /&gt;
        PASSWORD_LIFE_TIME 30;&lt;br /&gt;
 ALTER USER scott PROFILE my_profile;&lt;br /&gt;
&lt;br /&gt;
==Can one switch to another database user without a password?==&lt;br /&gt;
Users normally use the &amp;quot;CONNECT&amp;quot; statement to connect from one database user to another. However, DBAs can switch from one user to another without a password. Of course it is not advisable to bridge Oracle's security, but look at this example:&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; CONNECT / as sysdba&lt;br /&gt;
 Connected.&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; SELECT password FROM dba_users WHERE  username='SCOTT';&lt;br /&gt;
 PASSWORD&lt;br /&gt;
 --------------- ---------------&lt;br /&gt;
 F894844C34402B67&lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; ALTER USER scott IDENTIFIED BY anything;&lt;br /&gt;
 User altered.&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; CONNECT scott/anything&lt;br /&gt;
 Connected.&lt;br /&gt;
&lt;br /&gt;
OK, we're in. Let's quickly change the password back before anybody notices. &lt;br /&gt;
&lt;br /&gt;
 SQL&amp;gt; ALTER USER scott IDENTIFIED BY '''VALUES 'F894844C34402B67'''';&lt;br /&gt;
 User altered.&lt;br /&gt;
&lt;br /&gt;
Note: Also see the [http://www.orafaq.com/scripts/index.htm#GENDBA su.sql] script in the ''Scripts and Sample Programs'' section of this site.&lt;br /&gt;
&lt;br /&gt;
==Why are OPS$ accounts a security risk in a client/server environment?==&lt;br /&gt;
If you allow people to log in with OPS$ accounts from Windows Workstations, you cannot be sure who they really are. With terminals, you can rely on operating system passwords, with Windows, you cannot.&lt;br /&gt;
&lt;br /&gt;
If you set REMOTE_OS_AUTHENT=TRUE in your init.ora file, Oracle assumes that the remote OS has authenticated the user.&lt;br /&gt;
&lt;br /&gt;
If REMOTE_OS_AUTHENT is set to FALSE (recommended), remote users will be unable to connect without a password. IDENTIFIED EXTERNALLY will only be in effect from the local host.  Also, if you are using &amp;quot;OPS$&amp;quot; as your prefix, you will be able to log on locally with or without a password, regardless of whether you have identified your ID with a password or defined it to be IDENTIFIED EXTERNALLY.&lt;br /&gt;
&lt;br /&gt;
==Managing administrative (privileged) users and password files==&lt;br /&gt;
An administrative account is a user that is granted SYSOPER or SYSDBA privileges. Oracle DBAs and operators typically use administrative accounts to manage the database and database instance. &lt;br /&gt;
&lt;br /&gt;
SYSDBA and SYSOPER allow access to a database instance even if it is not running. Control of these privileges is managed outside of the database via password files and special operating system groups (dba on Unix/Linux and ORA_DBA on Windows). External password files are created with the [[orapwd]] utility.&lt;br /&gt;
&lt;br /&gt;
'''Connecting as an administrative user:'''&lt;br /&gt;
&lt;br /&gt;
If an administrative users belongs to the &amp;quot;dba&amp;quot; group on Unix, or the &amp;quot;ORA_DBA&amp;quot; (ORA_sid_DBA) group on Windows, he/she can connect like this:&lt;br /&gt;
 connect / as sysdba&lt;br /&gt;
&lt;br /&gt;
No password is required. This is equivalent to the desupported &amp;quot;connect internal&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
A password is required for &amp;quot;non-secure&amp;quot; administrative access. These passwords are stored in password files. Remote connections via Net8 are classified as non-secure. Look at this example:&lt;br /&gt;
 connect sys/password as sysdba&lt;br /&gt;
&lt;br /&gt;
'''Password files:'''&lt;br /&gt;
&lt;br /&gt;
The Oracle Password File ($ORACLE_HOME/dbs/orapw or orapwSID) stores passwords for users with administrative privileges. One needs to create a password files before remote administrators (like OEM) will be allowed to connect.&lt;br /&gt;
&lt;br /&gt;
Follow this procedure to create a new password file:&lt;br /&gt;
&lt;br /&gt;
* Log in as the Oracle software owner&lt;br /&gt;
* Run command: orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=mypasswd&lt;br /&gt;
* Shutdown the database (SQLPLUS&amp;gt; SHUTDOWN IMMEDIATE)&lt;br /&gt;
* Edit the INIT.ORA file and ensure REMOTE_LOGIN_PASSWORDFILE=exclusive is set.&lt;br /&gt;
* Startup the database (SQLPLUS&amp;gt; STARTUP)[/list]&lt;br /&gt;
&lt;br /&gt;
NOTE: The orapwd utility presents a security risk in that it receives a&lt;br /&gt;
password from the command line. This password is visible in the process&lt;br /&gt;
table (at least as long as orapwd is running) and in the shell's history file of many systems. Administrators needs to be aware of this!&lt;br /&gt;
&lt;br /&gt;
'''Adding users to Password File:'''&lt;br /&gt;
&lt;br /&gt;
One can select from the SYS.V_$PWFILE_USERS view to see which users are listed in the password file. New users can be added to the password file by granting them SYSDBA or SYSOPER privileges, or by using the orapwd utility.&lt;br /&gt;
 GRANT SYSDBA TO scott;&lt;br /&gt;
&lt;br /&gt;
==What is a Virtual Private Database?==&lt;br /&gt;
[[Oracle 8i]] introduced the notion of a [[Virtual Private Database]] (VPD). A VPD offers Fine-Grained Access Control (FGAC) for secure separation of data. This ensures that users only have access to data that pertains to them. Using this option, one could even store multiple companies' data within the same schema, without them knowing about it.&lt;br /&gt;
&lt;br /&gt;
VPD configuration is done via the DBMS_RLS (Row Level Security) package. Select from SYS.V$VPD_POLICY to see existing VPD configuration.&lt;br /&gt;
&lt;br /&gt;
==What is Fine Grained Auditing?==&lt;br /&gt;
Fine Grained Auditing ([[DBMS_FGA]]) allows auditing records to be generated when certain rows are selected from a table. A list of defined policies can be obtained from DBA_AUDIT_POLICIES. Audit records are stored in DBA_FGA_AUDIT_TRAIL. Look at this example:&lt;br /&gt;
&lt;br /&gt;
 -- Add policy on table with auditing condition...&lt;br /&gt;
 execute dbms_fga.add_policy('HR', 'EMP', 'policy1', 'deptno &amp;gt; 10');&lt;br /&gt;
 -- Must ANALYZE, this feature works with CBO (Cost Based Optimizer)&lt;br /&gt;
 analyze table EMP compute statistics;&lt;br /&gt;
 &lt;br /&gt;
 select * from EMP where c1 = 11;  -- Will trigger auditing&lt;br /&gt;
 select * from EMP where c1 = 09;  -- No auditing&lt;br /&gt;
 &lt;br /&gt;
 -- Now we can see the statements that triggered the auditing condition...&lt;br /&gt;
 select sqltext from sys.fga_log$;&lt;br /&gt;
 delete from sys.fga_log$;&lt;br /&gt;
&lt;br /&gt;
==What is Oracle Label Security?==&lt;br /&gt;
Oracle Label Security (formerly called Trusted Oracle MLS RDBMS) uses the [[VPD]] (Virtual Private Database) feature of Oracle 8i to implement row level security. Access to rows are restricted according to a user's security sensitivity tag or label. Oracle Label Security is configured, controlled and managed from the Policy Manager, an Enterprise Manager-based GUI utility.&lt;br /&gt;
&lt;br /&gt;
[[Category: Frequently Asked Questions]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Newbies_FAQ</id>
		<title>Newbies FAQ</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Newbies_FAQ"/>
				<updated>2012-02-06T18:45:00Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 116.71.13.4 (Talk) to last version by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;General FAQ's about '''Oracle for newbies''' (new users):&lt;br /&gt;
&lt;br /&gt;
==What is Oracle?==&lt;br /&gt;
Oracle is a trademark of [[Oracle Corporation]] and in common usage refers to the database engine (which looks after the data) and a range of front-end products. For more details, see [[Oracle database]].&lt;br /&gt;
&lt;br /&gt;
==Why do people like to work with the Oracle database?==&lt;br /&gt;
People normally chooses Oracle for one of the following reasons:&lt;br /&gt;
&lt;br /&gt;
* Oracle is the number one developer of database management systems (DBMS) software in the world.&lt;br /&gt;
&lt;br /&gt;
* The Oracle DBMS is supported on over 80 different operating environments, ranging from IBM Mainframes, DEC VAX minicomputers, UNIX-based minicomputers, Windows NT and several proprietary hardware-operating system platforms, and is clearly the world's largest RDBMS vendor. Oracle employs more than 17,000 professionals in 93 countries around the world. Their expenditure for research and development is approximately 13% of their revenues.&lt;br /&gt;
&lt;br /&gt;
* Oracle is a leader in high performance, highly scalable database systems - as can be verified by looking at the TPC (Transaction Processing Council) benchmark results. (Reference: http://www.tpc.org/ ).&lt;br /&gt;
&lt;br /&gt;
* Oracle is an industry leader and there are plenty of expertise as well as job opportunities available in the market.&lt;br /&gt;
&lt;br /&gt;
* The Oracle product line is feature rich which makes it exciting to work with their products.&lt;br /&gt;
&lt;br /&gt;
* Oracle is a visionary company - guaranteed to keep you on top of new technological developments.&lt;br /&gt;
&lt;br /&gt;
==How strong is Oracle as a company?==&lt;br /&gt;
Oracle is a stable company and the number one developer of database management systems (DBMS) software in the world. But don't believe us, look at Oracle's recent performance on the stock market (''NASDAQ:ORCL''):&lt;br /&gt;
&lt;br /&gt;
* [http://si.advfn.com/p.php?pid=squote&amp;amp;symbol=ORCL Silicon Investor]&lt;br /&gt;
* [http://finance.yahoo.com/q/bc?s=orcl Yahoo Quotes]&lt;br /&gt;
&lt;br /&gt;
==How fast is the Oracle database?==&lt;br /&gt;
The standard Oracle license agreement prevents users from publishing benchmark results. As a result you will not find many benchmarks on the Net.&lt;br /&gt;
&lt;br /&gt;
The best source for performance related data is the Transaction Processing Performance Council (TPC). Visit their Home Page for published [http://www.tpc.org/ database benchmark results].&lt;br /&gt;
&lt;br /&gt;
Ideas International also has some [http://www.ideasinternational.com/benchmark/ben010.aspx Top Performers Lists].&lt;br /&gt;
&lt;br /&gt;
==Where can I get Oracle software for free?==&lt;br /&gt;
Oracle provides software downloads from their http://otn.oracle.com website. &lt;br /&gt;
&lt;br /&gt;
Some of these products are provided free of charge, while others ship with a development license that allows one to use full versions of these products while developing and prototyping applications. &lt;br /&gt;
&lt;br /&gt;
Some of the free products:&lt;br /&gt;
* [[Oracle XE]] (Express Edition) - Oracle database for your Windows or Linux desktop&lt;br /&gt;
* [[SQL Developer]] - IDE for developing [[SQL]] and [[PL/SQL]] code&lt;br /&gt;
* [[JDeveloper]] - Java development IDE&lt;br /&gt;
&lt;br /&gt;
==Who's selling Oracle?==&lt;br /&gt;
Oracle products cannot be bought as [[COTS|Commercial Off-The Shelf Software]] packages. To buy Oracle you need to contact Oracle's sales division or any of their authorized resellers. A [http://oraclestore.oracle.com website] is also available where the software can be ordered from.&lt;br /&gt;
&lt;br /&gt;
==Where can I post my Oracle questions?==&lt;br /&gt;
One of the best place to start is the support forums at http://www.orafaq.com/forum/. Some uses and developers are answering questions 24 hours a day. Be sure to use the search function to see if your problem has already been addressed before posting!&lt;br /&gt;
&lt;br /&gt;
'''Alternatives:'''&lt;br /&gt;
* [[Forums]] - other forums&lt;br /&gt;
* [[Mailing lists]] - Oracle related mailing lists&lt;br /&gt;
* [[Usenet]] - Oracle USENET NetNews groups&lt;br /&gt;
&lt;br /&gt;
'''Posting guidelines:'''&amp;lt;br&amp;gt;&lt;br /&gt;
Make sure you understand the Netiquette Guidelines before posting your message to any of the above communities. See [[netiquette guidelines]] for details.&lt;br /&gt;
&lt;br /&gt;
When you receive a good answer, it is recommended that you post a summary to the forum/list/newsgroup. It would also be great if you can contribute your new-found knowledge to this wiki.&lt;br /&gt;
&lt;br /&gt;
==Where is the Oracle documentation?==&lt;br /&gt;
See [[documentation]].&lt;br /&gt;
&lt;br /&gt;
==What should I do to get an Oracle job?==&lt;br /&gt;
See [[Getting a job]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Frequently Asked Questions]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Oracle_Call_Interfaces</id>
		<title>Oracle Call Interfaces</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Oracle_Call_Interfaces"/>
				<updated>2012-02-06T18:44:57Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 116.71.13.4 (Talk) to last version by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''Oracle Call Interfaces''' ([[OCI]]) is a set of low-level [[API]]s (Application Programming Interface Calls) used to interact with the [[Oracle Database]]. It allows one to use operations like logon, execute, parse, fetch, etc. OCI programs are normally written in [[C]] or C++, although they can be written in almost any programming language.&lt;br /&gt;
&lt;br /&gt;
Unlike with the Oracle [[Precompilers]] (like [[Pro*C]] and [[Pro*Cobol]]), OCI programs are not precompiled.&lt;br /&gt;
&lt;br /&gt;
==OCI compared to Pro*C==&lt;br /&gt;
OCI is superior to Pro*C in the following ways:&lt;br /&gt;
&lt;br /&gt;
* Performance is much better with OCI&lt;br /&gt;
* Reduced code size&lt;br /&gt;
* Direct access to built-in functions (no intermediate files or substitutions)&lt;br /&gt;
* Piecewise Operation on LONG fields (All LONG field problems are solved)&lt;br /&gt;
* In Pro*C one cannot dynamically allocate memory to be used as bind variables&lt;br /&gt;
* You cannot control the Pro*C precompiler to provide better and more compilable C-code&lt;br /&gt;
&lt;br /&gt;
Common problems with OCI:&lt;br /&gt;
&lt;br /&gt;
* OCI code is difficult to write and to maintain&lt;br /&gt;
* Very few people can write, let alone maintain OCI code&lt;br /&gt;
&lt;br /&gt;
== Programming ==&lt;br /&gt;
An OCI application program must do the following:&lt;br /&gt;
&lt;br /&gt;
* Connect to one or more databases: call the '''OCILogon''' ('''olog''', '''olon''' or '''orlon''') routines&lt;br /&gt;
* Open the cursors needed by the program: use '''oexec''', '''oexn''', '''ofen''' or '''oftech''' calls.&lt;br /&gt;
* Process the SQL statements that are needed to perform the application's tasks.&lt;br /&gt;
* Close the cursors using the '''oclose''' routine.&lt;br /&gt;
* Disconnect from the databases: use '''ologoff''' to close an open connection to oracle.&lt;br /&gt;
&lt;br /&gt;
Look at this very basic sample Oracle OCI8 program:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;oci.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #pragma comment(lib, &amp;quot;d:\orant\oci80\lib\msvc\ora803.lib&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 static OCIEnv           *p_env;&lt;br /&gt;
 static OCIError         *p_err;&lt;br /&gt;
 static OCISvcCtx        *p_svc;&lt;br /&gt;
 static OCIStmt          *p_sql;&lt;br /&gt;
 static OCIDefine        *p_dfn    = (OCIDefine *) 0;&lt;br /&gt;
 static OCIBind          *p_bnd    = (OCIBind *) 0;&lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
   int             p_bvi;&lt;br /&gt;
   char            p_sli[20];&lt;br /&gt;
   int             rc;&lt;br /&gt;
   char            errbuf[100];&lt;br /&gt;
   int             errcode;&lt;br /&gt;
 &lt;br /&gt;
   rc = OCIInitialize((ub4) OCI_DEFAULT, (dvoid *)0,  /* Initialize OCI */&lt;br /&gt;
           (dvoid * (*)(dvoid *, size_t)) 0,&lt;br /&gt;
           (dvoid * (*)(dvoid *, dvoid *, size_t))0,&lt;br /&gt;
           (void (*)(dvoid *, dvoid *)) 0 );&lt;br /&gt;
 &lt;br /&gt;
   /* Initialize evironment */&lt;br /&gt;
   rc = OCIEnvInit( (OCIEnv **) &amp;amp;p_env, OCI_DEFAULT, (size_t) 0, (dvoid **) 0 );&lt;br /&gt;
 &lt;br /&gt;
   /* Initialize handles */&lt;br /&gt;
   rc = OCIHandleAlloc( (dvoid *) p_env, (dvoid **) &amp;amp;p_err, OCI_HTYPE_ERROR,&lt;br /&gt;
           (size_t) 0, (dvoid **) 0);&lt;br /&gt;
   rc = OCIHandleAlloc( (dvoid *) p_env, (dvoid **) &amp;amp;p_svc, OCI_HTYPE_SVCCTX,&lt;br /&gt;
           (size_t) 0, (dvoid **) 0);&lt;br /&gt;
 &lt;br /&gt;
   /* Connect to database server */&lt;br /&gt;
   rc = OCILogon(p_env, p_err, &amp;amp;p_svc, &amp;quot;scott&amp;quot;, 5, &amp;quot;tiger&amp;quot;, 5, &amp;quot;d458_nat&amp;quot;, 8);&lt;br /&gt;
   if (rc != 0) {&lt;br /&gt;
      OCIErrorGet((dvoid *)p_err, (ub4) 1, (text *) NULL, &amp;amp;errcode, errbuf, (ub4) sizeof(errbuf), OCI_HTYPE_ERROR);&lt;br /&gt;
      printf(&amp;quot;Error - %.*sn&amp;quot;, 512, errbuf);&lt;br /&gt;
      exit(8);&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   /* Allocate and prepare SQL statement */&lt;br /&gt;
   rc = OCIHandleAlloc( (dvoid *) p_env, (dvoid **) &amp;amp;p_sql,&lt;br /&gt;
           OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0);&lt;br /&gt;
   rc = OCIStmtPrepare(p_sql, p_err, &amp;quot;select ename from emp where deptno=:x&amp;quot;,&lt;br /&gt;
           (ub4) 37, (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT);&lt;br /&gt;
 &lt;br /&gt;
   /* Bind the values for the bind variables */&lt;br /&gt;
   p_bvi = 10;     /* Use DEPTNO=10 */&lt;br /&gt;
   rc = OCIBindByName(p_sql, &amp;amp;p_bnd, p_err, (text *) &amp;quot;:x&amp;quot;,&lt;br /&gt;
           -1, (dvoid *) &amp;amp;p_bvi, sizeof(int), SQLT_INT, (dvoid *) 0,&lt;br /&gt;
           (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT);&lt;br /&gt;
 &lt;br /&gt;
   /* Define the select list items */&lt;br /&gt;
   rc = OCIDefineByPos(p_sql, &amp;amp;p_dfn, p_err, 1, (dvoid *) &amp;amp;p_sli,&lt;br /&gt;
           (sword) 20, SQLT_STR, (dvoid *) 0, (ub2 *)0,&lt;br /&gt;
           (ub2 *)0, OCI_DEFAULT);&lt;br /&gt;
 &lt;br /&gt;
   /* Execute the SQL statment */&lt;br /&gt;
   rc = OCIStmtExecute(p_svc, p_sql, p_err, (ub4) 1, (ub4) 0,&lt;br /&gt;
           (CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DEFAULT);&lt;br /&gt;
 &lt;br /&gt;
   while (rc != OCI_NO_DATA) {             /* Fetch the remaining data */&lt;br /&gt;
      printf(&amp;quot;%sn&amp;quot;,p_sli);&lt;br /&gt;
      rc = OCIStmtFetch(p_sql, p_err, 1, 0, 0);&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   rc = OCILogoff(p_svc, p_err);                           /* Disconnect */&lt;br /&gt;
   rc = OCIHandleFree((dvoid *) p_sql, OCI_HTYPE_STMT);    /* Free handles */&lt;br /&gt;
   rc = OCIHandleFree((dvoid *) p_svc, OCI_HTYPE_SVCCTX);&lt;br /&gt;
   rc = OCIHandleFree((dvoid *) p_err, OCI_HTYPE_ERROR);&lt;br /&gt;
 &lt;br /&gt;
   return;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Compile and link ==&lt;br /&gt;
Follow these steps to compile and link your OCI programs:&lt;br /&gt;
&lt;br /&gt;
* Write your OCI program (e.g. myoci.c). You can find examples in the $ORACLE_HOME/rdbms/demo directory.&lt;br /&gt;
&lt;br /&gt;
* Copy the make file $[[ORACLE_HOME]]/rdbms/demo/demo_rdbms.mk into the directory where your OCI program is located. You can also copy some of the sample OCI files (cdemo1.c, etc.) provided by Oracle to compile and link.&lt;br /&gt;
&lt;br /&gt;
* Issue the following command:&lt;br /&gt;
 make -f demo_rdbms.mk build EXE=cdemo1 OBJS=cdemo1.o&lt;br /&gt;
&lt;br /&gt;
==OCCI==&lt;br /&gt;
Oracle also provides an enhanced OCI library - called the Oracle C++ Call Interface ('''OCCI'''). OCCI provides an object-oriented interface to the object-relational features of the Oracle database.&lt;br /&gt;
&lt;br /&gt;
==Wrapper classes==&lt;br /&gt;
OCI is an extremely powerful API, but it can take quite some time to master. To ease the learning curve, several wrapper classes were developed to hide all the complexities and make OCI easier to use. &lt;br /&gt;
&lt;br /&gt;
Some of the available libraries are:&lt;br /&gt;
* libsqlora, written by Kai Poitschke (open source)&lt;br /&gt;
* The C Driver for Oracle, written by Vincent Rogier (open source)&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14250/toc.htm Oracle Call Interface Programmer's Guide]&lt;br /&gt;
* [http://www.codeguru.com/cpp/data/mfc_database/oracle/article.php/c4305/ OCI++ - Download free C++ OCI Wrapper]&lt;br /&gt;
* [http://www.geocities.com/skuchin/otl/home.htm Oracle and ODBC Template Library] - C++ library based on templates&lt;br /&gt;
* [http://www.poitschke.de/libsqlora8/ libsqlora8] - Simple C-library to access Oracle via the OCI interface&lt;br /&gt;
* [http://orclib.sourceforge.net/ OCILIB] - Open source library, written in C on top of OCI, that access Oracle Databases&lt;br /&gt;
&lt;br /&gt;
{{Glossary}}&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Papers</id>
		<title>Papers</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Papers"/>
				<updated>2012-02-06T18:44:55Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 116.71.13.4 (Talk) to last version by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below are some free '''Oracle White Papers''' you can download:&lt;br /&gt;
&lt;br /&gt;
{{Note|You can have your papers, reports and presentations published here. Whenever you write an article for a user's group, or a good report to your boss, [[Special:Upload|upload it]] and include it on this page (free papers only).}}&lt;br /&gt;
&lt;br /&gt;
==Oracle Server/ DBA papers==&lt;br /&gt;
* [http://www.orafaq.com/papers/ImplementingOracle10gonWindowsPart1-Jesse.pdf Implementing Oracle 10g on Windows, Part 1: Optimizing Memory Usage]&lt;br /&gt;
* [http://www.orafaq.com/papers/LetUNIXDriveYourOracleInterfaces-Ellis.pdf Let UNIX Drive Your Oracle Interfaces]&lt;br /&gt;
* [http://www.orafaq.com/papers/OraclesApproachtoPerformanceTuningPartI-Addis.pdf Oracle's Approach to Performance Tuning Part I]&lt;br /&gt;
* [http://www.orafaq.com/papers/OraclesApproachtoPerformanceTuningPartII-Addis.pdf Oracle's Approach to Performance Tuning Part II]&lt;br /&gt;
* [http://www.orafaq.com/papers/OracleTraceAnalyzer-ANewTuningTool-Hot.pdf Oracle Trace Analyzer - A New Tuning Tool]&lt;br /&gt;
* [http://www.orafaq.com/papers/SimplifyYourLifewithOracleSQLLoader-Rosh.pdf Simplify Your Life with Oracle SQL*Loader]&lt;br /&gt;
* [http://www.orafaq.com/papers/SubgridLoadBalancingforUtilityComputing-Mor.pdf Subgrid Load Balancing for Utility Computing]&lt;br /&gt;
* [http://www.orafaq.com/papers/SurveyofOracleRecoveryOptions-Call.pdf Survey of Oracle Recovery Options]&lt;br /&gt;
* [http://www.orafaq.com/papers/AnOverviewofOracleSupportforLinux-Addi.pdf An Overview of Oracle Support for the Linux Operating System]&lt;br /&gt;
* [http://www.orafaq.com/papers/WP-GeneratingHigh-QualityTestDatawithSQLLoader.pdf Generating High-Quality Test Data with Oracle SQL*Loader]&lt;br /&gt;
* [http://www.orafaq.com/papers/WP-SubgridLoadBalancingForUtilityComputing.pdf Subgrid Load Balancing for Utility Computing]&lt;br /&gt;
* [http://www.orafaq.com/papers/tuning_asm.pdf Tuning ASM]&lt;br /&gt;
* [http://www.orafaq.com/papers/dissassembling_the_data_block.pdf Disassembling the Oracle Data Block]&lt;br /&gt;
* [http://www.orafaq.com/papers/btree_sizing.pdf Estimate the size of B-tree Indexes]&lt;br /&gt;
* [http://www.orafaq.com/papers/oracle_redo_generation_wp.pdf The Oracle REDO Generation]&lt;br /&gt;
* [http://www.orafaq.com/papers/oracle_read_wp.pdf Why Have Scattered Thoughts About Oracle Reads?]&lt;br /&gt;
* [http://www.orafaq.com/papers/create_non_managed_standby_db.pdf How to Create a Non-Managed  Standby Database]&lt;br /&gt;
* [http://www.orafaq.com/papers/mssql2005_oracle10g_compare.pdf Features comparison between MSSQL 2005 and Oracle 10g] &lt;br /&gt;
* [http://www.orafaq.com/papers/storing_data_directly_from_sga.pdf Reading and Storing Data Directly From Oracle SGA using Pro*C/C code]&lt;br /&gt;
* [http://www.orafaq.com/papers/dbms_sys.doc DBMS_SYSTEM - &amp;quot;missing&amp;quot; section from the PL/SQL supplied packages manual] &lt;br /&gt;
* [http://www.orafaq.com/papers/oradebug.pdf ORADEBUG - Undocumented Oracle Utility]&lt;br /&gt;
* [http://www.orafaq.com/papers/prman.pdf New Features of RMAN]&lt;br /&gt;
* [http://www.orafaq.com/papers/dba_checklist17.doc Oracle DBA Checklist]&lt;br /&gt;
* [http://www.orafaq.com/papers/mrpp-1.0.2.pdf MRPP - Microstate Response-time Performance Profiling]&lt;br /&gt;
* [http://www.orafaq.com/papers/orasanwp.pdf Oracle9i on IBM ESS F20 - Redo Logs and ESS RAID5 volumes: To log or not to log?]&lt;br /&gt;
* [http://www.orafaq.com/papers/dates_o.doc The Oracle Calendar]&lt;br /&gt;
* [http://www.orafaq.com/papers/testdbgen.pdf Test Database Generation and Management]&lt;br /&gt;
* [http://www.orafaq.com/papers/cpu.pdf Hunting Down CPU related issues with Oracle: A functional Approach]&lt;br /&gt;
* [http://www.orafaq.com/papers/lobs.doc Oracle LOBs - what, why and how]&lt;br /&gt;
* [http://www.orafaq.com/papers/sla.doc The Importance of ECommerce, DSS and OLTP End-user Service Level Analysis]&lt;br /&gt;
* [http://www.orafaq.com/papers/skipjob.doc DBA Testimonial: Why DBA's job skip]&lt;br /&gt;
* [http://www.orafaq.com/papers/redolog.pdf Disassembling the Oracle Redolog]&lt;br /&gt;
* [http://www.orafaq.com/papers/sqlload.doc A comparative analysis between SQL Loader and UTL_FILE]&lt;br /&gt;
* [http://www.orafaq.com/papers/tun_all.doc Performance Tuning - Now You are the V8 Expert]&lt;br /&gt;
* [http://www.orafaq.com/papers/spaceman.pps Space &amp;amp; Structure Management Presentation]&lt;br /&gt;
* [http://www.orafaq.com/papers/rollsegs8.pps Rollback Segments Presentation]&lt;br /&gt;
* [http://www.orafaq.com/papers/rep8cons.doc Constraints on Updateable Snapshots with Oracle8 Replication]&lt;br /&gt;
* [http://www.orafaq.com/papers/readonly.doc Riddles of Read-Only Tablespaces]&lt;br /&gt;
* [http://www.orafaq.com/papers/tsqlnete.doc Tuning SQL*Net by minimizing data transmissions]&lt;br /&gt;
* [http://www.orafaq.com/papers/create_8i_db_windows.pdf Create an Oracle8i Database in Windows]&lt;br /&gt;
* [http://www.orafaq.com/papers/bu_reco_wp_12.pdf Oracle8i Backup and Recovery: Planning Metrcs and Rules of Thumb]&lt;br /&gt;
* [http://www.orafaq.com/papers/dbamm.pdf Database Administration Maturity Model]&lt;br /&gt;
* [http://www.orafaq.com/papers/laos16p1.pdf Low Administration Oracle Speciication (LAOS) - Part 1: Avoiding Administration]&lt;br /&gt;
* [http://www.orafaq.com/papers/three_schema_security.doc The Three Schema Security Model]&lt;br /&gt;
* [http://www.orafaq.com/papers/ora73dct.pdf Oracle 7.3 Data Dictionary on a single page]&lt;br /&gt;
&lt;br /&gt;
==Oracle Web/ Application Server and Portal Papers==&lt;br /&gt;
* [http://www.orafaq.com/papers/APortalintoOraclePortal-Callan.pdf A Portal into Oracle Portal - Oracle Portal can serve as a bridge between your users, your company, and the Internet]&lt;br /&gt;
* [http://www.iherve.com/oracle/portal_lov_hierarchy.htm Creating a Hierarchical List of Value component in Portal for folders]&lt;br /&gt;
* [http://www.iherve.com/oracle/plsql_tuning.htm Web Application Performance: Black Magic Tuning Prohibited]&lt;br /&gt;
&lt;br /&gt;
==Oracle Programmer papers==&lt;br /&gt;
* [http://www.orafaq.com/papers/locking.pdf Optimistic Locking with Concurrency in Oracle]&lt;br /&gt;
* [http://www.orafaq.com/papers/WP-LowerYourConsultingCosts-HostOwnJADSession.pdf Lower Your Consulting Costs - Host Your Own Oracle JAD Session]&lt;br /&gt;
&lt;br /&gt;
==Oracle Developer papers==&lt;br /&gt;
* [http://www.orafaq.com/papers/runfrmwp.pdf Shortcut for Oracle Developer Runtime deployment]&lt;br /&gt;
* [http://www.orafaq.com/papers/plstools.pdf Supercharge your PL/SQL Development with the right Tools]&lt;br /&gt;
* [http://www.orafaq.com/papers/d2kinter.doc D2K interview questions]&lt;br /&gt;
* [http://www.orafaq.com/papers/reports.rtf Everything You Ever Wanted To Know About Oracle Reports 2.5]&lt;br /&gt;
* [http://www.orafaq.com/papers/rownum.doc ROWNUMbering with an ORDER BY clause]&lt;br /&gt;
&lt;br /&gt;
==Oracle Designer papers==&lt;br /&gt;
* [http://www.orafaq.com/papers/des6genf.doc Generating a WebForm using Designer 6 : less than an hour]&lt;br /&gt;
* [http://www.orafaq.com/papers/des6noor.doc How to capture the design of a non-Oracle database using Designer 6]&lt;br /&gt;
* [http://www.orafaq.com/papers/des2kstp.doc Twenty Steps to Prototyping with Designer/2000]&lt;br /&gt;
* [http://www.iherve.com/oracle/clone1.htm Web Generate Record Cloning with Designer - Part 1]&lt;br /&gt;
* [http://www.iherve.com/oracle/clone2.htm Web Generate Record Cloning with Designer - Part 2]&lt;br /&gt;
* [http://www.iherve.com/oracle/mass_upd.htm Web Generate Mass Updates with Designer]&lt;br /&gt;
* [http://www.iherve.com/oracle/refresh.htm Web Generate Auto-Refresh Pages with Designer]&lt;br /&gt;
* [http://www.iherve.com/oracle/wg_title.htm Designer 2.1.2: Web Generate those Titles]&lt;br /&gt;
* [http://www.iherve.com/oracle/wg_call.htm Web Generate Powerful Navigation with Designer 2.1.2]&lt;br /&gt;
* [http://www.iherve.com/oracle/apicolna.htm Designer/2000 2.1.2. API: Enforcing Column Naming Standards]&lt;br /&gt;
* [http://www.iherve.com/oracle/attnolen.htm Designer/2000 2.1.2. QC API: List attributes with no maximum length specification]&lt;br /&gt;
* [http://www.iherve.com/oracle/apicoldi.htm Designer/2000 2.1.2. API: Fast Display Setting for Columns with Allowable Values]&lt;br /&gt;
* [http://www.iherve.com/oracle/apivwdis.htm Designer/2000 API: Providing View Column Display Properties]&lt;br /&gt;
* [http://www.iherve.com/oracle/drill.doc Generating 100% drilling with Designer/2000]&lt;br /&gt;
* [http://www.iherve.com/oracle/aordby.htm Ordering by Lookup DCU using Designer/2000]&lt;br /&gt;
* [http://www.iherve.com/oracle/apiqdom.htm Designer/2000 API: Jump Start a new application in Designer 2000]&lt;br /&gt;
* [http://www.iherve.com/oracle/anal_chk.htm Designer/2000 QA: Better than a matrix: Function Entity Usages Exceptions]&lt;br /&gt;
* [http://www.iherve.com/oracle/ghostrel.htm Designer/2000 QA: Ghost Relationships]&lt;br /&gt;
* [http://www.iherve.com/oracle/apiachar.htm Designer/2000 API: Replacing CHAR with VARCHAR2]&lt;br /&gt;
* [http://www.iherve.com/oracle/apiidom.htm Designer/2000 API: Creating First Cut Domains for all Attributes]&lt;br /&gt;
* [http://www.iherve.com/oracle/apirgdis.htm Designer/2000 API: Retrofitting DCU Display Properties]&lt;br /&gt;
&lt;br /&gt;
==Oracle ERP Applications papers==&lt;br /&gt;
* [http://www.orafaq.com/papers/BuildingReportsUsingOraclesFlexfieldSupportAPI-Addeo.pdf Building Reports Using Oracle's Flexfield Support API]&lt;br /&gt;
* [http://www.orafaq.com/papers/RealTimeMigrationofOracleApplicationSetupsDoneInHouse-Ellis.pdf Real Time Migration of Oracle Application Setups Done In House]&lt;br /&gt;
* [http://www.orafaq.com/papers/MigratingfromSQLServer2000toOracle9i-Couch.pdf Migrating from SQL Server 2000 to Oracle 9i]&lt;br /&gt;
* [http://www.orafaq.com/papers/Oracle11iReceivablesImplementationPrimer-Cheetah.pdf Oracle 11i Receivables Implementation Primer]&lt;br /&gt;
* [http://www.orafaq.com/papers/Oracle11iShippingExecution-Ma.pdf Oracle 11i Shipping Execution – Interface Trip Stop Trouble Shooting]&lt;br /&gt;
* [http://www.orafaq.com/papers/OracleApplicationDatabaseManagementPartI-Rosh.pdf Oracle Application Database Management Part I - Take Database Monitoring in Oracle Applications Manager to the Next Level]&lt;br /&gt;
* [http://www.orafaq.com/papers/OracleApplicationDatabaseManagementPartII-Rosh.pdf Oracle Application Database Management Part II - Navigating Oracle Applications Manager]&lt;br /&gt;
* [http://www.orafaq.com/papers/OracleKeyFlexfields-Cam.pdf Oracle Key Flexfields – Security, Tips, and Tricks]&lt;br /&gt;
* [http://www.orafaq.com/papers/BattlingGrowthandStayingCompliant-Scott.pdf Battling Growth and Staying Compliant Through Oracle Application Archiving]&lt;br /&gt;
* [http://www.orafaq.com/papers/WP-OracleDevelopmentPartI-CustomizationsProtected.pdf Oracle Development - Part 1: Are Your Customizations Protected?]&lt;br /&gt;
* [http://www.orafaq.com/papers/WP-OracleDevelopmentPartII-CustmztnCodingGuidelines.pdf Oracle Development - Part II: Coding Guidelines for Customizations]&lt;br /&gt;
* [http://www.orafaq.com/papers/WP-OracleDevelopmentPartIII-CodingStandards.pdf Oracle Development - Part III: Coding Standards]&lt;br /&gt;
* [http://www.orafaq.com/papers/WP-InstantCloningUnderYourControl.pdf Instance Cloning Under Your Control: Taking the Mystery Out of Replicating 11i Instances]&lt;br /&gt;
* [http://www.orafaq.com/papers/WP-OvercomingBarrierstoSupplierCollaboration.pdf Overcoming Barriers to Supplier Collaboration]&lt;br /&gt;
* [http://www.orafaq.com/papers/MaintainingUniqueCustomerProfile-Kana.pdf Maintaining &amp;quot;Unique Customer Profile&amp;quot; for Oracle CRM Implementations]&lt;br /&gt;
* [http://www.orafaq.com/papers/DiscovererPortletsforSharing11iOrder-Guen.pdf Discoverer Portlets for Sharing 11i Order Management Data with Customers]&lt;br /&gt;
* [http://www.orafaq.com/papers/OracleHRMSPositionControl-Addeo.pdf Oracle HRMS Position Control – Do You Really Have Control?]&lt;br /&gt;
* [http://www.orafaq.com/papers/InstanceCloningUnderYourControl-Lui.pdf Instance Cloning Under Your Control: Taking the Mystery Out of Replicating 11i Instances]&lt;br /&gt;
* [http://www.orafaq.com/papers/BatchInvoiceUploadsintoOraclePayables-Ellis.pdf Batch Invoice Uploads into Oracle Payables Using MS Excel]&lt;br /&gt;
* [http://www.orafaq.com/papers/11iInventorysCostCutoffDate-Guen.pdf 11i Inventory’s Cost Cutoff Date – Defer Costing Until Your Standard Costs Have Been Updated!]&lt;br /&gt;
* [http://www.orafaq.com/papers/WhereIsOracleTimeandLaborHeaded-Berl.pdf Where Is Oracle Time and Labor Headed?]&lt;br /&gt;
* [http://www.orafaq.com/papers/WhyOracleiProcurement-Berl.pdf Why Oracle iProcurement]&lt;br /&gt;
* [http://www.orafaq.com/papers/WorkOrderlessCompletion-Guenther.pdf Work Order-less Completion as an Alternative to Outside Processing]&lt;br /&gt;
* [http://www.orafaq.com/papers/mail_concurrent_request_output.pdf How to send log or output files as an attached mail]&lt;br /&gt;
* [http://www.orafaq.com/papers/apps_workflow_with_ebs.pdf Using Oracle Workflow with Ebusiness Suite]&lt;br /&gt;
* [http://www.orafaq.com/papers/apps_financial_archive_and_purge.pdf Oracle Financials Archive and Purge]&lt;br /&gt;
* [http://www.orafaq.com/papers/apps_11i10_forms_personalization.pdf Oracle Applications 11i10 - Forms Personalization]&lt;br /&gt;
* [http://www.orafaq.com/papers/oracle_aim.pdf Enhance your project documentation process with Oracle Applications Implementation Methodology (AIM)]&lt;br /&gt;
* [http://www.caosys.com/caosys/docs/Introducing%20Extreme-RAD%20for%20Oracle%20EBS.pdf Introducing Extreme Rapid Application Development for Oracle E-Business Suite]&lt;br /&gt;
&lt;br /&gt;
==Oracle Warehousing and Discoverer papers==&lt;br /&gt;
* [http://www.orafaq.com/papers/data_sanitization.pdf Data Sanitization Techniques]&lt;br /&gt;
* [http://www.orafaq.com/papers/OracleDiscoverer10gInterfaces-Hotka.pdf Oracle Discoverer 10g Interfaces]&lt;br /&gt;
* [http://www.orafaq.com/papers/OracleDiscoverer10gMoreThenAReportingTool-Addeo.pdf Oracle Discoverer 10g – Is It More Than a Simple Reporting Tool]&lt;br /&gt;
&lt;br /&gt;
==Other papers==&lt;br /&gt;
* [http://www.orafaq.com/papers/TenWaystoKnowWhenYourOracleProjecthasTakenOverYourLife-Humor.pdf Ten Ways to Know When Your Oracle Project has Taken Over Your Life (Humor)]&lt;br /&gt;
* [http://www.orafaq.com/papers/ItTakesAllKinds-Humor.pdf It Takes All Kinds (Humor)]&lt;br /&gt;
* [http://www.orafaq.com/papers/DecisionsDecisionsFiveThingsCIOsOftenForget-Rhoads.pdf Decisions Decisions - Five Things CIO's Often Forget]&lt;br /&gt;
* [http://www.orafaq.com/papers/TheLifeofanEmail-Cal.pdf The Life of an Email]&lt;br /&gt;
* [http://www.orafaq.com/papers/TOADTipsandTechniques-Hotka.pdf TOAD Tips and Techniques]&lt;br /&gt;
* [http://www.orafaq.com/papers/UseYourCreativity-Brown.pdf Use Your Creativity]&lt;br /&gt;
* [http://www.orafaq.com/papers/DoYouHaveanAffirmativeActionPlan-McDonald.pdf Do You Have an Affirmative Action Plan]&lt;br /&gt;
* [http://www.orafaq.com/papers/HowMuchIsThatOracleDatabaseintheWindow-Callan.pdf How Much Is That Oracle Database in the Window]&lt;br /&gt;
* [http://www.orafaq.com/papers/OraclesPresenceintheEmbeddedSystems-Addis.pdf Oracle's Presence in the Embedded Systems Software Market: An Overview]&lt;br /&gt;
* [http://www.DataMasker.com/DataMasking_WhatYouNeedToKnow.pdf Data Masking: What You Need To Know]&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
This site obtained the right to publish and distribute all papers listed here. Please consult each paper for details about the copyright holder.&lt;br /&gt;
&lt;br /&gt;
Many of the above papers were donated by [http://www.oratips.com OraTips.com].&lt;br /&gt;
&lt;br /&gt;
==Other sites with Oracle papers==&lt;br /&gt;
* Oracle's [http://www.oraclewhitepapers.com oraclewhitepapers.com] site.&lt;br /&gt;
* [http://www.iherve.com/oracle/index.shtml Herv Deschamps' Oracle Papers]&lt;br /&gt;
* [http://www.orapub.com/ OraPub of Earth] - Read/ submit Oracle related white papers&lt;br /&gt;
&lt;br /&gt;
==Browser plugin's needed to view papers==&lt;br /&gt;
* Download [http://www.adobe.com/products/acrobat/readstep.html Adobe Acrobat Reader] (free of charge).&lt;br /&gt;
* Get the [http://www.microsoft.com/downloads MS-Word Plugin] from Microsoft (free of charge)&lt;br /&gt;
* [http://www.openoffice.org/ Open Office] (read MS-Word documents on Windows or Linux)&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Oracle_Product_Set</id>
		<title>Oracle Product Set</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Oracle_Product_Set"/>
				<updated>2012-02-06T18:44:52Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 116.71.13.4 (Talk) to last version by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Oracle Corporation provides the following '''products''':&lt;br /&gt;
&lt;br /&gt;
== Oracle Database Server ==&lt;br /&gt;
The [[Oracle database]] server is available in the following editions:&lt;br /&gt;
&lt;br /&gt;
=== Oracle Enterprise Edition ===&lt;br /&gt;
Oracle's top-end database server product.&lt;br /&gt;
&lt;br /&gt;
The following optional database options can be purchased separately. These options are only available with the Enterprise Edition: &lt;br /&gt;
&lt;br /&gt;
==== Partitioning Option ====&lt;br /&gt;
The [[partitioning]] option allows DBAs to split large tables into more manageable sub-tables (partitions). Some of the advantages offered:&lt;br /&gt;
* Partitions can be stored in different tablespaces; &lt;br /&gt;
* Partitions can be added/ removed while users are working;&lt;br /&gt;
* Data can be selected from targeted partitioned without having to scan all partitions for rows (partition pruning). &lt;br /&gt;
&lt;br /&gt;
==== Spatial Option ====&lt;br /&gt;
The [[Spatial]] option store geographical information (GPS coordinates for instance) with records.&lt;br /&gt;
&lt;br /&gt;
==== Real Application Clusters Option ====&lt;br /&gt;
[[Real Application Clusters]] (RAC) - formerly called Oracle Parallel Server (OPS) - allows more than one instance to mount and open an Oracle database. RAC can only be used on special clustered systems.&lt;br /&gt;
&lt;br /&gt;
==== Advanced Security Option ====&lt;br /&gt;
Oracle [[Advanced Security]] (formerly Advanced Networking Option) provides a suite of security features to protect a company's network by providing network encryption, authentication solutions, single sign-on services, and support for other security protocols.&lt;br /&gt;
&lt;br /&gt;
==== Oracle Label Security ====&lt;br /&gt;
Row level security based on stringent government and commercial requirements; sensitivity labels (i.e. confidential, doctor-patient only, top secret) provide better intellectual property protection and privacy.&lt;br /&gt;
&lt;br /&gt;
==== Oracle OLAP ====&lt;br /&gt;
[[Oracle OLAP]] offers a complete set of analytical functions fully integrated within the database.&lt;br /&gt;
&lt;br /&gt;
==== Oracle Data Mining ====&lt;br /&gt;
[[Oracle Data Mining]] offers embedded data mining for classifications, predictions, and associations to build advanced business intelligence applications.&lt;br /&gt;
&lt;br /&gt;
==== Database Vault ====&lt;br /&gt;
A new option to Oracle Database 10g Release 2 Enterprise Edition that lets you control who, when, and where data and applications can be accessed, protecting against the most common security threat like malicious internal users.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Oracle Standard Edition ===&lt;br /&gt;
Four-processor version of Oracle Database 10g, including full clustering support (Real Application Clusters). &lt;br /&gt;
&lt;br /&gt;
=== Oracle Standard Edition One ===&lt;br /&gt;
Two-processor version of Standard Edition at an attractive entry-level price. Real Application Clusters is NOT included with Oracle Database Standard Edition One.&lt;br /&gt;
&lt;br /&gt;
=== Oracle Personal Edition ===&lt;br /&gt;
Full-featured version for individuals, compatible with the entire Oracle Database family (except Real Application Clusters). &lt;br /&gt;
&lt;br /&gt;
=== Oracle Express Edition ===&lt;br /&gt;
[[Oracle XE]] is a free version of Oracle that is limited to 1 processor, 1 GB RAM and 4 GB of data. It is also limited to 1 database on a computer, since the database must be named XE which must be unique.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Oracle Enterprise Manager ==&lt;br /&gt;
The following [[Enterprise Manager]] management packs are available. These packs must be separately licensed:&lt;br /&gt;
&lt;br /&gt;
=== Oracle Configuration Management Pack ===&lt;br /&gt;
Track hardware and software configuration for hosts and databases plus cloning for database instances and Oracle home to facilitate deployments. Implement Policies, including Security checks and scoring.&lt;br /&gt;
&lt;br /&gt;
=== Oracle Change Management Pack ===&lt;br /&gt;
Evaluate, plan for, and implement database schema changes to support new application requirements; eliminate errors/data loss when making changes; minimize downtime. &lt;br /&gt;
&lt;br /&gt;
=== Oracle Diagnostics Pack ===&lt;br /&gt;
Ensure high availability of mission-critical business systems by reducing the number of complex performance tasks.&lt;br /&gt;
&lt;br /&gt;
=== Oracle Tuning Pack (requires Diagnostics Pack) ===&lt;br /&gt;
Dynamic tuning recommendations for more-efficient resource utilization, higher transaction throughput, faster query performance; avoid costly hardware, memory, and disk upgrades.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Oracle Internet Application Server ==&lt;br /&gt;
iAS ([[Internet Application Server]]) is Oracle's [[J2EE]]-based Application Server. iAS is divided into Infrastructure and Middle Tier components:&lt;br /&gt;
&lt;br /&gt;
Infrastructure Components:&lt;br /&gt;
* Metadata Repository&lt;br /&gt;
* [[Oracle Internet Directory]] ([[OID]])&lt;br /&gt;
* Management Server&lt;br /&gt;
* Single Sign-On (SSO)&lt;br /&gt;
* Delegated Administration Services (DAS)&lt;br /&gt;
&lt;br /&gt;
Middle Tier Components:&lt;br /&gt;
* [[OC4J]] and Webcache&lt;br /&gt;
* [[Oracle Portal|Portal]] and Wireless&lt;br /&gt;
* Business Intelligence and Forms (including [[Forms Server]] and [[Reports Server]])&lt;br /&gt;
&lt;br /&gt;
== Oracle Developer Suite ==&lt;br /&gt;
The [[Oracle Developer Suite]] consists of the following products:&lt;br /&gt;
&lt;br /&gt;
* [[Forms]] Developer &lt;br /&gt;
* [[Reports]] Developer&lt;br /&gt;
* [[JDeveloper]]&lt;br /&gt;
* [[Designer]]&lt;br /&gt;
* SCM (Software Configuration Manager)&lt;br /&gt;
* [[Discoverer]] Administrator&lt;br /&gt;
* [[Warehouse Builder]]&lt;br /&gt;
* Clickstream Intelligence Builder&lt;br /&gt;
* Business Intelligence Beans&lt;br /&gt;
&lt;br /&gt;
== Oracle Collaboration Suite == &lt;br /&gt;
Oracle [[Collaboration Suite]] ([[OCS]]) consists of components like:&lt;br /&gt;
&lt;br /&gt;
* Oracle Mail&lt;br /&gt;
* Oracle Calendar&lt;br /&gt;
* Oracle Voicemail &amp;amp; Fax&lt;br /&gt;
* Oracle Mobile Access&lt;br /&gt;
* Oracle Discussions&lt;br /&gt;
* Oracle Web Conferencing&lt;br /&gt;
* Oracle Messenger&lt;br /&gt;
* Oracle Workspaces (managing team and project collaboration)&lt;br /&gt;
* Oracle Content Services (content management system)&lt;br /&gt;
&lt;br /&gt;
== E-Business Suite (Oracle Applications) ==&lt;br /&gt;
Oracle Applications like Financials, HR, GL, CRM, etc: &lt;br /&gt;
&lt;br /&gt;
* [[Oracle Financials]] - run by the accounting department&lt;br /&gt;
&lt;br /&gt;
* [[Human Resources]] (HR) - run by the human resources department&lt;br /&gt;
&lt;br /&gt;
* [[Manufacturing]] - helps to figure out what materials are needed to input to get a certain amount of product.&lt;br /&gt;
&lt;br /&gt;
* [http://www.customwrittenpaper.com/ Custom Written Paper]&lt;br /&gt;
 &lt;br /&gt;
This also includes recently purchased solutions like [[PeopleSoft]], [[Baan]], etc.&lt;br /&gt;
&lt;br /&gt;
[[Category:Oracle Corporation]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Express</id>
		<title>Express</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Express"/>
				<updated>2012-02-06T18:44:50Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 116.71.13.4 (Talk) to last version by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Oracle Express''' was a multi-dimensional database and application development environment for building [[OLAP]] applications.&lt;br /&gt;
&lt;br /&gt;
Normal relational databases store data in two-dimensional tables and analytical queries against them can be very slow. Express provides its own specialized database for storing muti-dimensional data. Data in a multi-dimensional database is stored as business people views it, allowing them to slice and dice the data to answer business questions. When designed correctly, an OLAP database will provide much faster response times for analytical queries.&lt;br /&gt;
&lt;br /&gt;
Oracle Express is no longer actively promoted by Oracle and is officially end-of-life (tho still used by satisfied customers across the world).  The successor is [[Oracle OLAP]] - the Oracle Database OLAP Option.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
At the heart of the Express server are [[data dimension|dimensions]] and [[variable]]s. Dimensions are the elements that an Express database is broken down by. These are often the &amp;quot;keys&amp;quot; of a database. Examples of dimensions are PRODUCT, REGION or TIME.&lt;br /&gt;
&lt;br /&gt;
Variables are the objects that hold data in an Express database. These are simply arrays of values (usually numeric) that are &amp;quot;dimensioned&amp;quot; by the dimensions in a database. For example, a SALES variable may be dimensioned by PRODUCT, REGION, and TIME. This three-dimensional variable or array is often visualized as a cube of data (though there can of course be more than three variables, which are not as easy to visualise).&lt;br /&gt;
&lt;br /&gt;
Express databases can have multiple variables, with common or a unique set of dimensions. This multi-dimensional view of data is especially useful for OLAP applications.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
[[Oracle Corporation]] purchased Express from IRI in [[1995]]. Oracle later replaced Express with the [[Oracle OLAP]], a Database option available from [[Oracle 9i]].  In [[Oracle 10g]], and especially in [[Oracle 11g]], the Oracle Database OLAP Option reached maturity and has become a powerful feature of the Database for Business Intelligence, Data Warehousing and operational systems that can benefit from its performance and multidimensional calculation power.&lt;br /&gt;
&lt;br /&gt;
Express was originally written in AED, an MIT-created language based on ALGOL, and first made commercially available by a company called MDS. One of the original uses was as array-manager for [[Fortran]], one of the main languages of the day.  Its popularity grew as an end-user tool for data analysis, and was acquired by IRI as a technology to deliver that firms market research data and analysis.  It was re-written in C during the 1980's at which point the portability of the code meant that IRI was able to make Express available of a range of operating systems. IRI then also developed a set of end-user tools and applications that made it easy to deploy Express technology to a wide range of business use-cases.&lt;br /&gt;
&lt;br /&gt;
Today, the OLAP Option to the Oracle Database retains much of the Express heritage of rich multidimensional power, but does so within the context of the Oracle Database, thus inheriting other features of Oracle, and being accessible via simple SQL.&lt;br /&gt;
&lt;br /&gt;
==Express product set==&lt;br /&gt;
Express Engine:&lt;br /&gt;
* Express Server - multi-dimensional data store&lt;br /&gt;
* Personal Express - single user express server&lt;br /&gt;
&lt;br /&gt;
Express Tools:&lt;br /&gt;
* Express Analyzer - reporting and analysis tool&lt;br /&gt;
* Express Objects - object-oriented development environment for Express Server&lt;br /&gt;
* Express Web Publisher - Develop Briefings for Web Deployment&lt;br /&gt;
* Express Spreadsheet Add-in - MS-Excel interface to the Express Server&lt;br /&gt;
&lt;br /&gt;
Express OLAP Applications:&lt;br /&gt;
* Sales Analyzer ([http://www.oracle.com/applications/financials/SalesAnalyzerOct2002.pdf OSA]) - analyse sales, marketing and other corporate data&lt;br /&gt;
* Sales Analyzer Client&lt;br /&gt;
* Sales Brief Client&lt;br /&gt;
&lt;br /&gt;
* Financial Analyzer ([[OFA]]) - financial reporting, analysis, budgeting, and planning&lt;br /&gt;
* Financial Analyzer Client&lt;br /&gt;
&lt;br /&gt;
* Financial Controller&lt;br /&gt;
* Financial Controller Client&lt;br /&gt;
* Data Entry Client&lt;br /&gt;
&lt;br /&gt;
==Start and stop==&lt;br /&gt;
For Windows NT servers, use the Express Service Manager utility or stop and start the NT Service from the NT Service manager.&lt;br /&gt;
&lt;br /&gt;
For Unix systems, do the following from root:&lt;br /&gt;
 cd $ORACLE_HOME/olap&lt;br /&gt;
 ./express.prm&lt;br /&gt;
 bin/express.sh start&lt;br /&gt;
&lt;br /&gt;
== Create an express database ==&lt;br /&gt;
The Express Administrator provides an easy to use interface to create and maintain express databases. Express administrator will use commands like this to create a database:&lt;br /&gt;
&lt;br /&gt;
 -&amp;amp;gt; DATABASE CREATE mydb ATTACH&lt;br /&gt;
 -&amp;amp;gt; DEFINE department DIMENSION TEXT&lt;br /&gt;
 -&amp;amp;gt; DEFINE employee   DIMENSION TEXT&lt;br /&gt;
 -&amp;amp;gt; DEFINE month      DIMENSION TEXT&lt;br /&gt;
 -&amp;amp;gt; DEFINE salary     VARIABLE  NUMBER &amp;amp;lt;month employee department&amp;amp;gt;&lt;br /&gt;
 -&amp;amp;gt; UPDATE&lt;br /&gt;
&lt;br /&gt;
Note: Sales Analyser and Financial Analyser needs to create their own databases.&lt;br /&gt;
&lt;br /&gt;
== Connecting to Express ==&lt;br /&gt;
The Express Connection Editor (ECE) utility must be used create connection files (.XCF files) before you can establish a connection to an Express Server. You can test your .XCF files with the Express Connection Utility (ECU) (also known as the Remote Connection Utility).&lt;br /&gt;
&lt;br /&gt;
For example, to connect to an Express 6.x server on a NT or Unix platform, you can use the following settings:&lt;br /&gt;
* Host Name: name or IP of your machine&lt;br /&gt;
* Transport: ora_ro_tcp (Oracle Remote Operations)&lt;br /&gt;
* UUID: Leave this field blank&lt;br /&gt;
* Authentication Type: Host (Server Login)&lt;br /&gt;
&lt;br /&gt;
== Query an express database ==&lt;br /&gt;
The following alternatives are available:&lt;br /&gt;
* Use Express Analyser to create a Briefing&lt;br /&gt;
* Use Express Web Publisher to create a WebBriefing&lt;br /&gt;
* Use Express Objects to develop a nice front-end to your database&lt;br /&gt;
* Write a SPL script to query the database.&lt;br /&gt;
&lt;br /&gt;
Look at this scripting example:&lt;br /&gt;
 -&amp;amp;gt; ALLSTAT&lt;br /&gt;
 -&amp;amp;gt; LIMIT PRODUCT TO 'TOYOTA'&lt;br /&gt;
 -&amp;amp;gt; LIMIT GEOGRAPHY TO 'AFRICA'&lt;br /&gt;
 -&amp;amp;gt; LIMIT TIME TO LAST 3&lt;br /&gt;
 -&amp;amp;gt;&lt;br /&gt;
 -&amp;amp;gt; REPORT SALES&lt;br /&gt;
 -&amp;amp;gt; REPORT DOWN GEOGRAPHY SALES&lt;br /&gt;
 -&amp;amp;gt; REPORT smallest(SALES), largest(SALES), average(SALES)&lt;br /&gt;
&lt;br /&gt;
== Backup and recover Express Databases ==&lt;br /&gt;
Do a file system backup of the Oracle Express database files (*.db). Always backup the system databases with user databases as they contain catalog information about them. These system databases are very small and can be found in subdirectories below $OLAP_HOME/oes630/.&lt;br /&gt;
&lt;br /&gt;
Oracle Express databases cannot be backed-up with Oracle's backup and recovery tools, however Express applications (like Financial Analyzer and Sales Analyzer) normally provides their own administration functions.&lt;br /&gt;
&lt;br /&gt;
== Oracle Express and read consistency ==&lt;br /&gt;
Each Express user gets his own dedicated workspace that preserves the state of the data at the point in time that they attach to the database. This ensures '''read repeatability'''.&lt;br /&gt;
Users will not see others' updates until they re-attach. In other words, if they run the same analysis more than once they will get the same results. Internally the system will maintain &amp;quot;before&amp;quot; and &amp;quot;after&amp;quot; images as long as someone is still reading them.&lt;br /&gt;
&lt;br /&gt;
==  Writing SPL scripts ==&lt;br /&gt;
Oracle Express SPL (Stored Procedure Language) scripts can be written and executed by the ''oescmd'' command line interpreter. Look at these examples:&lt;br /&gt;
&lt;br /&gt;
 # Unix scripting example&lt;br /&gt;
 . $ORACLE_HOME/olap/express.prm         # Set the environment&lt;br /&gt;
 $ORACLE_HOME/olap/bin/oescmd            # Start command interpreter&lt;br /&gt;
 &lt;br /&gt;
 -&amp;amp;gt; database attach express         &amp;quot; Attach a database&lt;br /&gt;
 -&amp;amp;gt; database list&lt;br /&gt;
 -&amp;amp;gt; database detach express&lt;br /&gt;
 &lt;br /&gt;
 -&amp;amp;gt; outfile 'db_structure.lst'      &amp;quot; Describe database structure&lt;br /&gt;
 -&amp;amp;gt; listnames&lt;br /&gt;
 -&amp;amp;gt; dbdescribe&lt;br /&gt;
 -&amp;amp;gt; outfile eof&lt;br /&gt;
 &lt;br /&gt;
 -&amp;amp;gt; database create myexpress.db attach     &amp;quot; Create a new database&lt;br /&gt;
 -&amp;amp;gt; database password manager&lt;br /&gt;
 &lt;br /&gt;
 -&amp;amp;gt; DEFINE HELLO PROGRAM            &amp;quot; Write a program&lt;br /&gt;
       PROGRAM&lt;br /&gt;
           show 'Look Ma, I can execute express commands...'&lt;br /&gt;
       END&lt;br /&gt;
 -&amp;amp;gt; DESCRIBE HELLO&lt;br /&gt;
 -&amp;amp;gt; CALL HELLO                      &amp;quot; Execute program&lt;br /&gt;
&lt;br /&gt;
Of course you can do this via an easy-to-use GUI interfaces.&lt;br /&gt;
&lt;br /&gt;
== Abbreviating Express commands ==&lt;br /&gt;
Yes, use the first letter of the command with the next two consonants. Look at these examples:&lt;br /&gt;
* RPR = REPORT&lt;br /&gt;
* DTB = DATABASE&lt;br /&gt;
* DSC = DESCRIBE&lt;br /&gt;
&lt;br /&gt;
Some of the commands can be extremely cryptic. For example 'RPR W 10 D 0 SALES' is equivalent to 'REPORT WIDTH 10 DECIMAL 0 SALES'.&lt;br /&gt;
&lt;br /&gt;
Note: Express program names cannot be abbreviated. Eg. DBREPORT, LISTNAMES, etc.&lt;br /&gt;
&lt;br /&gt;
== Accessing relational data sources ==&lt;br /&gt;
Relational Data can be IMPORTed into an express database from the Express Administrator. Choose this option if you need to perform '''OLAP analysis''' on data from Oracle and other databases. Use menu item ''File -&amp;gt; Import'' or write a SPL scrip to import the data. Look at this scripting example:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot; Verify the available types of SQL Support...&lt;br /&gt;
 SHOW SQL.DBMSLIST&lt;br /&gt;
 &lt;br /&gt;
 &amp;quot; Connect to ORACLE Database...&lt;br /&gt;
 SQL.DBMS='oracle'&lt;br /&gt;
 SQLMESSAGES = yes&lt;br /&gt;
 SQL CONNECT monitor IDENTIFIED BY oramon&lt;br /&gt;
 &lt;br /&gt;
 &amp;quot; Check for errors&lt;br /&gt;
 if SQLCODE eq 0&lt;br /&gt;
 then do&lt;br /&gt;
   row w 60 'Connected to database ' w 8 tod today&lt;br /&gt;
 doend&lt;br /&gt;
 else do&lt;br /&gt;
   row w 60 'ERROR: Failed to connect to database' w 8 tod today&lt;br /&gt;
 doend&lt;br /&gt;
 &lt;br /&gt;
 &amp;quot; Prepare cursor&lt;br /&gt;
 SQL DECLARE c1 CURSOR FOR select tname from tab&lt;br /&gt;
 &amp;quot; etc...&lt;br /&gt;
&lt;br /&gt;
The Express Relational Access Manager (RAM) is used to access Oracle and other ODBC data sources directly. This effectively turns the Express Server into a '''ROLAP analysis''' (Relational OLAP) engine. Configuration is done via the RAA (Relational Access Administrator) GUI utility.&lt;br /&gt;
&lt;br /&gt;
== SNAPI and XCA ==&lt;br /&gt;
SNAPI (Structured N-dimensional API) is an application programming interface that allows you to create Microsoft Windows applications that interact with Express. SNAPI is distributed with Personal Express and the Express Server.&lt;br /&gt;
&lt;br /&gt;
XCA (Express Communications Architecture) provides peer-to-peer communications between express databases.&lt;br /&gt;
&lt;br /&gt;
== Accessing Express data from C/ VB/ Powerbuilder, etc. ==&lt;br /&gt;
Yes, the SNAPI API is a set of C-language interfaces to Express. See the Express SNAPI guide for example programs.&lt;br /&gt;
&lt;br /&gt;
Note: Data can also be accessed via the Express Spreadsheet Add-in.&lt;br /&gt;
&lt;br /&gt;
==Express terminology==&lt;br /&gt;
Some commonly used express terminology:&lt;br /&gt;
* BTM = Oracle express BaTch Manager&lt;br /&gt;
* EIF = Express Interchange File Format (output of an Express Export)&lt;br /&gt;
* OEA = Oracle Express Analyzer&lt;br /&gt;
* OEO = Oracle Express Objects&lt;br /&gt;
* OES = Oracle Express Server&lt;br /&gt;
* OFA = Oracle Financial Analyzer&lt;br /&gt;
* OSA = Oracle Sales Analyzer&lt;br /&gt;
* RAA = Oracle express Relational Access Administrator&lt;br /&gt;
* RAM = Oracle express Relational Access Manager&lt;br /&gt;
* SNAPI = Structured N-dimensional Application Programming Interface&lt;br /&gt;
* SPL = The Express Stored Procedure Language&lt;br /&gt;
* XCA = Express Communications Architecture&lt;br /&gt;
&lt;br /&gt;
==Also see==&lt;br /&gt;
* [[Oracle OLAP]] - Express Server's successor product&lt;br /&gt;
&lt;br /&gt;
There is a very direct relationship between Express Server and the OLAP Option to the Oracle Database.&lt;br /&gt;
&lt;br /&gt;
In Oracle Database, an &amp;quot;Analytic Workspace&amp;quot; is the equivalent of an Express Server &amp;quot;database&amp;quot;. It has all (and more) of the multidimensional data types, and calculation power of Express.  The core functionality, including the Express Language (SPL) remains available inside Oracle Database (where it is called the OLAP DML and can be leveraged by OLAP developers). However, &amp;quot;Express&amp;quot; has been dramatically improved as it has been embedded into the Oracle Database, and made much more accessible. &lt;br /&gt;
&lt;br /&gt;
From the OLAP Cube perspective : Performance and analytic functionality have been improved significantly, and the SQL Access feature makes it possible to embed advanced multidimensional calculation power and performance into 'any' tool or application that can connect to and query an Oracle Database.  It also means that multidimensional data &amp;amp; calculations can be combined with any other data managed by, or accessible through, the Oracle Database via a simple SQL Join.  This has dramatic usability and performance implications for contemporary Business Intelligence and Data Warehousing systems, and makes it possible for operational systems based on Oracle Database to seamlessly leverage the multidimensional calculation engine, including its sophisticated support for time series calculations, aggregations, allocations and forecasts.&lt;br /&gt;
&lt;br /&gt;
Other advantages arising from embedding &amp;quot;Express Server&amp;quot; into the kernal of Oracle Database are as a result of being a part of the Database.  For example, as a feature of Oracle Database, Oracle OLAP cubes share Database features for security, performance, high availability, manageability and avoids the drawbacks of older generations of OLAP products like Express Server which were standalone and required entirely separate management.   Furthermore, multidimensional cubes inside the Oracle Database can be maintained via PL/SQL, refreshed in the same way as (relational) Materialised Views, and participate in the Query Re-write feature of the Database.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://pagesperso-orange.fr/bernard.lupin/english/practi1.htm OLAP in practique - Oracle Express]&lt;br /&gt;
&lt;br /&gt;
[[Category:Desupported products]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Oracle_OLAP</id>
		<title>Oracle OLAP</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Oracle_OLAP"/>
				<updated>2012-02-06T18:44:47Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 116.71.13.4 (Talk) to last version by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Oracle OLAP''' is an separately licensable option of the [[Oracle database]] that offers an embedded multidimensional calculation engine within the database. It is only available with Oracle Enterprise Edition. &lt;br /&gt;
&lt;br /&gt;
With Oracle OLAP, all data is accessible through standard [[SQL]].&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The Multidimensional 'OLAP' database software category largely grew in popularity as a solution to providing fast access to multidimensional data and calculations.&lt;br /&gt;
&lt;br /&gt;
The first product of that category (long before the term &amp;quot;OLAP&amp;quot; was coined in the 1990's) was an early iteration of what was to become Oracle [[Express]].  &lt;br /&gt;
&lt;br /&gt;
Data Warehousing and Business Intelligence professionals happily deployed multidimensional products like [[Express]] Server as specialized data marts, despite the obvious architectural drawbacks of the approach, simply because the alternatives were poor.  The fact was, that for dimensional data, the best multidimensional databases could deliver faster and better query and analysis than the relational databases of the day. &lt;br /&gt;
&lt;br /&gt;
Oracle decided in the late 1990's that in-database analytics was the way to go, and one of the major engineering projects undertaken was to take all the benefits of multidimensional data types and multidimensional data processing and calculation from the best multidimensional databases, and push it into the kernal of Oracle Database.  This process started with the acquisition of [[Express]] from IRI in 1995, with technical integration starting with Oracle Database 9i.  The OLAP Option reached maturity in [[Oracle 10g]] and especially in [[Oracle 11g]] Database releases.&lt;br /&gt;
&lt;br /&gt;
One of several distinct features that differentiate Oracle OLAP, is that all data is accessible through standard [[SQL]].  This extends the reach of 'OLAP' significantly, making it easier to deploy whether for Business Intelligence (BI), Data Warehousing, or for operational applications that are calculation intensive and require fast query response.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
The Oracle Database OLAP Option is a convergence of the core Oracle Database, and a product called [[Express]] Server.   Express Server is end of life now (but still used by many organisations around the world) but was a market leading standalone multidimensional database, acquired by Oracle in 1995, and subsequently integrated into the Oracle Database. &lt;br /&gt;
&lt;br /&gt;
Today, the OLAP Option to the Oracle Database retains much of the [[Express]] heritage of rich multidimensional power, but does so within the context of the Oracle Database, thus inheriting other features of Oracle, and being accessible via simple SQL.   It combines first class multidimensional data types, and calculation engine with the other performance, scalability, security, high availability and manageability features of Oracle Database.&lt;br /&gt;
&lt;br /&gt;
Some of the highlights:&lt;br /&gt;
* Oracle purchased [[Express]] and related applications from IRI in [[1995]]&lt;br /&gt;
* Oracle introduced Sales Analyser (OSA) and Financial Analyser ([[OFA]]) on top of Oracle Express in [[1996]].&lt;br /&gt;
* Express was initially integrated into the [[Oracle 9i]] database in [[2002]].&lt;br /&gt;
* Continuous improvements were made in [[Oracle 10g]] and [[Oracle 11g]].&lt;br /&gt;
&lt;br /&gt;
An overview of the Oracle Database OLAP Option is available in a short video presentation on Oracle's OLAP pages on OTN, [http://download.oracle.com/otndocs/products/warehouse/olap/videos/overview/OracleOLAP_Video_Overview_forweb.html here].&lt;br /&gt;
&lt;br /&gt;
==Creating and Maintaining Oracle Database OLAP cubes==&lt;br /&gt;
&lt;br /&gt;
Oracle Database OLAP cubes are contained in objects called Analytic Workspaces.&lt;br /&gt;
&lt;br /&gt;
While the OLAP DML (basically the Express SPL Language from [[Express]] Server) still exists, and technically may be used by developers to create and populate the cubes, in practice this is rarely done.   More usually, Analytic Workspaces and their multidimensional objects - dimensions, hierarchies, measures and calculations etc - are created, populated, refreshed and maintained by one or more of the tools that Oracle provides:&lt;br /&gt;
&lt;br /&gt;
* '''Analytic Workspace Manager (AWM)''' is an admin tool provided with the OLAP Option at no additional cost that allows IT and Power Users to create, build, load and manage multidimensional cubes in Analytic Workspaces within Oracle Database.   It is a simple to use GUI, provided on the Oracle Client, with wizards and advisors to help the user define an efficient cube from a given data source.   The data source is data in relational tables or views (and thus any data that is contained in or can be accessed from within the Oracle Database, including External Tables), and the source data is mapped to the logical dimensions and measure defined in the AWM interface.   A video demonstration of using AWM to create cubes is available on Oracle's [http://www.oracle.com/technology/products/bi/olap/index.html OTN] OLAP Pages [http://download.oracle.com/otndocs/products/warehouse/olap/videos/creating_cubes_with_awm/Creating_Cubes_Using_AWM.html here].&lt;br /&gt;
&lt;br /&gt;
* '''Oracle Warehouse Builder (OWB)''' is an in-database ETL solution available with the Oracle Database, which is designed for IT professionals to build and manage entire Data Warehouses in the Oracle Database, and includes the functionality to deploy dimensional summaries to multidimensional OLAP cubes as an alternative to traditional Star Schemas.    Additional Optional features for OWB are available at additional cost - some of them included in the [http://www.oracle.com/products/middleware/odi/enterprise-edition.html Oracle Data Integration Enterprise Edition] (ODI-EE) product; others as options to the Database itself (for example the Data Profiling and Data Quality Option).&lt;br /&gt;
&lt;br /&gt;
* '''DBMS_MVIEW.REFRESH'''.  Oracle Database 11g OLAP cubes can optionally be registered as Materialized Views (MVs) in Oracle Database, and therefore be refreshed with the standard policies and procedures familiar to DBAs who use MVs today.&lt;br /&gt;
&lt;br /&gt;
* '''DBMS_CUBE PL/SQL Package.'''  In Database 11gR2, a new feature was added that allows cubes and dimensions to be entirely defined via PL/SQL calls,  thus making it a much simpler job to automate the creation and refresh of cubes within the context of an application.  The new feature is described in a blog entry [http://oracleolap.blogspot.com/2009/11/creating-cubes-with-simple-sql.html here].&lt;br /&gt;
&lt;br /&gt;
==Querying Oracle Database OLAP cubes==&lt;br /&gt;
&lt;br /&gt;
Oracle Database OLAP cubes deliver excellent query performance, which scales well for large numbers of concurrent users. Even on modest hardware platforms the benefits are clear, but because Oracle OLAP is an embedded part of the Oracle Database, it can leverage even the largest SMP platforms, and the Grid technologies of Real Application Clusters (RAC) and Automatic Storage Management (ASM) for even greater scale and resilience. &lt;br /&gt;
&lt;br /&gt;
===Direct SQL Access===&lt;br /&gt;
Oracle Database OLAP Option's cubes are full-blown multidimensional structures and support calculations that are difficult, complex, or even impossible to define using standard SQL.  &lt;br /&gt;
&lt;br /&gt;
Other, standalone multidimensional databases on the market require specialized multidimensional query languages to access their data and leverage their calculation engines - most are proprietary, though in recent years a Microsoft language called MDX (MultiDimensional eXpressions)has become popular tho each vendor has ended up coding to different versions of MDX as there is no public published 'standard' for MDX.  &lt;br /&gt;
&lt;br /&gt;
The multidimensional OLAP cubes in '''Oracle''' Database however are accessible via simple ansii-standard SQL.  This is a significant development.&lt;br /&gt;
&lt;br /&gt;
Even what would otherwise be very complex calculations such as time series calculations, aggregations with mixed or non additive aggregation methods, allocations, forecasts etc show up to the SQL query layer as if they are fully solved columns that can simply be SELECTed in SQL.   Even if the calculations are being performed on the fly by the Oracle Database in OLAP Cubes (as is usually the case), the SQL used can 'assume' that all the measures and calculated measures have already been aggregated (or allocated, or forecasted) and calculated.&lt;br /&gt;
&lt;br /&gt;
This feature dramatically simplifies the configuration of Business Intelligence (BI) tools such as Oracle's BI Suite Enterprise Edition ([[OBIEE]]), and products from other vendors such as Business Objects, Microstrategy etc.   Indeed, ANY SQL based tool or application that is able to connect to Oracle Database, and issue very simple SQL to it should be able to leverage the performance and calculation power of the cubes.   For example, Oracle's Application Express ([[APEX]]) tool is a perfect example of a SQL based front-end which has no particular &amp;quot;BI&amp;quot; knowledge and certainly no &amp;quot;multidimensional&amp;quot; knowledge, but which is a very effective front end for Oracle Database OLAP cubes.  &lt;br /&gt;
&lt;br /&gt;
Because the SQL required is so simple, developing and testing custom calculation-intensive applications is also dramatically simplified. The amount of code, and its complexity will be much less than if the same thing is attempted without OLAP.&lt;br /&gt;
&lt;br /&gt;
As of Database 11g, the only 'special' requirement is that the tool or application has some basic 'aggregate awareness' or can be configured that way.  this is so that the tool does NOT try to perform aggregations in the SQL (or in the middle-tier based on large amounts of raw data fetched from the Database) that are much more efficiently performed within the database.&lt;br /&gt;
&lt;br /&gt;
A detailed explanation of the SQL Access feature is available on OTN, [http://www.oracle.com/technology/products/bi/olap/11g/demos/olap_sql_demo.html here].   Also on OTN, can be found demonstrations of querying Oracle Database OLAP cubes with:&lt;br /&gt;
* Oracle Business Intelligence EE ([[OBIEE]]) ([http://download.oracle.com/otndocs/products/warehouse/olap/videos/obiee_plug_in_for_awm/OBIEE_Plugin.html video])&lt;br /&gt;
* Oracle Application Express ([[APEX]]) ([http://www.oracle.com/technology/obe/olap-apex/usingapex4olap.htm Tutorial])&lt;br /&gt;
&lt;br /&gt;
===Indirect SQL Access===&lt;br /&gt;
Since [[Oracle 11g]], the Database OLAP Option cubes have been able to participate in the [[Materialised View]] / Query Re-write capability of Oracle. &lt;br /&gt;
====Materialized Views explained====&lt;br /&gt;
Regular relational table based [[MV]]s have been available in Oracle Database since Oracle 8, and are widely used by BI systems as they simplify the summary management aspects of those systems, and also deliver a feature called query re-write which can improve query performance.   &lt;br /&gt;
&lt;br /&gt;
Query Rewrite allows SQL queries that are requesting aggregate data from a detailed fact table to be automatically re-directed by the Oracle Database optimizer to access a suitable summary table in the database instead.  Because the summary has less rows, the result can be calculated faster and query performance is improved.   The feature allows DBAs great control over tuning performance since they can add or drop MVs according to the usage patterns they see in the Database without having to alter anything in the querying application.    The querying application simply always queries the leaf level fact table (requesting aggregates via SUM() and GROUP BY in the SQL SELECT), and the Database intelligently services the query from the best available summary MV that has been refreshed with the latest data.     MVs are thus a very popular and widely used feature of Oracle in many BI &amp;amp; DW systems.&lt;br /&gt;
&lt;br /&gt;
In addition to the query re-write aspects of the MV system, there is an entire maintenance aspect where policies control the manner and timing of refreshes of the MV summaries, for example, when new data is added to the underlying fact tables that the summaries are aggregated from.&lt;br /&gt;
&lt;br /&gt;
This use of MVs works extremely well in BI Reporting environments where the query load is predictable - the DBA has an easy job choosing which MVs to create and refresh (indeed, there are advisors in Oracle Enterprise Manager that make recommendations to help him), and typically a realtively small number of MVs will be all that is required for acceptable performance.&lt;br /&gt;
&lt;br /&gt;
However, as the query load becomes more ad-hoc and unpredictable - as is usually the case when the users move from simple reporting, and more towards query and analysis, the decisions as to which MVs to build gets more complicated.   There is a temptation to add more an more MVs to the system as new slow running queries are identified.  But each MV adds to the update/refresh time required when new data is loaded into the Database - and this soon becomes the constraint.   Also, having got to a situation where hundreds of MVs exist, many DBAs are reluctant to DROP any of them for fear of impacting performance of some other application.&lt;br /&gt;
====Cube Organized Materialized Views====&lt;br /&gt;
In [[Oracle 11g]], the Database was enhanced to allow not only relational tables to be registered to the Database as MVs, but also multidimensional OLAP cubes in Analytic Workspaces. Now, a relational query directed at a fact table from which an OLAP Cube was populated may be automatically redirected by the Oracle Database query optimizer to fetch the aggregate from the Cube, instead of processing the SUM/GROUP BY in the relational engine.   For BI systems that support a varied workload, and one that includes ad-hoc access to the data, the OLAP Option therefore provides an imaginative alternative.&lt;br /&gt;
&lt;br /&gt;
Cubes are VERY efficient at aggregations, so query performance is dramatically improved.  Also, a single Cube will deliver aggregate data equivivalent to all the possible summary combinations that exist along the hierarchies of the dimensions over that original leaf level fact table.   Not only is the calculation of the aggregates very efficient, but the storage, and management of them is too.&lt;br /&gt;
&lt;br /&gt;
Instead of large numbers of MVs that the DBA has to manage and keep refreshed, he has a single OLAP cube.  Refreshing the OLAP cube can be plugged into exactly the same MV refresh mechanisms used for regular relational MVs, so the cubes can easily slot into existing maintenance procedures.&lt;br /&gt;
&lt;br /&gt;
Thus, Oracle Database OLAP cubes can be IN-DIRECTLY queried with SQL too.  Used simply as an enhancement to the summary management of the database, and for query performance benefits in this way, the presence of the OLAP Option is totally transparent to the application.  That is, not one change to the BI tool or SQL Application is required.  It continues to query the same underlying relational fract table it ever did, and the Database transparently accesses data from the cubes instead.  The only impact on the application is that the queries are faster.&lt;br /&gt;
&lt;br /&gt;
A demonstration of the use of the Cube Organized Materialized Views feature can be found on Oracle's OTN page [http://www.oracle.com/technology/products/bi/olap/11g/demos/olap_cube_mvs_demo.html here].&lt;br /&gt;
&lt;br /&gt;
===MDX===&lt;br /&gt;
Announced at Oracle Open World 2009, Oracle Database OLAP cubes are now also accessible via MDX.  MDX is a language popular with standalone multidimensional databases, and for which a number of BI tools and applications exist.   In particular Microsoft is investing heavily in 'cube enabling' Microsoft Office (especially Excel) with MDX.  Thus, Excel becomes a client to the cubes.   With the MDX Provider (available from Oracle Partner and MDX specialists, [http://www.simba.com/MDX-Provider-for-Oracle-OLAP.htm Simba Technologies]), these MDX tools can now leverage the power and superior architecture of Oracle Database OLAP as an alternative to the architecture of separate specialist cubes required by other vendors.   The 'version' of MDX that is used by this solution is equivalent to that used by Microsoft Excel to communicate with Microsoft Analysis Services (Microsoft's OLAP database which is sold with SQL Server).&lt;br /&gt;
&lt;br /&gt;
Oracle and Simba demonstrate the use of this MDX provider, with Excel, in a short video available on the OTN pages [http://download.oracle.com/otndocs/products/warehouse/olap/videos/excel_olap_demo/Excel_Demo_for_Web.html here] or via Simbas own web page [http://www.simba.com/MDX-Provider-for-Oracle-OLAP.htm here].&lt;br /&gt;
&lt;br /&gt;
===OLAP API===&lt;br /&gt;
Oracle Database OLAP also comes with a multidimensional OLAP API which can be used by developers to query and interact with OLAP cubes in the Database.   The OLAP API is used by Oracle tools such as the BI Beans (now being folded into the [[ADF]] framework for JDeveloper), Discoverer Plus OLAP, and the Excel Spreadsheet Addin, all of which were popular tools for use with Oracle Database OLAP in Oracle 10g.  However, since the shift of emphasis in Oracle's BI tools to Oracle BI Suite Enterprise Edition ([[OBIEE]]) (based on technology acquired with Siebel Systems), most new users of Oracle Database OLAP 11g are leveraging the SQL access or MDX.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://www.oracle.com/solutions/business_intelligence/olap.html OLAP summary on oracle.com]&lt;br /&gt;
* [http://www.oracle.com/technology/products/bi/olap/index.html Oracle's OLAP Pages on OTN] where demonstration videos, online tutorials, and technical documentation can be found on the OLAP Option&lt;br /&gt;
* [http://wiki.oracle.com/page/Oracle+OLAP+Option Oracle Wiki] entries for the Oracle Database OLAP Option&lt;br /&gt;
* [http://oracleolap.blogspot.com Oracle OLAP Blog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Database]]&lt;br /&gt;
[[Category:Database options]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Hora_Product_Review</id>
		<title>Hora Product Review</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Hora_Product_Review"/>
				<updated>2012-02-06T18:44:43Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 116.71.13.4 (Talk) to last version by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}[[Image:Keeptool logo.gif|left|KeepTool's Logo]]&lt;br /&gt;
&lt;br /&gt;
OraFAQ had me review '''KeepTool''''s 5.1 suite back in early 2002: It was good then, but is even better now at 7.2. The primary product is '''Hora''', used for browsing, coding, reporting, monitoring, maintaining, and tuning the database. Separately licensable are the ''ER Diagrammer'' and ''PL/SQL Debugger''. Hora also includes some nice extras that allow you to code (in various languages) while disconnected from the database, generate HTML documentation for your schema, and reverse engineer DDL for selected objects or entire schemas. &lt;br /&gt;
&lt;br /&gt;
KeepTool’s engineering team seems deeply familiar with the tasks required of Oracle experts and novices alike. Their products demonstrate they kept both sides of the experience spectrum in mind. Hora, in particular, is thoughtfully designed. Although it sports almost every feature you need, it manages to remain visually simple to use and navigate, dynamically altering the interface with new toolbars, menus and context-sensitive options where appropriate. &lt;br /&gt;
&lt;br /&gt;
Hora should be on your short list of tools to consider. It fulfills the needs of DBAs, developers, data operators, report writers, and power browsers, all at a compelling price point.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
Hora, short for Handy Oracle tool, was born in 1996 when three programmers from the German software firm PSI AG decided to wrap all their SQL scripts in a Delphi user interface. It quickly developed a loyal following and they formed KeepTool GbR in 1997, later reformed as KeepTool GmbH in 2000. KeepTool releases a major revision of Hora annually, with significant additions in each, often beating competitors as the first to support new Oracle features. 2006 was no exception when version 7 was released, with even more powerful components, and wizards and interfaces for 10g. Version 7.2 achieved a major functional milestone, nearing the heady space currently occupied by TOAD Professional. &lt;br /&gt;
&lt;br /&gt;
==Supported Operating Systems and DB Versions==&lt;br /&gt;
Desktop OS: The suite is supported on all 32-bit Windows operating systems.&lt;br /&gt;
&lt;br /&gt;
Connectivity: The suite supports Oracle SQL*Net v2 and higher, as well as 10g Instant Client and direct TCP/IP connections.&lt;br /&gt;
&lt;br /&gt;
Database: The suite supports Oracle Database server 7.2 and higher, including 10g and XE. My evaluations were done on 9.2.0.6, 10.2.0.1 and XE.&lt;br /&gt;
 &lt;br /&gt;
==Installation==&lt;br /&gt;
The products can be licensed and installed as stand-alone desktop clients, or in a “floating license” mode, where N clients can access the product concurrently, maximizing value for those shops where developers work in shifts, or don’t need Hora open all day. There is also the unique option of a disconnected floating license, where a consultant or telecommuter can continue using the suite for up to 30 days disconnected from the network license. &lt;br /&gt;
&lt;br /&gt;
New releases are small and easily downloaded from the web or via FTP. Download size, installed size and RAM requirements are all kept to a minimum, which is a pleasant surprise compared to today’s bloatware. &lt;br /&gt;
&lt;br /&gt;
Installations are simple and straightforward. Stick with the defaults and use the Typical (full) install. Old releases must be uninstalled before new releases, but old settings seem to be retained. &lt;br /&gt;
&lt;br /&gt;
==Who should use it?==&lt;br /&gt;
There are tools that focus on the Oracle DBA. There are those that cater primarily to PL/SQL developers. Finally, there are many tools aimed at the casual user (front-end programmers, data analysts, report writers and management who infrequently query tables and view stored objects). Hora was designed to meet the needs of all three types of users. The only other tools that accomplish a similar feat are TOAD and SQLdetective. &lt;br /&gt;
&lt;br /&gt;
If you are mainly shopping on behalf of the casual user, KeepTool also provides HoraLight, a slimmed-down €99 version of Hora that offers all its power for importing, exporting, browsing, querying, reporting and editing code. &lt;br /&gt;
&lt;br /&gt;
In short, Hora can be used by all of your knowledge workers who must interact with Oracle in any way. If you have been using inferior products but now need something enterprise-class on a budget, or are fed up with the expensive licensing and support from CA, Quest and Embarcadero, then Hora may be the perfect choice or replacement. &lt;br /&gt;
&lt;br /&gt;
==What does it do?==&lt;br /&gt;
Considering the features offered by competitors? Nearly everything. Seriously. &lt;br /&gt;
&lt;br /&gt;
See the detailed review below for brief accounts of the compelling features. If you find a feature it does not have, suggest it to [mailto:support@keeptool.com support]. Their engineering team listens well and is often able to respond to requests by the next release.&lt;br /&gt;
&lt;br /&gt;
==What problems does it solve?==&lt;br /&gt;
Oracle is a complex piece of software. With a mind-boggling array of objects, features, and syntax to support, display and manage, many tools quickly become overburdened and visually confusing. Hora keeps its head above water and presents all that information in a concise and logical manner. Other than a few special screens, the entire application is one giant, hierarchical database browser. This make it very easy to find anything you need. One of KeepTool’s goals was to make Hora intuitive and useful “out of the box” in the hands of everyone from data entry operators to master DBAs. They accomplish this admirably by presenting basic information up front, and keeping more advanced features just one click away, be it an icon, menu item, right-click or tab. &lt;br /&gt;
&lt;br /&gt;
Many tools have a weak to mediocre visual component for displaying the data in Oracle objects. Hora’s data grids are extremely powerful, providing advanced features like filtering, sorting, grouping, visual rearranging, master-detail browsing, simple exporting to many popular formats, and much more. But it uses these data grids throughout the product, not just when operating on tables and views. &lt;br /&gt;
&lt;br /&gt;
Finally, the ER Diagrammer plugs a hole in the market, which, until recently, was addressed by no other competitor: that is, provide a simple, fast and affordable physical modeling tool. Up until recently you had to pick from really awful freeware/garageware diagrammers that weren’t even worth your time to download, or $3,000-$5,000 full-blown modelers like ERWin and ERStudio. The market just did not offer a sub-$1000 modeling tool that covered all the nuances of Oracle. KeepTool’s ER Diagrammer does a fine job filling that hole, and does so for less than €250. &lt;br /&gt;
&lt;br /&gt;
==Detailed Review==&lt;br /&gt;
The KeepTool family is composed of three main products: Hora, ER Diagrammer and PL/SQL Debugger. Hora also comes with three small applications, HTML Documentation Generator, Reverse DDL Engineer and SQL Editor. As mentioned by both previous KeepTool reviews, attempting to cover the deep functionality in Hora would require its own book. Observe. Here is a list of the top-level pages available from the Outlook-style sidebar, and their first-level subtabs: &lt;br /&gt;
&lt;br /&gt;
===Windows and Tabs===&lt;br /&gt;
{| border=1&lt;br /&gt;
|- bgcolor=&amp;quot;lightgrey&amp;quot; &lt;br /&gt;
! Standard !! Additional !! DBA&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
SQL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SQL Editor&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SQL Scratchpad&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;File Explorer&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tables/Views&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Columns&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Constraints&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Indexes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Triggers&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Master/Detail Graph&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Dependencies&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Content&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Access&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data Browser&lt;br /&gt;
&lt;br /&gt;
Sequences&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Dependencies&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PL/SQL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Source Code&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Call Interface&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Dependencies&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Package&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Package Body&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Procedure&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Function&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Trigger&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jobs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Refresh Groups&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scheduler&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Jobs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Programs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Schedules&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Job Classes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Windows&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Window Groups&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Global Attributes&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pipes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Db Links&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Snapshots&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Transactions&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Local db settings&lt;br /&gt;
&lt;br /&gt;
Materialized Views&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Query&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Detail Relations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Joins&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Keys&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Aggregates&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Granted Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;MV Init Parameters&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MView Logs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Registered Snapshots&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
Tablespaces&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Datafiles/Free Space&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Segments/Extents&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Quota&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Clusters&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Sort Segments/Usage&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Fragmentation&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Roles/Privileges/Cons. Grps&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Tablespace Quota&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Objects&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Tablespace Usage&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Schema Triggers&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SQL Area&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Consumer Groups&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sessions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Locks&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Lock Wait Graphs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Access&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Latches&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Open Cursors&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Wait Events&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Transactions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Long Operations&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Database&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Database&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Version&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Installed Options&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;License Info&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Resource Costs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Other Attributes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Instance&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Rollback Segments&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;NLS Parameters&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Initialization Parameters&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Control Files&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Roles&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Profiles&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Resource Limits&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Database Triggers&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Datafiles&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SGA &amp;amp; Statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SGA Statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Instance SGA Info&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Memory Usage&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;SGA Init Parameters&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Library Cache&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Row Cache&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Buffer Cache&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SQL Area&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;System Events&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Wait Statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;System Statistics&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redo Logs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Redo Threads&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Redo Init Parameters&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Redo Log Groups&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Redo Log Changes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Archived Logs&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Log Miner&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Flashback DB&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audited Objects&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audited Statements&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audited Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Default Audit Options&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Performance&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Memory Allocations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Rollback Seg. Contention&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Redo Log Latches&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Others&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Table Scans/Execution&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Datafile writes/reads&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Real Time Graphs:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Memory Allocation&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Disk I/O&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Recursive Calls&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Rollback Segments&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Redo Log Latches&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Redo Log Space Requests&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Sorts Disk Usage&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Free Memory Lists&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Table Scans&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dictionary&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Columns&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Data Contents&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resource Manager&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Resource Plans&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Consumer Groups&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
Schema&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Policies&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Invalid Objects&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;PL/SQL Errors&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Disabled Constraints&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Disabled Triggers&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Schema Triggers&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Recycle Bin&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Java Class Details&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Source&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Dependencies&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Types&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Collection Type&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Object Type&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Object Type Body&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Incomplete Type&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Source&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Attributes&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Methods&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Synonyms&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Operators&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Bindings&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Index Types&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Operators used by Indextype&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dimensions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Levels&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Hierarchies&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outlines&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;SQL Text&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Directories&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Privileges&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Audit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XML&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;Overview&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;XSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;XML Tables&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;XML Views&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Luckily, coverage of so much functionality already exists as found in the user guide, tutorials and videos (videos come with the boxed set). &lt;br /&gt;
&lt;br /&gt;
After finishing this review, [url=http://www.keeptool.com/en/download.php]download[/url] the 30-day trial and give it a spin. Read the user guide, the help docs, and the website newsletters. Since there is no server-side install required (except a special role if you need sensitive DBA features), you shouldn’t need special approval to run the trial on your desktop. &lt;br /&gt;
&lt;br /&gt;
This section will focus on a sample of the most thoughtful features found in Hora, as well as a brief synopsis of the remaining five tools.&lt;br /&gt;
&lt;br /&gt;
===Connections===&lt;br /&gt;
[[Image:KeepTool Connections.gif|thumb|center|700px|Common KeepTool Connection Dialog]]&lt;br /&gt;
&lt;br /&gt;
As of v7.2, KeepTool products finally have the option of saving encrypted passwords. Plus they’ve extended the power of their data grid, so your scores of connections can be viewed by last connection time, server, user, etc. Of course, the usual options are there, as well as the ability to assign a color scheme to sensitive connections, or a customized logo image, or a short comment that is saved to help you remember details about particular environments.&lt;br /&gt;
&lt;br /&gt;
===Hora and SQL Editor===&lt;br /&gt;
Despite such a dizzying array of wizards and interfaces, Hora seems simple at first glance. After starting it and connecting, you will notice your connection information, database version and session identifiers in the title bar. Going top to bottom, you will next see the main menu, the dynamic toolbar, the tabbed window list, and then the Outlook style sidebar. The window area is to the right of the sidebar. Your cursor will be waiting for your first SQL statement in the SQL Scratchpad window’s editor (more on that later). All of these items (except the main menu) are optional, resizable, and hideable. In the bottom left is a little schema picklist. Change the schema there, and the contents of the active window change accordingly. Assuming your connection has the right privileges, this allows one to quickly jump back and forth between schemas. &lt;br /&gt;
&lt;br /&gt;
After you determine which windows you will use the most, customize the Favorites sidebar, adding your choices to the list. Further, when familiar enough with the sidebar’s icons, you can minimize the sidebar to only show the icons, saving screen real estate. &lt;br /&gt;
&lt;br /&gt;
Before we dive into some of the more nifty windows, one final note on three features under the Extras main menu item, features that prevail across Hora: SQL Preview, SQL Recording and Auto Refresh. These are three independent options that you can set. SQL Preview shows you the SQL that the user interface was about to send to Oracle on your behalf. This is a welcome relief to expert DBAs and developers who know exactly what they want, and are used to doing things by hand. This gives them the option of intercepting the generated SQL statements, and reviewing or modifying them before being run on the database. SQL Recording logs every successful SQL statement run by Hora. This opens up many possibilities, including that of using the recorded statements to capture a script that you can then apply on separate Oracle environments. With Auto Refresh on, the active object window or results pane will be periodically refreshed, handy when watching the contents of a table being accessed concurrently by end users, or monitoring sessions, the SQL area, or transactions.&lt;br /&gt;
&lt;br /&gt;
===SQL Scratchpad===&lt;br /&gt;
[[Image:KeepTool Scratchpad.jpg|thumb|center|460px|Hora SQL Scratchpad]]&lt;br /&gt;
&lt;br /&gt;
This is generally the first window you will see. SQL Scratchpad and File Explorer navigation trees are on the left, blank SQL editing area in the middle, and a code navigation pane on the right. It works as you’d expect. You write SQL statements in Scratchpad’s editing area. You run them individually or as a script. Substitution and bind variables are supported. Results are shown in a powerful data grid that appears in a new window. When you close Hora, or move to other windows within it, these statements are automatically saved for you. If you run them frequently, you might save them with a name. Over time, you might create and organize a few more folders, called “roots”, under the Scratchpad tree, storing your named statements in them. These folders and statements can be placed on a network drive, so common statements can be shared across a team. If you are one of the data analysts or report writers, that’s probably all you need to know about the window. But that is only scratching the surface. As mentioned before, this seeming simplicity is KeepTool’s strength. If you want to do more, the real fun begins… &lt;br /&gt;
&lt;br /&gt;
Select the File Explorer. This is a component that eliminates the need for you to jump out of Hora to go find a file related to your task. It is also the interface to whatever SCC-compliant tool you are using to version code. But don’t just stop at Oracle-related files. Go ahead and select other files that you use to implement your systems. Binary files are opened in their associated applications, and text files of all kinds are opened inside Hora, nicely highlighted, with a document structure or class/routine navigator pane to the right. It supports file types of SQL, PL/SQL, C, C++, C#, Java, Java Script, HTML, XML, Pascal, Visual Basic, Delphi resources, batch files, Perl, Fortran, PoxPro, Latex, Modula 2, PHP, Oberon and some others. Of course most of these languages would ordinarily be written and compiled in another IDE, but Hora’s editor lets you easily see and edit all these related files in one place. Code folding is another new feature that briefly collapses chunks of code to get a better view of the code’s layout. Folding is available for all file types that Hora recognizes. &lt;br /&gt;
&lt;br /&gt;
Key mappings are configurable. All display and formatting behavior is customizable per file type. Bookmarks, block indentation, column selection mode, and most of the usual editor options are there for efficient Oracle coding. To aid in remembering syntax and routine names, there is Code completion, Code snippets, and drag-n-drop items from the DB Object browser. SQL History and Code Templates are two features that aid in recalling and re-running personal statements and code. From this embedded SQL editor, you can compare files, jump to the visual query builder, run an explain plan for the selected statement (heavily improved for 7.2), start the profiler, describe the object under the cursor, and more. &lt;br /&gt;
&lt;br /&gt;
Then there is the new SyncEdit feature. When you select a block of code, a little double pencil icon appears in the left gutter. Clicking this icon establish a Syncronization range for your selection. If you then make a change, say adding a missing “(i)” array element subscript to a collection variable, the same change will be made to all the other occurrences of the same text within the sync range. &lt;br /&gt;
&lt;br /&gt;
If you need help with an Oracle error number or built-in, just select the word or phrase, right-click, and select Search | Oracle Help… This automatically searches the online Oracle documents and takes you to the search results page. &lt;br /&gt;
&lt;br /&gt;
This same editor component is used throughout Hora when viewing and editing anonymous blocks and stored objects, as well as in the standalone SQL Editor.&lt;br /&gt;
&lt;br /&gt;
===Data Grids===&lt;br /&gt;
[[Image:KeepTool Scratchpad.jpg|thumb|center|640px|Example of one of Hora's Data Grids]]&lt;br /&gt;
&lt;br /&gt;
The data grids within Hora use a new component introduced in v7. As before it defaults to Grid View, but you may place it in Record View if that’s easier on the eyes, or in Text View if you need a quick ASCII copy of the results. Change the ordering by clicking column headings. Rearrange the results by dragging and dropping column headings where you want them. Starting with v7, the grids resembles certain OLAP reporting tools and Excel. To see this, check the “in-memory mode” box. For the 401k mutual fund table shown above, I dragged TIER to the shaded bar above the results and the data was redisplayed, with funds now grouped by the distinct values in TIER. I dropped column Morningstar RATING next to TIER and a further subgrouping was applied within each tier. Click the arrow on any column heading, and you can filter the result set by the known unique values (like in Excel) or customize your filter using operators and wildcards. You can also right-click under any numerical column and apply a Sum, Min, Max, Count or Average calculation (see the bottom shaded bar in the image above). This comes in handy, for example, when I’m querying all the segments for a certain object and want to know how many total bytes are involved. &lt;br /&gt;
&lt;br /&gt;
From the data grid (and most Hora windows), you can take the data you are viewing, and print it, take a screenshot from within Hora (File | Hardcopy), dump the results to the SQL Recording log file, immediately copy it to Excel (the best I’ve seen), send it straight to a report that can be saved, printed, or exported to several formats, or send it to a sweet Fast Reports 3.0 designer window, where you can create reports worthy of executive decision makers. Finally, you can also export your data to one of eighteen formats, with each format kicking off an intelligent wizard that gives you high control over the output. The data importing is similarly well optioned, allowing you to import from thirteen different file formats.&lt;br /&gt;
&lt;br /&gt;
===Tables/Views===&lt;br /&gt;
[[Image:KeepTool tables.jpg|thumb|center|640px|Hora Tables/Views Window]]&lt;br /&gt;
&lt;br /&gt;
Tables/Views is such a useful window, it is a shame there isn’t the space to have a screenshot per tab. There are the common and obvious tabs for table columns, constraints, indexes, and partitions. But they aren’t mere regurgitation of what one finds in the data dictionary views. The information is intelligently grouped and labeled, so you can quickly find all the related attributes.&lt;br /&gt;
&lt;br /&gt;
[[Image:KeepTool expanding subviews.jpg|thumb|center|640px|Example of Expanding Subviews in Action]]&lt;br /&gt;
&lt;br /&gt;
For example, in the Columns tab, there is a little “+” icon next to each column that expands into a tabbed view that shows you all the constraints, indexes, histograms, and so forth that the column participates in. This is superb and saves you a lot of time from manually seeking that info from the data dictionary. &lt;br /&gt;
&lt;br /&gt;
As another example, on the Constraints tab, there is a little column labeled “Index support.” This is not found on USER_CONSTRAINTS for foreign keys. Here Hora has gone to the trouble of finding indexes related to foreign keys for you. &lt;br /&gt;
&lt;br /&gt;
There are also little object-specific features on almost every tab within Hora. Just right-click and poke around the dynamic icons on the toolbar and the header areas above the grids. For example, if you click inside the Contraints tab grid, you will see some really handy options, like creating an index on a non-indexed FK column, or seeing all the exceptions for a disabled or non-validated FK. &lt;br /&gt;
&lt;br /&gt;
Let’s take a look at few other high points. &lt;br /&gt;
&lt;br /&gt;
Partitions. I frequently need to see all my partition range endpoints at a glance. Hora translates and displays the antiquated LONG datatype HIGH_VALUE contents for every partition. Other tools place HIGH_VALUE behind an additional layer, which renders their partition interfaces useless to me. &lt;br /&gt;
&lt;br /&gt;
Access tab. It shows you who is currently tapping into that table, useful in environments with a highly concurrent user base. &lt;br /&gt;
&lt;br /&gt;
Master/Detail. It is a light entity-relationship browser that automatically diagrams related tables. Clicking on an entity switches you to that table.&lt;br /&gt;
&lt;br /&gt;
[[Image:KeepTool master detail.jpg|thumb|center|640px|Master/Detail Browser Tab]]&lt;br /&gt;
&lt;br /&gt;
Privileges. This tab even includes column-level privileges, which most tools ignore. &lt;br /&gt;
&lt;br /&gt;
Content. If the table is related to others, there will be tabs at the bottom of the data grid, which allows rapid navigation to related tables, based on selected rows in the parent. If two tables should be related, but aren’t, you can define that missing relationship using the “Other Table” subtab. Voila, virtual FK on your master-detail tables! Now you can analyze both in unison as if the FK existed.&lt;br /&gt;
&lt;br /&gt;
===PL/SQL===&lt;br /&gt;
[[Image:KeepTool plsql overview.jpg|thumb|center|640px|Hora PL/SQL Window, Overview Tab]]&lt;br /&gt;
&lt;br /&gt;
For developers, this and the SQL window will become their home. The Overview tab is further divided into PL/SQL object type tabs. Click one of the type tabs, like Package Body, click the item of interest, and then drill down into its source, privs, synonyms, dependencies or audit trail configuration. The Overview tab alone is worth a mention, being rich in information and actions allowed on PL/SQL objects (see the screenshot below). &lt;br /&gt;
&lt;br /&gt;
In the grid, you can see less-common attributes like how many times it’s been loaded, how big the code is, whether it is natively compiled, and even the new 10g compiler warnings. This is thorough coverage of what I like to know about my packages. &lt;br /&gt;
&lt;br /&gt;
The Source Code tab is another view of the same SQL editor component we observed earlier. Here you can open files from the file system or packages from the database, then edit, compile, compare code, run explain plans, etc. &lt;br /&gt;
&lt;br /&gt;
The Call Interface window generates anonymous PL/SQL blocks to speed up unit testing and debugging. Hora is still one of the best at generating anonymous blocks, especially when dealing with parameters of newer and user-defined datatypes, which most competitors implement poorly.&lt;br /&gt;
&lt;br /&gt;
===Dictionary===&lt;br /&gt;
[[Image:KeepTool dictionary.jpg|thumb|center|640px|Hora's Oracle Data Dictionary Window]]&lt;br /&gt;
&lt;br /&gt;
It is difficult finding and wading through Oracle’s official data dictionary documentation. When I do access it, I’m usually there only to discover what a certain column means. With 10g, there are so many views you need a tour guide to blaze a path through the forest of objects. Hora provides at least 3 mechanisms to help you here. First is the alphabetical bar attached to the left of the overview list in all windows. Clicking a letter jumps you to the first object that starts with that letter. Second, Hora cleverly groups the related views that start with the same prefix into expandable nodes. Third, if one of the nodes contains hundreds of objects, you can quickly get to your desired view by using Hora’s incremental search feature. You just click inside the column containing the object names and start typing the first few letters. As you type, Hora auto-scrolls through the rows below until you stop typing or it has found the item you were searching for. These features are useful for shops with hundreds or thousands of Oracle objects to manage.&lt;br /&gt;
&lt;br /&gt;
===Jobs and Scheduler===&lt;br /&gt;
The Jobs window is still top notch and is my tool of choice when administering jobs. Support for the new 10g Scheduler has been added with its own window.&lt;br /&gt;
&lt;br /&gt;
===Materialized Views===&lt;br /&gt;
As you can see from the subfolders listed above, they don’t merely display the known materialized views. They also provide seven more tabs where you can view and modify important settings and attributes relevant to materialized views. Even the Overview tab is worth studying. In addition to the usual refresh and status attributes, it also show the privileges and initialization parameters pertinent to materialized view creation and tuning. This demonstrates KeepTool’s dedication to “the trenches”, and what is needed by real DBAs to get their jobs done with minimal typing and headache.&lt;br /&gt;
&lt;br /&gt;
===Tablespaces===&lt;br /&gt;
[[Image:KeepTool tablespaces.jpg|thumb|center|640px|Hora Tablespaces Window, Overview Tab]]&lt;br /&gt;
&lt;br /&gt;
The Overview tab and its right-click menu are where most tools stop when offering a tablespace feature. Hora dives in further and provides six more tabs that drill down into the tablespaces to show you rich information on the data files that compose them, the individual segments within them, which blocks and files the segments can be found in, fragmentation, etc.&lt;br /&gt;
&lt;br /&gt;
===Sessions===&lt;br /&gt;
[[Image:KeepTool sessions.jpg|thumb|center|640px|Hora Sessions Window, Overview Tab]]&lt;br /&gt;
&lt;br /&gt;
This is another good example of KeepTool thoughtfulness. Other than a few additional features in relation to locks, transactions and long ops, they have pretty much the same features as other tools that provide a session manager. However, as you look at the Overview tab, for example, you once again notice how everything is logically grouped and organized. Vaguely named V$SESSION columns are given more understandable names. And instead of following the same generic presentation model in every grid, KeepTool tweaked this Overview grid such that the Session and Client Application column groups remain fixed, while the contents in between them scrolls horizontally. This is useful for keeping the “who” and “where” front and center while wading through all the session information.&lt;br /&gt;
&lt;br /&gt;
===SGA, Performance and Database===&lt;br /&gt;
[[Image:KeepTool sga.jpg|thumb|center|640px|Hora SGA Window, Overview Tab]]&lt;br /&gt;
&lt;br /&gt;
Each tab in each of these windows deserves its own little review, but the depth and breadth of coverage is simply overwhelming for the scope of this review. Check the options for each window and tab above for an idea as to what each is capable of. &lt;br /&gt;
&lt;br /&gt;
From graphically seeing where all your memory is currently at, to monitoring where all your I/O is going, to seeing exactly how each datafile is being used, to polling resource graphs, to formatting and grouping everything in the SQL area by areas of tuner interest, there are scores of useful features and interfaces in these windows to ease and simplify the job of the DBA.&lt;br /&gt;
&lt;br /&gt;
===Schema===&lt;br /&gt;
We need to clarify something here. There is both a Schema main menu item, as well as a Schema window (found under the Additional toolbar). They both contain powerful and updated features you will need right away. &lt;br /&gt;
&lt;br /&gt;
From the Schema main menu item, you can elect to gather or remove system or schema statistics using the newer DBMS_STATS method, or computer and estimate statistics using the old ANALYZE method. It also offers the global constraints and triggers windows, where you can enable or disable your constraints (filterable by constraint type) and enable, disable or compile your triggers. You can compile the whole schema, clear the whole schema, truncate all tables in the schema, create a large grant script, change your password, or create an Oracle export parameter file (very handy if you can’t remember the syntax and options from day to day). &lt;br /&gt;
&lt;br /&gt;
From the Schema window you can, among standard options, set FGA policies, compile all invalid PL/SQL objects in dependency order, work on schema triggers, or manage the entire Recycle Bin.&lt;br /&gt;
&lt;br /&gt;
===XML===&lt;br /&gt;
[[Image:KeepTool xml.jpg|thumb|center|640px|Hora XML Window, XSD Tab]]&lt;br /&gt;
&lt;br /&gt;
Hora has one of the first interfaces I’ve seen into the new XMLDB portion of Oracle 10g. I’m not qualified to comment on its thoroughness, but it seems the handsome formatting, element browser and views could be quite useful for those that do use Oracle’s XML features.&lt;br /&gt;
&lt;br /&gt;
===PL/SQL Debugger===&lt;br /&gt;
The debugger has now been improved to where it rivals the power offered by the competition, including breakpoints that can be set dynamically, and display of variable value upon mouse hover. The only thing the debugger still lacks is conditional breakpoints. &lt;br /&gt;
&lt;br /&gt;
Since the code pane is essentially the SQL Editor component, the usual features are all still available within the debugger for any anonymous blocks or debugged code, including sending suspect code to an explain plan or the profiler. &lt;br /&gt;
&lt;br /&gt;
One nice touch is a feature that only one other competitor has, the ability to detect and display DBMS_OUTPUT as it is written by the program being debugged, instead of waiting for the program’s output at the end.&lt;br /&gt;
&lt;br /&gt;
===ER Diagrammer===&lt;br /&gt;
The ER Diagrammer has improved a great deal. The algorithm they use to read a schema and generate an IDEF1X-compliant, hierarchically arranged ERD is very fast. Even on a huge schema with almost 400 tables, it took less than 2 minutes. It is an intelligent little diagrammer too, attempting to shade related tables in the same color. A fast zoom is provided, as well as a little picklist in the lower left corner that is used to quickly find a given table in a large model. Hovering over a line shows the name of the foreign key, the names of the related tables and the relationship direction in a little tooltip. PK’s are clearly identified. Datatypes are indicated by little icons in the left gutter of each table. And a column’s participation in an alternate key is also indicated. You can create subsets to break up larger models into smaller, more manageable submodels. And you can keep these now independent models up to date by reconnecting and rereading objects from the schema. &lt;br /&gt;
&lt;br /&gt;
Diagrams can be copied to clipboard for inclusion in work deliverables, emails, etc. Or they can be saved as BMP or scalable EMF files, as well as printed and saved as a native DGR file (avoids having to rescan later). &lt;br /&gt;
&lt;br /&gt;
You can create models in this tool, then forward engineer DDL which can be run in SQL*Plus or Hora.&lt;br /&gt;
&lt;br /&gt;
===HTML Documentation Generator===&lt;br /&gt;
For a quick, simple deliverable in a portable format, this tool does the job. It produces a single HTML file that documents the tables/views and PL/SQL source code in a given schema, creating a hyperlinked table of contents at the top of each section. &lt;br /&gt;
&lt;br /&gt;
The Tables section includes each table’s comment and tablespace, columns and their specifications, constraints, indexes, triggers, child tables, and hyperlinks to any PL/SQL objects that reference the table. &lt;br /&gt;
&lt;br /&gt;
The PL/SQL section shows each object’s source code, as well as hyperlinks to the PL/SQL objects it calls, and the PL/SQL objects that call it.&lt;br /&gt;
&lt;br /&gt;
===Reverse DDL Engineer===&lt;br /&gt;
As the name implies, with this you reverse engineer the DDL from existing schemas. After connecting, you pick the objects for which you’d like DDL, pick a file destination and Generate. It’s fast, accurate and produces well-ordered, handsome DDL. This is useful for cloning development environments across database server environments, comparing DDL for supposedly similar schemas, etc. The first tab presented after you connect is the Schema tab. The tab offers some control over important items like whether sequences start over or retain their existing setting, whether the storage clause is added for tables and indexes, whether roles and privs are ignored, whether to spool output or compile the schema at the end, etc. &lt;br /&gt;
&lt;br /&gt;
It even handles composite partitioned table DDL well and accurately, something a few highly rated competitors do badly or take too long to parse.&lt;br /&gt;
&lt;br /&gt;
==Shortcomings==&lt;br /&gt;
* In my opinion, if the debugger option is purchased, it should be an enabled window inside Hora, not a standalone application.&lt;br /&gt;
* Given the state of competing tools, the Profiler and HTML Documentation Generator could use refinement.&lt;br /&gt;
* The SQL Editor component still does not permit you to work on more than one open file at a time.&lt;br /&gt;
* If you customized anything in the anonymous block of the Call Interface tab, and then move focus to some other tab and return, when focus returns to Call Interface, your customizations will be gone. Save your customizations before leaving the tab.&lt;br /&gt;
* No SQL or PL/SQL beautifier/formatter. The lexer does a wonderful job recognizing, parsing and displaying the syntax and keywords of most file types, but the formatting that it applies is only virtual. It never touches the formatting of the actual file underneath.&lt;br /&gt;
* DB Browser is infinitely better than previous versions, but still has a few issues that will probably be fixed by 7.3.&lt;br /&gt;
* Like some competitors, it doesn’t handle ref cursors as parameters or return values, something we use a great deal here.&lt;br /&gt;
* For huge models with lots of data integrity constraints, ER Diagrammer tends to cross and hide the hundreds of relationship lines, making the model tricky to navigate, even with their hierarchical layout scheme. It is already a good value at just under €250, but if KeepTool were to introduce one of the other common layout styles, like orthogonal or tree, being careful to auto-bend lines around entities, that would be ideal.&lt;br /&gt;
* Finally, probably due to the huge amount of work put into v7, there are still a number of bugs yet to shake out. Hora and the Debugger crashed or froze on me a number of times. But each time I was able to identify the pattern, KeepTool had it fixed within a day or two.&lt;br /&gt;
&lt;br /&gt;
==Purchasing Information==&lt;br /&gt;
Visit the [http://www.keeptool.com KeepTool Home Page]. The default language is German. Click the &amp;quot;English&amp;quot; link at the top if you don't speak German. Follow the Ordering | Prices link to get the current price list in Euros. As of this review a single license for Hora is €599. The diagrammer is €249 and the Debugger is €189. A boxed version is an additional €25. HoraLight is offered for €99. With currency conversion, possible discounts for bulk and educational customers, as well as floating license configurations, it is best if you contact KeepTool directly. &lt;br /&gt;
&lt;br /&gt;
There is also a unique commission opportunity for those who refer new customers to KeepTool, found [http://www.keeptool.com/en/commission.php here].&lt;br /&gt;
&lt;br /&gt;
==About the Author==&lt;br /&gt;
Bill has been designing and tuning large, custom Oracle OLTP applications since 1995, and has a soft spot in his heart for anything that makes his work or his teams faster and more productive. Bill has no connections with KeepTool, GmbH [http://www.customwrittenpaper.com/ Buy Essays Online].&lt;br /&gt;
&lt;br /&gt;
[[Category:Product reviews]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/User_talk:Frank_Naude</id>
		<title>User talk:Frank Naude</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/User_talk:Frank_Naude"/>
				<updated>2012-01-21T15:41:54Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: /* Spammer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Images ==&lt;br /&gt;
Hello Frank,&lt;br /&gt;
Thanks for pointing this out. Please tell me how to delete theses images.&lt;br /&gt;
: Hi DreamzZ, you can just upload new images. I will delete unused images. [[User:Frank Naude|Frank Naude]]&lt;br /&gt;
&lt;br /&gt;
== Uploaded zip files ==&lt;br /&gt;
Hi Frank, what to do with these uploaded zip files not linked to any page that seems to only use OraFAQ as free space? [[User:Michel Cadot|Michel Cadot]]&lt;br /&gt;
&lt;br /&gt;
: Hi Michel, we need to decide if it's useful keeping them or not. If not (most likely scenario), please remove them. If we keep them, we need to somehow categorize and document them. Best regards. [[User:Frank Naude|Frank Naude]] 13:01, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Frank, as most of the time the author does not do anything else than loading their files, it is hard to say what we can do with them. &lt;br /&gt;
This morning Panada loaded a file named &amp;quot;User tables count.zip&amp;quot; which contains a script to count all row numbers in user tables. This issue has been discussed many times in Forum and many solutions has been provided (maybe I should create a Wiki page to bring them together, if this is not already done). This version does not add anything and is even less performant. So I think we can remove it.&lt;br /&gt;
A month ago, Ssamiullah loaded a file named &amp;quot;Difference between 11i and 12i - v1.zip&amp;quot; which contains a paper (pdf) on Business Suite, maybe it is useful I don't know E-Business (not even the current version number). It ends with &amp;quot;This paper is submitted for the convenience of the Oracle Applications DBA’s by Syed Samiullah&amp;quot;, does this mean we possibly can use it? Or is it just there because the author wants to be able to find his paper everywhere? Only the author can say. [[User:Michel Cadot|Michel Cadot]]&lt;br /&gt;
&lt;br /&gt;
: I agree, this one should be removed. In addition, we should look out for copyright violations. If users do not upload their own work, they need to obtain permission from the owner(s) before it can be uploaded here. This permission needs to be clearly indicated. Best regards. [[User:Frank Naude|Frank Naude]] 06:36, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Frank, I deleted the file and a couple of others, I also start a talk Ssamiullah to ask him what he wants to do with his paper. Best regards. [[User:Michel Cadot|Michel Cadot]] 13:49, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== SQL FAQ ==&lt;br /&gt;
&lt;br /&gt;
The last modification of SQL FAQ page tells the opposite what was said in the previous version about the pronunciation of SQL. &lt;br /&gt;
I don't know which one is true, can you have a look at it.&lt;br /&gt;
Thanks.&lt;br /&gt;
&lt;br /&gt;
[[User:Michel Cadot|Michel Cadot]] 17:27, 23 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Thanks Michel. I've seen the update, but don't know how to respond either. Best regards. [[User:Frank Naude|Frank Naude]] 17:43, 23 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Steven Feuerstein page ==&lt;br /&gt;
&lt;br /&gt;
[[Steven Feuerstein]] page is a copy of Wikipedia one added by Berny, can we keep it or must we delete it?&lt;br /&gt;
[[User:Michel Cadot|Michel Cadot]] 06:14, 8 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: If he is the author the Wikipedia article we can keep it (he is the legal copyright owner). If not, we can still keep it, but we need to adhere to the conditions in Wikipedia's Creative Commons Attribution-ShareAlike License. This entails a link to the original article and giving credit to all significant authors of the document. Best regards. [[User:Frank Naude|Frank Naude]] 07:37, 8 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
It seems to be the main contributor of Wikipedia article (Berny68); I let you make the modifications that seem necessary for you. Best regards. [[User:Michel Cadot|Michel Cadot]] 08:38, 8 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Index-organized table‎ wiki page ==&lt;br /&gt;
&lt;br /&gt;
Hi Frank, I rewrote the [[Index-organized table‎]] page, when you'll have some time could you check and correct my english. Thanks. [[User:Michel Cadot|Michel Cadot]] 15:53, 20 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
: My English isn't that great either, but I'll give it a go. Best regards. [[User:Frank Naude|Frank Naude]] 17:45, 20 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
This is far better now, thanks. [[User:Michel Cadot|Michel Cadot]] 19:03, 20 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== CSV ==&lt;br /&gt;
&lt;br /&gt;
Thanks, I notice that in code triple quotes are hidden and following text is bold, can you fix this? It is common in sql to have double, triple and quadruple single quotes&lt;br /&gt;
&lt;br /&gt;
: Sorry Frank to interfere in your talk, just to mention to Laurent that he can use the &amp;quot;nowiki&amp;quot; tags:&lt;br /&gt;
: ''' Example '''&lt;br /&gt;
: &amp;lt;nowiki&amp;gt; ''' Example ''' &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: The latter was written &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt; ''' Example ''' &amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: [[User:Michel Cadot|Michel Cadot]] 15:28, 25 July 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Spammer == &lt;br /&gt;
&lt;br /&gt;
We have a new spammer with rude behaviour, he modified twice the Byte wiki page from 2 different IP, 109.169.73.235 and 109.169.70.82, allocated to the same organization &amp;quot;RapidSwitch Ltd&amp;quot; near Wichita, Kansas. I don't know if you have any action or report possibilities at your side to alert against the bad behaviour of this person, first to RapidSwitch then to an official US organization. I will ask the same question to our forum members.&lt;br /&gt;
&lt;br /&gt;
[[User:Michel Cadot|Michel Cadot]] 08:45, 21 January 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
: If it would help, you can &amp;quot;protect&amp;quot; pages so that anonymous users cannot edit them. Regards. Frank&lt;br /&gt;
&lt;br /&gt;
:: Thanks, I note this feature.&lt;br /&gt;
:: Barbara gives a link in her post at http://www.orafaq.com/forum/mv/msg/178259/540283/102589/#msg_540283 some ways are mentioned to report spam. If you don't mind I will first report to RapidSwitch and depending on the answer, the attack of another page and your will, I'll go one step further mailing some mentioned agencies. Tell me if this is a trouble for you.&lt;br /&gt;
:: Regards, Michel&lt;br /&gt;
&lt;br /&gt;
::: No trouble at all. Go for it! Frank&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Byte</id>
		<title>Byte</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Byte"/>
				<updated>2012-01-21T12:13:12Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Protected &amp;quot;Byte&amp;quot; [edit=autoconfirmed:move=autoconfirmed]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A '''byte''' is a series of 8 [[bit]]s. Also called a character. Computer [[storage]] space is measured in bytes.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Unit !! Abbreviation !! Value&lt;br /&gt;
|-&lt;br /&gt;
| A kilobyte || 1 KB || 1024 bytes&lt;br /&gt;
|-&lt;br /&gt;
| A megabyte || 1 MB || 1024 KB&lt;br /&gt;
|-&lt;br /&gt;
| A gigabyte || 1 GB || 1024 MB&lt;br /&gt;
|-&lt;br /&gt;
| A terabyte || 1 TB || 1024 GB&lt;br /&gt;
|-&lt;br /&gt;
| An exabyte || 1 EB || 1024 TB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Also see==&lt;br /&gt;
* [[Bit]] - binary digit&lt;br /&gt;
&lt;br /&gt;
{{Glossary}}&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/User_talk:Frank_Naude</id>
		<title>User talk:Frank Naude</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/User_talk:Frank_Naude"/>
				<updated>2012-01-21T10:42:07Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: /* Spammer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Images ==&lt;br /&gt;
Hello Frank,&lt;br /&gt;
Thanks for pointing this out. Please tell me how to delete theses images.&lt;br /&gt;
: Hi DreamzZ, you can just upload new images. I will delete unused images. [[User:Frank Naude|Frank Naude]]&lt;br /&gt;
&lt;br /&gt;
== Uploaded zip files ==&lt;br /&gt;
Hi Frank, what to do with these uploaded zip files not linked to any page that seems to only use OraFAQ as free space? [[User:Michel Cadot|Michel Cadot]]&lt;br /&gt;
&lt;br /&gt;
: Hi Michel, we need to decide if it's useful keeping them or not. If not (most likely scenario), please remove them. If we keep them, we need to somehow categorize and document them. Best regards. [[User:Frank Naude|Frank Naude]] 13:01, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Frank, as most of the time the author does not do anything else than loading their files, it is hard to say what we can do with them. &lt;br /&gt;
This morning Panada loaded a file named &amp;quot;User tables count.zip&amp;quot; which contains a script to count all row numbers in user tables. This issue has been discussed many times in Forum and many solutions has been provided (maybe I should create a Wiki page to bring them together, if this is not already done). This version does not add anything and is even less performant. So I think we can remove it.&lt;br /&gt;
A month ago, Ssamiullah loaded a file named &amp;quot;Difference between 11i and 12i - v1.zip&amp;quot; which contains a paper (pdf) on Business Suite, maybe it is useful I don't know E-Business (not even the current version number). It ends with &amp;quot;This paper is submitted for the convenience of the Oracle Applications DBA’s by Syed Samiullah&amp;quot;, does this mean we possibly can use it? Or is it just there because the author wants to be able to find his paper everywhere? Only the author can say. [[User:Michel Cadot|Michel Cadot]]&lt;br /&gt;
&lt;br /&gt;
: I agree, this one should be removed. In addition, we should look out for copyright violations. If users do not upload their own work, they need to obtain permission from the owner(s) before it can be uploaded here. This permission needs to be clearly indicated. Best regards. [[User:Frank Naude|Frank Naude]] 06:36, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi Frank, I deleted the file and a couple of others, I also start a talk Ssamiullah to ask him what he wants to do with his paper. Best regards. [[User:Michel Cadot|Michel Cadot]] 13:49, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== SQL FAQ ==&lt;br /&gt;
&lt;br /&gt;
The last modification of SQL FAQ page tells the opposite what was said in the previous version about the pronunciation of SQL. &lt;br /&gt;
I don't know which one is true, can you have a look at it.&lt;br /&gt;
Thanks.&lt;br /&gt;
&lt;br /&gt;
[[User:Michel Cadot|Michel Cadot]] 17:27, 23 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Thanks Michel. I've seen the update, but don't know how to respond either. Best regards. [[User:Frank Naude|Frank Naude]] 17:43, 23 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Steven Feuerstein page ==&lt;br /&gt;
&lt;br /&gt;
[[Steven Feuerstein]] page is a copy of Wikipedia one added by Berny, can we keep it or must we delete it?&lt;br /&gt;
[[User:Michel Cadot|Michel Cadot]] 06:14, 8 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: If he is the author the Wikipedia article we can keep it (he is the legal copyright owner). If not, we can still keep it, but we need to adhere to the conditions in Wikipedia's Creative Commons Attribution-ShareAlike License. This entails a link to the original article and giving credit to all significant authors of the document. Best regards. [[User:Frank Naude|Frank Naude]] 07:37, 8 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
It seems to be the main contributor of Wikipedia article (Berny68); I let you make the modifications that seem necessary for you. Best regards. [[User:Michel Cadot|Michel Cadot]] 08:38, 8 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Index-organized table‎ wiki page ==&lt;br /&gt;
&lt;br /&gt;
Hi Frank, I rewrote the [[Index-organized table‎]] page, when you'll have some time could you check and correct my english. Thanks. [[User:Michel Cadot|Michel Cadot]] 15:53, 20 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
: My English isn't that great either, but I'll give it a go. Best regards. [[User:Frank Naude|Frank Naude]] 17:45, 20 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
This is far better now, thanks. [[User:Michel Cadot|Michel Cadot]] 19:03, 20 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== CSV ==&lt;br /&gt;
&lt;br /&gt;
Thanks, I notice that in code triple quotes are hidden and following text is bold, can you fix this? It is common in sql to have double, triple and quadruple single quotes&lt;br /&gt;
&lt;br /&gt;
: Sorry Frank to interfere in your talk, just to mention to Laurent that he can use the &amp;quot;nowiki&amp;quot; tags:&lt;br /&gt;
: ''' Example '''&lt;br /&gt;
: &amp;lt;nowiki&amp;gt; ''' Example ''' &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: The latter was written &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt; ''' Example ''' &amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: [[User:Michel Cadot|Michel Cadot]] 15:28, 25 July 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Spammer == &lt;br /&gt;
&lt;br /&gt;
We have a new spammer with rude behaviour, he modified twice the Byte wiki page from 2 different IP, 109.169.73.235 and 109.169.70.82, allocated to the same organization &amp;quot;RapidSwitch Ltd&amp;quot; near Wichita, Kansas. I don't know if you have any action or report possibilities at your side to alert against the bad behaviour of this person, first to RapidSwitch then to an official US organization. I will ask the same question to our forum members.&lt;br /&gt;
&lt;br /&gt;
[[User:Michel Cadot|Michel Cadot]] 08:45, 21 January 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
: If it would help, you can &amp;quot;protect&amp;quot; pages so that anonymous users cannot edit them. Regards. Frank&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Spatial_FAQ</id>
		<title>Spatial FAQ</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Spatial_FAQ"/>
				<updated>2011-12-10T14:22:26Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by Fetvanl (Talk) to last version by 84.40.217.56&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Oracle [[Spatial]] FAQ:&lt;br /&gt;
&lt;br /&gt;
==What is Oracle Spatial?==&lt;br /&gt;
Oracle Spatial (formerly called SDO and before that MultiDimension), provides a way to store and retrieve multi-dimensional data in Oracle. It is primarily used for Geographical Information Systems to implement geo-reference and solve queries such as how is something related to a specific location.&lt;br /&gt;
&lt;br /&gt;
With this, representation of features (point, line or polygon) are stored in a single field within a table. A single Helical Hyperspatial code (HHCODE) is used to store the Euclidean spatial dimensions and additional data dimensional include depth, elevation, or time. The types&lt;br /&gt;
of multidimensional data are restricted only in that they must be a numeric data type and have a bounded range. The HHCODE is generated through the recursive decomposition of dimensional space. Attribute data for specific multidimensional data is stored within columns of a table in the database. Access to the data for processing and manipulation is accomplished through extensions to Oracle PL/SQL.&lt;br /&gt;
&lt;br /&gt;
== What is the difference between Oracle Spatial and Locator? ==&lt;br /&gt;
Oracle Locator is free with the Oracle Database Server (EE and Standard Edition). Oracle Spatial is intended for &amp;quot;heavy&amp;quot; spatial applications. It only ships with Oracle Enterprise Edition and are separately charged.&lt;br /&gt;
&lt;br /&gt;
==What is the difference between the Relational and Object Spatial model?==&lt;br /&gt;
Oracle Spatial provides two mutually exclusive models for representing geometry:&lt;br /&gt;
&lt;br /&gt;
* '''Object-relational model''' - uses a table with single column of type MDSYS.SDO_GEOMETRY and a single row per geometry instance.&lt;br /&gt;
&lt;br /&gt;
* '''Relational model''' - uses a table with a predefined set of columns of type NUMBER and one or more rows for each geometry instance.&lt;br /&gt;
&lt;br /&gt;
The object model provides more features. In Oracle8i, the Object model didn't support replication, partitioning and distribution. From Oracle 9i there is no benefits in choosing the relational model above the object model.&lt;br /&gt;
&lt;br /&gt;
==How does one install Oracle Spatial?==&lt;br /&gt;
Oracle Spatial can be installed via the Oracle installer, DBCA or from the command line interface. Look at these examples:&lt;br /&gt;
&lt;br /&gt;
For Oracle 9i and 10g:&lt;br /&gt;
 SQL&amp;gt; connect SYS as SYSDBA&lt;br /&gt;
 SQL&amp;gt; @?/md/admin/mdinst.sql&lt;br /&gt;
&lt;br /&gt;
For Oracle 8i:&lt;br /&gt;
 SQL&amp;gt; REM # Create MDSYS users as part of the ORD (Object Relational Data) &lt;br /&gt;
 SQL&amp;gt; REM #    install script ordisys.sql:&lt;br /&gt;
 SQL&amp;gt; connect SYS as SYSDBA&lt;br /&gt;
 SQL&amp;gt; @?/ord/admin/ordisys.sql&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; REM # Install MD catalog into the MDSYS user&lt;br /&gt;
 SQL&amp;gt; connect mdsys/mdsys&lt;br /&gt;
 SQL&amp;gt; @?/md/admin/catmd.sql&lt;br /&gt;
&lt;br /&gt;
For Oracle 8.0:&lt;br /&gt;
 SQL&amp;gt; REM # Create user MDSYS with admin option&lt;br /&gt;
 SQL&amp;gt; connect SYS as SYSDBA&lt;br /&gt;
 SQL&amp;gt; @?/md/install/mdsysid.sql&lt;br /&gt;
 &lt;br /&gt;
 SQL&amp;gt; REM # Install MD catalog into the MDSYS user&lt;br /&gt;
 SQL&amp;gt; connect mdsys/mdsys&lt;br /&gt;
 SQL&amp;gt; @?/md/admin/catmd.sql&lt;br /&gt;
&lt;br /&gt;
NOTE: Also run ''catmd.sql'' after upgrading to a new Oracle release.&lt;br /&gt;
&lt;br /&gt;
==What is the difference between Vector and Raster data?==&lt;br /&gt;
There are two main models for storing and representing spatial data in a Geographic Information System (GIS): the raster the vector models:&lt;br /&gt;
&lt;br /&gt;
'''RASTER DATA''' - raster (or grid cell type) data can be used for analyzing, overlaying, and modeling areal features such as soil types or forested areas. Raster data are generally typically scanned in from maps.&lt;br /&gt;
&lt;br /&gt;
'''VECTOR DATA''' - vector data can be used to represent linear features such as roads, streams or area edges and can be combined with raster data for display purposes or for analysis. &lt;br /&gt;
&lt;br /&gt;
In general, Raster maps are faster, Vector maps are more specific and more accurate.&lt;br /&gt;
&lt;br /&gt;
==What is a GeoTIFF and what is it used for?==&lt;br /&gt;
GeoTIFF is a non-proprietary geographic TIFF file format. The purpose of GeoTIFF is to provide information that lets raster imagery (scanned maps, satellite images, results of geographic analysis, etc) be read automatically into correct position and scale within many GIS softwares. GeoTIFF implements a tag structure which embeds the geographic information methodically and interoperably (and invisibly to most users) inside the TIFF file. &lt;br /&gt;
&lt;br /&gt;
==What are HHCodes and what are they used for?==&lt;br /&gt;
HHCODEs (Helical Hyperspatial Codes) is an encoding technique developed by the Canadian Hydrographic Service for combining data of two or more dimensions into a single value. This value represents the intersection of all of the desired dimensions. HHCODEs makes it easy to store multidimensional data in a database.&lt;br /&gt;
&lt;br /&gt;
In Oracle, a HHCODE is a datatype used for both spatial indexing and partitioned point data.&lt;br /&gt;
&lt;br /&gt;
'''More technical:'''&lt;br /&gt;
&lt;br /&gt;
HHCodes are in effect Peano Codes, an implementation of Space Filling Curves. The multidimensionality aspect is the use of the Riemannian hypercube in conjunction with the space filling curve. What in effect has happened is that the Riemannian tensor matrix has been mapped by the space filling curve. This gives mathematical credence to HHCodes and a lot more functionality then just data access. One more thing the HHcode encoding is not just Euclidean, Curvilinear and linear coordinates such as Lat, Lon, depth and time can also be mapped together. This creates Time varying voxels, (I suppose one can call them toxels).&lt;br /&gt;
&lt;br /&gt;
'''Contributed by: [mailto:hvarma@mar.dfo-mpo.gc.ca Herman Varma]&lt;br /&gt;
&lt;br /&gt;
==What Spatial Vendors integrate with Oracle?==&lt;br /&gt;
The following Spatial Vendors provide Oracle based solutions:&lt;br /&gt;
* [http://www.mapxtreme.com/ MapInfo MapXtreme]&lt;br /&gt;
* [http://www.mapinfo.com/ MapInfo MapX]&lt;br /&gt;
* [http://www.esri.com/ ArcView]&lt;br /&gt;
* [http://www.geomicro.com/ GeoMicro's AltaMap]&lt;br /&gt;
* [http://www.innogistic.co.uk/ Innogistic's Cartology DSI]&lt;br /&gt;
* [http://www.intergraph.com/sgi/products/ Intergraph SG&amp;amp;I's products]&lt;br /&gt;
&lt;br /&gt;
[[Category: Frequently Asked Questions]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Tablespace</id>
		<title>Tablespace</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Tablespace"/>
				<updated>2011-12-10T14:22:24Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by Fetvanl (Talk) to last version by Frank Naude&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A '''tablespace''' is a container for [[segment]]s (tables, indexes, etc). A database consists of one or more tablespaces, each made up of one or more [[data file]]s. [[Table]]s and [[index]]es are created within a particular tablespace. &lt;br /&gt;
&lt;br /&gt;
Oracle has a limit of 64,000 [[data file]]s per database.&lt;br /&gt;
&lt;br /&gt;
== Default tablespaces ==&lt;br /&gt;
When a [[Creating a New Database|new database is created]], it will have the following tablespaces (as created by the [[DBCA|Database Configuration Assistant]]):&lt;br /&gt;
* [[SYSTEM]] (the [[data dictionary]])&lt;br /&gt;
* [[SYSAUX]] (optional database components)&lt;br /&gt;
* TEMP (temporary tablespace, see tablespace types below)&lt;br /&gt;
* UNDOTBS1 (undo tablespace, see tablespace types below)&lt;br /&gt;
* USERS (default users tablespace created)&lt;br /&gt;
&lt;br /&gt;
== Tablespace creation ==&lt;br /&gt;
The only mandatory parameter to create tablespace in CREATE TABLESPACE statement is its name.&lt;br /&gt;
 CREATE TABLESPACE  &amp;lt;tblspc_name&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
Created tablespace will then be:&lt;br /&gt;
*Permanent, locally managed and with system allocated extent size.&lt;br /&gt;
*Datafile will be created in location provided in the DB_CREATE_FILE_DEST parameter and with size 100 MB. The datafile is autoextensible with no maximum size. &lt;br /&gt;
*Name of datafile will be similar to &amp;quot;ora_applicat_zxyykpt000.dbf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Complete Syntax'''&lt;br /&gt;
&lt;br /&gt;
  CREATE [TEMPORARY / UNDO] TABLESPACE  &amp;lt;tblspc_name&amp;gt;&lt;br /&gt;
  DATAFILE / TEMPFILE       '&amp;lt;datafile01_name and Path where file to create&amp;gt;' SIZE &amp;lt;integer M&amp;gt;[,&lt;br /&gt;
                            '&amp;lt;datafile02_name and Path where file to create&amp;gt;' SIZE &amp;lt;integer M&amp;gt;[,&lt;br /&gt;
                            '&amp;lt;datafile0N_name and Path where file to create&amp;gt;' SIZE &amp;lt;integer M&amp;gt;[,...]]]&lt;br /&gt;
  BLOCKSIZE  &amp;lt;DB_BLOCK_SIZE parameter /2k/4k/8k/16k/32k &amp;gt;&lt;br /&gt;
  AUTOEXTEND { [OFF/ON (NEXT &amp;lt;integer K/M &amp;gt;  MAXSIZE&amp;lt;integer K/M &amp;gt;) / UNLIMITED] } &lt;br /&gt;
  LOGGING/NOLOGGING (Logging default) &lt;br /&gt;
  ONLINE/OFFLINE (Online default)&lt;br /&gt;
  EXTENT MANAGEMENT { [DICTIONARY] /&lt;br /&gt;
                      [LOCAL Default (AUTOALLOCATE / UNIFORM &amp;lt;integer K/M &amp;gt;)] }&lt;br /&gt;
  PERMANENT  / TEMPORARY (Permanent default)&lt;br /&gt;
  MINIMUM EXTENT&lt;br /&gt;
  DEFAULT STORAGE  {    [INITIAL &amp;lt;integer K/M &amp;gt;]&lt;br /&gt;
                        [NEXT &amp;lt;integer K/M &amp;gt;]&lt;br /&gt;
                        [PCTINCREASE &amp;lt;integer K/M &amp;gt;]&lt;br /&gt;
                        [MINEXTENTS &amp;lt;integer&amp;gt;]&lt;br /&gt;
                        [MAXEXTENTS &amp;lt;integer&amp;gt; / UNLIMITED]&lt;br /&gt;
                        [FREELISTS &amp;lt;integer&amp;gt;]&lt;br /&gt;
                        [FREELIST GROUPS &amp;lt;integer&amp;gt;]&lt;br /&gt;
                        [OPTIMAL &amp;lt;integer&amp;gt;/NULL]&lt;br /&gt;
                        [BUFFER_POOL &amp;lt; DEFAULT/KEEP/RECYCLE &amp;gt;] }&lt;br /&gt;
  CHUNK &amp;lt;integer K/M &amp;gt;&lt;br /&gt;
  NOCACHE;&lt;br /&gt;
&lt;br /&gt;
* BLOCKSIZE –  By Default blocksize define in the parameter DB_BLOCK_SIZE. In Oracle9''i'', multiple blocksize that is different block size for different tablespaces, can be defined; all datafiles of a same tablespace have the same block size.&lt;br /&gt;
* DEFAULT STORAGE :&lt;br /&gt;
** INITIAL – Specifies the size of the object's first extent.3 k minmum for Locally and 2 k minimum Dictionary.&lt;br /&gt;
** NEXT – Specifies the size of the object's sucessive extent.&lt;br /&gt;
** PCTINCREASE – Specifies the ratio of the third or the preceding extent of the object. The default value for PCTINCREASE is 50 % and the minimum value is 0%.&lt;br /&gt;
** MINEXTENTS – The total number of extent allocated to the segment at the time of creation &lt;br /&gt;
** MAXEXTENTS – The maximum number of extent that can be allocated to the segment .&lt;br /&gt;
* MININUM EXTENT – The size is specifies in this clause.The extent are multiple of  the size specified 	in this  clause .NEXT and INITIAL extent size specified should be multiple of minmum extent.&lt;br /&gt;
* PERMANENT  / TEMPORARY – Permannent is default, use to store the table,index etc,Temporary is for temporay segments(sorts in Sql) can not store table,index in temporary tablespace.&lt;br /&gt;
* LOGGING / NOLOGGING – Logging is default,the DDL operation &amp;amp; direct insert load are recorded 	in the redo log file.&lt;br /&gt;
* ONLINE / OFFLINE -  Online is default,tablespace is available as soon as created.&lt;br /&gt;
&lt;br /&gt;
== Tablespace types ==&lt;br /&gt;
Different tablespace types can be created for different purposes:&lt;br /&gt;
&lt;br /&gt;
=== Permanent tablespaces ===&lt;br /&gt;
Permanent tablespaces are used to store user data and user created objects like tables, indexes and materialized views. Sample create statements:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLESPACE tools DATAFILE '/u01/oradata/orcl/tools/file_1.dbf' SIZE 100M;&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLESPACE tools DATAFILE 'C:\ORA\tools01.dbf' SIZE 100M AUTOEXTEND ON MAXSIZE 500M;&lt;br /&gt;
&lt;br /&gt;
=== Temp tablespaces ===&lt;br /&gt;
Temp or temporary tablespaces are used to store data with short lifespan (transient data), for example: global temporarily tables or sort results.&lt;br /&gt;
&lt;br /&gt;
 CREATE '''TEMPORARY''' TABLESPACE temp TEMPFILE '/u01/oradata/orcl/temp/file_1.dbf' SIZE 100M;&lt;br /&gt;
&lt;br /&gt;
With a single temp tablespace, the database will only write to one [[temp file]] at a time. However, [[Temporary tablespace group]]s, an [[Oracle 10g]] feature, can be created to allow Oracle to write to multiple temp files simultaneously.&lt;br /&gt;
&lt;br /&gt;
=== Undo tablespaces ===&lt;br /&gt;
Undo tablespaces are used to store &amp;quot;before image&amp;quot; data that can be used to undo transactions. See [[ROLLBACK]].&lt;br /&gt;
&lt;br /&gt;
 CREATE '''UNDO''' TABLESPACE undots DATAFILE '/u01/oradata/orcl/undo/file_1.dbf' SIZE 20M;&lt;br /&gt;
&lt;br /&gt;
== Assign tablespaces to users ==&lt;br /&gt;
Users cannot create objects in a tablespace (even it's their default tablespace) unless they have a quota on it (or UNLIMITED TABLESPACE privilege). Some examples:&lt;br /&gt;
&lt;br /&gt;
Grant user scott access to use all space in the tools tablespace:&lt;br /&gt;
 ALTER USER scott QUOTA UNLIMITED ON tools;&lt;br /&gt;
&lt;br /&gt;
Prevent user scott from using space in the system tablespace:&lt;br /&gt;
 ALTER USER scott QUOTA 0 ON system;&lt;br /&gt;
&lt;br /&gt;
==Check free/used space per tablespace==&lt;br /&gt;
Example query to check free and used space per tablespace:&lt;br /&gt;
 SELECT /* + RULE */  df.tablespace_name &amp;quot;Tablespace&amp;quot;,&lt;br /&gt;
        df.bytes / (1024 * 1024) &amp;quot;Size (MB)&amp;quot;,&lt;br /&gt;
        SUM(fs.bytes) / (1024 * 1024) &amp;quot;Free (MB)&amp;quot;,&lt;br /&gt;
        Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) &amp;quot;% Free&amp;quot;,&lt;br /&gt;
        Round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) &amp;quot;% Used&amp;quot;&lt;br /&gt;
   FROM dba_free_space fs,&lt;br /&gt;
        (SELECT tablespace_name,SUM(bytes) bytes&lt;br /&gt;
           FROM dba_data_files&lt;br /&gt;
          GROUP BY tablespace_name) df&lt;br /&gt;
  WHERE fs.tablespace_name (+)  = df.tablespace_name&lt;br /&gt;
  GROUP BY df.tablespace_name,df.bytes&lt;br /&gt;
 UNION ALL&lt;br /&gt;
 SELECT /* + RULE */ df.tablespace_name tspace,&lt;br /&gt;
        fs.bytes / (1024 * 1024),&lt;br /&gt;
        SUM(df.bytes_free) / (1024 * 1024),&lt;br /&gt;
        Nvl(Round((SUM(fs.bytes) - df.bytes_used) * 100 / fs.bytes), 1),&lt;br /&gt;
        Round((SUM(fs.bytes) - df.bytes_free) * 100 / fs.bytes)&lt;br /&gt;
   FROM dba_temp_files fs,&lt;br /&gt;
        (SELECT tablespace_name,bytes_free,bytes_used&lt;br /&gt;
           FROM v$temp_space_header&lt;br /&gt;
          GROUP BY tablespace_name,bytes_free,bytes_used) df&lt;br /&gt;
  WHERE fs.tablespace_name (+)  = df.tablespace_name&lt;br /&gt;
  GROUP BY df.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used&lt;br /&gt;
  ORDER BY 4 DESC;&lt;br /&gt;
&lt;br /&gt;
Sample output:&lt;br /&gt;
 Tablespace                      Size (MB)  Free (MB)     % Free     % Used&lt;br /&gt;
 ------------------------------ ---------- ---------- ---------- ----------&lt;br /&gt;
 UNDOTBS1                               65    17.8125         27         73&lt;br /&gt;
 EXAMPLE                               100     22.625         23         77&lt;br /&gt;
 USERS                                   5     1.0625         21         79&lt;br /&gt;
 TEMP                                   20          2         10         90&lt;br /&gt;
 SYSAUX                            625.125       54.5          9         91&lt;br /&gt;
 SYSTEM                                700     9.0625          1         99&lt;br /&gt;
&lt;br /&gt;
==Best practices==&lt;br /&gt;
* Do not create objects in the SYSTEM tablespace. The system tablespace is reserved for the [[data dictionary]].&lt;br /&gt;
* Don't create tablespaces, with hundreds of small datafiles, these files needs to be [[checkpoint]]ed, resulting is unnecessary processing.&lt;br /&gt;
&lt;br /&gt;
== Also see ==&lt;br /&gt;
* [[Bigfile tablespace]]s - tablespaces with a single large datafile&lt;br /&gt;
* [[LMT]] - Locally Managed Tablespaces&lt;br /&gt;
* [[DMT]] - Dictionary Managed Tablespaces&lt;br /&gt;
* [[Add space to database]]&lt;br /&gt;
* [[Database Concepts and Architecture]]&lt;br /&gt;
* [[ASM]] - Automated Storage Management&lt;br /&gt;
* [[RAID]] and [[JBOD]]&lt;br /&gt;
&lt;br /&gt;
{{Glossary}}&lt;br /&gt;
[[Category: Database]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Oracle_9i</id>
		<title>Oracle 9i</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Oracle_9i"/>
				<updated>2011-12-10T14:22:20Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by Fetvanl (Talk) to last version by Michel Cadot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Oracle 9i''' is a version of the [[Oracle Database]]. The i stands for &amp;quot;Internet&amp;quot; to indicate that 9i is &amp;quot;Internet ready&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Also see [[Oracle 10g]] and [[Oracle 11g]].&lt;br /&gt;
&lt;br /&gt;
== History and Support Status ==&lt;br /&gt;
&lt;br /&gt;
Two releases are available: &lt;br /&gt;
&lt;br /&gt;
===Oracle 9i Release 1 (9.1.0)===&lt;br /&gt;
&lt;br /&gt;
Status: Desupported&amp;lt;br&amp;gt;&lt;br /&gt;
Last patch-set: 9.1.0.4&lt;br /&gt;
&lt;br /&gt;
End of Error Correction Support: 31-Dec-[[2003]]&amp;lt;br&amp;gt;&lt;br /&gt;
End of Extended Assistance Support: 30-Jun-[[2006]]&amp;lt;br&amp;gt;&lt;br /&gt;
End of Extended Maintenance Support: not offered&lt;br /&gt;
&lt;br /&gt;
===Oracle 9i Release 2 (9.2.0)===&lt;br /&gt;
&lt;br /&gt;
Status: Desupported, however, Oracle has waived their usual fees for extended support until July [[2008]]. For more info, see http://www.oracle.com/features/hp/database-9i-support.html&amp;lt;br&amp;gt;&lt;br /&gt;
Last patch-set: 9.2.0.8&lt;br /&gt;
&lt;br /&gt;
Premier Support Ends: 31-Jul-[[2007]]&amp;lt;br&amp;gt;&lt;br /&gt;
Extended Support Ends: 30-Jul-[[2010]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features introduced==&lt;br /&gt;
&lt;br /&gt;
The following new features were introduced with Oracle 9i:&lt;br /&gt;
&lt;br /&gt;
===Oracle 9i Release 2 (9.2.0) - May 2002===&lt;br /&gt;
*Locally Managed SYSTEM tablespaces&lt;br /&gt;
*Oracle Streams - new data sharing/replication feature (can potentially replace Oracle Advance Replication and Standby Databases)&lt;br /&gt;
*XML DB (Oracle is now a standards compliant XML database)&lt;br /&gt;
*Data segment compression (compress keys in tables - only when loading data)&lt;br /&gt;
*Cluster file system for Windows and Linux (raw devices are no longer required).&lt;br /&gt;
*Create logical standby databases with Data Guard&lt;br /&gt;
*Java JDK 1.3 used inside the database (JVM)&lt;br /&gt;
* Oracle Data Guard Enhancements (SQL Apply mode - logical copy of primary database, automatic failover&lt;br /&gt;
*Security Improvements - Default Install Accounts locked, VPD on synonyms, AES, Migrate Users to Directory&lt;br /&gt;
&lt;br /&gt;
===Oracle 9i Release 1 (9.0.1) - June 2001===&lt;br /&gt;
*Traditional [[Rollback Segment]]s (RBS) are still available, but can be replaced with automated [[System Managed Undo]] ([[SMU]]). Using SMU, Oracle will create it's own &amp;quot;Rollback Segments&amp;quot; and size them automatically without any DBA involvement.&lt;br /&gt;
*Flashback query (dbms_flashback.enable) - one can query data as it looked at some point in the past. This feature will allow users to correct wrongly committed transactions without contacting the DBA to do a database restore.&lt;br /&gt;
*Use Oracle Ultra Search for searching databases, file systems, etc. The UltraSearch crawler fetch data and hand it to Oracle Text to be indexed.&lt;br /&gt;
*Oracle Nameserver is still available, but deprecate in favour of LDAP Naming (using the Oracle Internet Directory Server). A nameserver proxy is provided for backwards compatibility as pre-8i client cannot resolve names from an LDAP server.&lt;br /&gt;
*Oracle Parallel Server's (OPS) scalability was improved - now called [[Real Application Clusters]] ([[RAC]]). Full Cache Fusion implemented. Any application can scale in a database cluster. Applications doesn't need to be cluster aware anymore.&lt;br /&gt;
*The Oracle Standby DB feature renamed to Oracle Data Guard. New Logical Standby databases replay SQL on standby site allowing the database to be used for normal read write operations. The Data Guard Broker allows single step fail-over when disaster strikes.&lt;br /&gt;
*Scrolling cursor support. Oracle9i allows fetching backwards in a result set.&lt;br /&gt;
*Dynamic Memory Management - Buffer Pools and shared pool can be resized on-the-fly. This eliminates the need to restart the database each time parameter changes were made.&lt;br /&gt;
*On-line table and index reorganization.&lt;br /&gt;
*VI (Virtual Interface) protocol support, an alternative to TCP/IP, available for use with Oracle Net (SQL*Net). VI provides fast communications between components in a cluster.&lt;br /&gt;
*Build in XML Developers Kit (XDK). New data types for XML (XMLType), URI's, etc. XML integrated with AQ.&lt;br /&gt;
*Cost Based Optimizer now also consider memory and CPU, not only disk access cost as before.&lt;br /&gt;
*[[PL/SQL]] programs can be natively compiled to binaries.&lt;br /&gt;
*Deep data protection - fine grained security and auditing. Put security on DB level. SQL access do not mean unrestricted access.&lt;br /&gt;
*Resumable backups and statements - suspend statement instead of rolling back immediately.&lt;br /&gt;
*[[List partitioning]] - partitioning on a list of values.&lt;br /&gt;
*ETL (eXtract, transformation, load) Operations - with external tables and pipelining.&lt;br /&gt;
*[[Oracle OLAP]] - Express functionality included in the DB.&lt;br /&gt;
*Data Mining - Oracle Darwin's features included in the DB.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.oracle.com/pls/db92/homepage Oracle 9iR2 Documentation]&lt;br /&gt;
&lt;br /&gt;
{{Database versions}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Database]]&lt;br /&gt;
[[Category:Database versions]]&lt;br /&gt;
[[Category:Oracle 9i]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Comp.databases.oracle</id>
		<title>Comp.databases.oracle</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Comp.databases.oracle"/>
				<updated>2011-12-10T14:21:21Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by Fetvanl (Talk) to last version by Frank Naude&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information about the [[Usenet|usenet group]] '''comp.databases.oracle''':&lt;br /&gt;
&lt;br /&gt;
{{Note|Comp.databases.oracle has been renamed to [[comp.databases.oracle.misc]]. Please do not post to this newsgroup anymore.}}&lt;br /&gt;
&lt;br /&gt;
==Group's charter==&lt;br /&gt;
An unmoderated group for the discussion of software products by the Oracle Corporation (eg. [[SQL*Plus]], [[SQL*Forms]], [[SQL*Reportwriter]], etc).&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
Comp.databases.oracle is an unmoderated newsgroup which passed its vote for creation by 283:22 as reported in news.announce.newgroups on [[6 January]] [[1992]]. This group was renamed to [[comp.databases.oracle.misc]] on [[10 December]] [[1996]].&lt;br /&gt;
&lt;br /&gt;
==Current status==&lt;br /&gt;
Closed, do not use.&lt;br /&gt;
&lt;br /&gt;
==Also see==&lt;br /&gt;
* [http://www.orafaq.com/usenet/comp.databases.oracle Browse the Archives]&lt;br /&gt;
&lt;br /&gt;
[[Category:USENET News]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Oracle_11gR2</id>
		<title>Oracle 11gR2</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Oracle_11gR2"/>
				<updated>2011-11-01T12:41:34Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Oracle 11gR2''' is the second and terminal release of the Oracle 11g database. The common theme for this release is &amp;quot;''Consolidate. Compress. Control.''&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
==History and Support Status==&lt;br /&gt;
Oracle 11gR2 (for Linux 32-bit and 64-bit) was released on 1 September [[2009]].&lt;br /&gt;
&lt;br /&gt;
The first patch-set, Oracle 11.2.0.2 was released in September 2010. A new Oracle home instead of in-place patching is now preferred.&lt;br /&gt;
&lt;br /&gt;
The terminal patch set for 11gR2 is Oracle 11.2.0.4.&lt;br /&gt;
&lt;br /&gt;
==New options==&lt;br /&gt;
* '''Oracle RAC One Node''', solution for consolidating less mission critical databases on the grid with most of the redundancy and availability provided by [[RAC]]. An '''Omotion''' utility is provided to migrate One Node instances to other nodes in the cluster without any downtime to the application.&lt;br /&gt;
&lt;br /&gt;
==New features==&lt;br /&gt;
Some of the new features include:&lt;br /&gt;
&lt;br /&gt;
* Improved data compression ratios (up to 20x).&lt;br /&gt;
* Ability to upgrade database applications while users remain online.&lt;br /&gt;
* New ease-of-use features that make Grid computing more accessible.&lt;br /&gt;
* Automation of key systems management activities.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://www.oracle.com/technology/products/database/oracle11g/index.html Oracle's 11gR2 home page]&lt;br /&gt;
* [http://www.oracle.com/pls/db112/homepage Oracle 11gR2 documentation]&lt;br /&gt;
* [http://www.oracle.com/us/corporate/press/032365 Oracle's press announcement]&lt;br /&gt;
&lt;br /&gt;
{{Database versions}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Database]]&lt;br /&gt;
[[Category:Database versions]]&lt;br /&gt;
[[Category:Oracle 11g]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/Tablespace</id>
		<title>Tablespace</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/Tablespace"/>
				<updated>2011-10-31T16:25:33Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: Reverted edits by 203.218.122.241 (Talk) to last version by 193.38.82.36&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A '''tablespace''' is a container for [[segment]]s (tables, indexes, etc). A database consists of one or more tablespaces, each made up of one or more [[data file]]s. [[Table]]s and [[index]]es are created within a particular tablespace. &lt;br /&gt;
&lt;br /&gt;
Oracle has a limit of 64,000 [[data file]]s per database.&lt;br /&gt;
&lt;br /&gt;
== Default tablespaces ==&lt;br /&gt;
When a [[Creating a New Database|new database is created]], it will have the following tablespaces (as created by the [[DBCA|Database Configuration Assistant]]):&lt;br /&gt;
* [[SYSTEM]] (the [[data dictionary]])&lt;br /&gt;
* [[SYSAUX]] (optional database components)&lt;br /&gt;
* TEMP (temporary tablespace, see tablespace types below)&lt;br /&gt;
* UNDOTBS1 (undo tablespace, see tablespace types below)&lt;br /&gt;
* USERS (default users tablespace created)&lt;br /&gt;
&lt;br /&gt;
== Tablespace creation ==&lt;br /&gt;
The only mandatory parameter to create tablespace in CREATE TABLESPACE statement is its name.&lt;br /&gt;
 CREATE TABLESPACE  &amp;lt;tblspc_name&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
Created tablespace will then be:&lt;br /&gt;
*Permanent, locally managed and with system allocated extent size.&lt;br /&gt;
*Datafile will be created in location provided in the DB_CREATE_FILE_DEST parameter and with size 100 MB. The datafile is autoextensible with no maximum size. &lt;br /&gt;
*Name of datafile will be similar to &amp;quot;ora_applicat_zxyykpt000.dbf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Complete Syntax'''&lt;br /&gt;
&lt;br /&gt;
  CREATE [TEMPORARY / UNDO] TABLESPACE  &amp;lt;tblspc_name&amp;gt;&lt;br /&gt;
  DATAFILE / TEMPFILE       '&amp;lt;datafile01_name and Path where file to create&amp;gt;' SIZE &amp;lt;integer M&amp;gt;[,&lt;br /&gt;
                            '&amp;lt;datafile02_name and Path where file to create&amp;gt;' SIZE &amp;lt;integer M&amp;gt;[,&lt;br /&gt;
                            '&amp;lt;datafile0N_name and Path where file to create&amp;gt;' SIZE &amp;lt;integer M&amp;gt;[,...]]]&lt;br /&gt;
  BLOCKSIZE  &amp;lt;DB_BLOCK_SIZE parameter /2k/4k/8k/16k/32k &amp;gt;&lt;br /&gt;
  AUTOEXTEND { [OFF/ON (NEXT &amp;lt;integer K/M &amp;gt;  MAXSIZE&amp;lt;integer K/M &amp;gt;) / UNLIMITED] } &lt;br /&gt;
  LOGGING/NOLOGGING (Logging default) &lt;br /&gt;
  ONLINE/OFFLINE (Online default)&lt;br /&gt;
  EXTENT MANAGEMENT { [DICTIONARY] /&lt;br /&gt;
                      [LOCAL Default (AUTOALLOCATE / UNIFORM &amp;lt;integer K/M &amp;gt;)] }&lt;br /&gt;
  PERMANENT  / TEMPORARY (Permanent default)&lt;br /&gt;
  MINIMUM EXTENT&lt;br /&gt;
  DEFAULT STORAGE  {    [INITIAL &amp;lt;integer K/M &amp;gt;]&lt;br /&gt;
                        [NEXT &amp;lt;integer K/M &amp;gt;]&lt;br /&gt;
                        [PCTINCREASE &amp;lt;integer K/M &amp;gt;]&lt;br /&gt;
                        [MINEXTENTS &amp;lt;integer&amp;gt;]&lt;br /&gt;
                        [MAXEXTENTS &amp;lt;integer&amp;gt; / UNLIMITED]&lt;br /&gt;
                        [FREELISTS &amp;lt;integer&amp;gt;]&lt;br /&gt;
                        [FREELIST GROUPS &amp;lt;integer&amp;gt;]&lt;br /&gt;
                        [OPTIMAL &amp;lt;integer&amp;gt;/NULL]&lt;br /&gt;
                        [BUFFER_POOL &amp;lt; DEFAULT/KEEP/RECYCLE &amp;gt;] }&lt;br /&gt;
  CHUNK &amp;lt;integer K/M &amp;gt;&lt;br /&gt;
  NOCACHE;&lt;br /&gt;
&lt;br /&gt;
* BLOCKSIZE –  By Default blocksize define in the parameter DB_BLOCK_SIZE. In Oracle9''i'', multiple blocksize that is different block size for different tablespaces, can be defined; all datafiles of a same tablespace have the same block size.&lt;br /&gt;
* DEFAULT STORAGE :&lt;br /&gt;
** INITIAL – Specifies the size of the object's first extent.3 k minmum for Locally and 2 k minimum Dictionary.&lt;br /&gt;
** NEXT – Specifies the size of the object's sucessive extent.&lt;br /&gt;
** PCTINCREASE – Specifies the ratio of the third or the preceding extent of the object. The default value for PCTINCREASE is 50 % and the minimum value is 0%.&lt;br /&gt;
** MINEXTENTS – The total number of extent allocated to the segment at the time of creation &lt;br /&gt;
** MAXEXTENTS – The maximum number of extent that can be allocated to the segment .&lt;br /&gt;
* MININUM EXTENT – The size is specifies in this clause.The extent are multiple of  the size specified 	in this  clause .NEXT and INITIAL extent size specified should be multiple of minmum extent.&lt;br /&gt;
* PERMANENT  / TEMPORARY – Permannent is default, use to store the table,index etc,Temporary is for temporay segments(sorts in Sql) can not store table,index in temporary tablespace.&lt;br /&gt;
* LOGGING / NOLOGGING – Logging is default,the DDL operation &amp;amp; direct insert load are recorded 	in the redo log file.&lt;br /&gt;
* ONLINE / OFFLINE -  Online is default,tablespace is available as soon as created.&lt;br /&gt;
&lt;br /&gt;
== Tablespace types ==&lt;br /&gt;
Different tablespace types can be created for different purposes:&lt;br /&gt;
&lt;br /&gt;
=== Permanent tablespaces ===&lt;br /&gt;
Permanent tablespaces are used to store user data and user created objects like tables, indexes and materialized views. Sample create statements:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLESPACE tools DATAFILE '/u01/oradata/orcl/tools/file_1.dbf' SIZE 100M;&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLESPACE tools DATAFILE 'C:\ORA\tools01.dbf' SIZE 100M AUTOEXTEND ON MAXSIZE 500M;&lt;br /&gt;
&lt;br /&gt;
=== Temp tablespaces ===&lt;br /&gt;
Temp or temporary tablespaces are used to store data with short lifespan (transient data), for example: global temporarily tables or sort results.&lt;br /&gt;
&lt;br /&gt;
 CREATE '''TEMPORARY''' TABLESPACE temp TEMPFILE '/u01/oradata/orcl/temp/file_1.dbf' SIZE 100M;&lt;br /&gt;
&lt;br /&gt;
With a single temp tablespace, the database will only write to one [[temp file]] at a time. However, [[Temporary tablespace group]]s, an [[Oracle 10g]] feature, can be created to allow Oracle to write to multiple temp files simultaneously.&lt;br /&gt;
&lt;br /&gt;
=== Undo tablespaces ===&lt;br /&gt;
Undo tablespaces are used to store &amp;quot;before image&amp;quot; data that can be used to undo transactions. See [[ROLLBACK]].&lt;br /&gt;
&lt;br /&gt;
 CREATE '''UNDO''' TABLESPACE undots DATAFILE '/u01/oradata/orcl/undo/file_1.dbf' SIZE 20M;&lt;br /&gt;
&lt;br /&gt;
== Assign tablespaces to users ==&lt;br /&gt;
Users cannot create objects in a tablespace (even it's their default tablespace) unless they have a quota on it (or UNLIMITED TABLESPACE privilege). Some examples:&lt;br /&gt;
&lt;br /&gt;
Grant user scott access to use all space in the tools tablespace:&lt;br /&gt;
 ALTER USER scott QUOTA UNLIMITED ON tools;&lt;br /&gt;
&lt;br /&gt;
Prevent user scott from using space in the system tablespace:&lt;br /&gt;
 ALTER USER scott QUOTA 0 ON system;&lt;br /&gt;
&lt;br /&gt;
==Check free/used space per tablespace==&lt;br /&gt;
Example query to check free and used space per tablespace:&lt;br /&gt;
 SELECT /* + RULE */  df.tablespace_name &amp;quot;Tablespace&amp;quot;,&lt;br /&gt;
        df.bytes / (1024 * 1024) &amp;quot;Size (MB)&amp;quot;,&lt;br /&gt;
        SUM(fs.bytes) / (1024 * 1024) &amp;quot;Free (MB)&amp;quot;,&lt;br /&gt;
        Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) &amp;quot;% Free&amp;quot;,&lt;br /&gt;
        Round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) &amp;quot;% Used&amp;quot;&lt;br /&gt;
   FROM dba_free_space fs,&lt;br /&gt;
        (SELECT tablespace_name,SUM(bytes) bytes&lt;br /&gt;
           FROM dba_data_files&lt;br /&gt;
          GROUP BY tablespace_name) df&lt;br /&gt;
  WHERE fs.tablespace_name (+)  = df.tablespace_name&lt;br /&gt;
  GROUP BY df.tablespace_name,df.bytes&lt;br /&gt;
 UNION ALL&lt;br /&gt;
 SELECT /* + RULE */ df.tablespace_name tspace,&lt;br /&gt;
        fs.bytes / (1024 * 1024),&lt;br /&gt;
        SUM(df.bytes_free) / (1024 * 1024),&lt;br /&gt;
        Nvl(Round((SUM(fs.bytes) - df.bytes_used) * 100 / fs.bytes), 1),&lt;br /&gt;
        Round((SUM(fs.bytes) - df.bytes_free) * 100 / fs.bytes)&lt;br /&gt;
   FROM dba_temp_files fs,&lt;br /&gt;
        (SELECT tablespace_name,bytes_free,bytes_used&lt;br /&gt;
           FROM v$temp_space_header&lt;br /&gt;
          GROUP BY tablespace_name,bytes_free,bytes_used) df&lt;br /&gt;
  WHERE fs.tablespace_name (+)  = df.tablespace_name&lt;br /&gt;
  GROUP BY df.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used&lt;br /&gt;
  ORDER BY 4 DESC;&lt;br /&gt;
&lt;br /&gt;
Sample output:&lt;br /&gt;
 Tablespace                      Size (MB)  Free (MB)     % Free     % Used&lt;br /&gt;
 ------------------------------ ---------- ---------- ---------- ----------&lt;br /&gt;
 UNDOTBS1                               65    17.8125         27         73&lt;br /&gt;
 EXAMPLE                               100     22.625         23         77&lt;br /&gt;
 USERS                                   5     1.0625         21         79&lt;br /&gt;
 TEMP                                   20          2         10         90&lt;br /&gt;
 SYSAUX                            625.125       54.5          9         91&lt;br /&gt;
 SYSTEM                                700     9.0625          1         99&lt;br /&gt;
&lt;br /&gt;
==Best practices==&lt;br /&gt;
* Do not create objects in the SYSTEM tablespace. The system tablespace is reserved for the [[data dictionary]].&lt;br /&gt;
* Don't create tablespaces, with hundreds of small datafiles, these files needs to be [[checkpoint]]ed, resulting is unnecessary processing.&lt;br /&gt;
&lt;br /&gt;
== Also see ==&lt;br /&gt;
* [[Bigfile tablespace]]s - tablespaces with a single large datafile&lt;br /&gt;
* [[LMT]] - Locally Managed Tablespaces&lt;br /&gt;
* [[DMT]] - Dictionary Managed Tablespaces&lt;br /&gt;
* [[Add space to database]]&lt;br /&gt;
* [[Database Concepts and Architecture]]&lt;br /&gt;
* [[ASM]] - Automated Storage Management&lt;br /&gt;
* [[RAID]] and [[JBOD]]&lt;br /&gt;
&lt;br /&gt;
{{Glossary}}&lt;br /&gt;
[[Category: Database]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/User_talk:JuliaS</id>
		<title>User talk:JuliaS</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/User_talk:JuliaS"/>
				<updated>2011-10-08T07:38:59Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Category ==&lt;br /&gt;
A product can be either in freeware, either in shareware, either in commercial product.&lt;br /&gt;
It can be in more than one category.&lt;br /&gt;
Choose the one you want to present yours.&lt;br /&gt;
&lt;br /&gt;
[[User:Michel Cadot|Michel Cadot]] 15:32, 11 July 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== [[DbForge Studio for Oracle Product Review‎]] ==&lt;br /&gt;
Great review. Thanks! [[User:Frank Naude|Frank Naude]] 07:38, 8 October 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	<entry>
		<id>http://www.orafaq.com/wiki/DbForge_Studio_for_Oracle_Product_Review</id>
		<title>DbForge Studio for Oracle Product Review</title>
		<link rel="alternate" type="text/html" href="http://www.orafaq.com/wiki/DbForge_Studio_for_Oracle_Product_Review"/>
				<updated>2011-10-08T07:36:52Z</updated>
		
		<summary type="html">&lt;p&gt;Frank Naude: format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:devart-dbforge-studio-oracle-logo.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''dbForge Studio for Oracle''' (formerly known as '''OraDeveloper Studio''') is an '''Oracle database development tool''' with which you can browse and edit database objects, run SQL statements and SQL scripts, debug PL/SQL statements, edit and export table data, and synchronize databases. This tool can also help in building visual representations of schemas, creating data reports. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:dbforge-studio-oracle-overview.png|alt=Devart dbForge Studio for Oracle|800px]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
The first version was released on 31 May 2005 under the name '''OraDeveloper Studio'''.&lt;br /&gt;
The latest version of the product is 3.0 (released on 15 August 2011), with the release of which the product got a new name – '''dbForge Studio for Oracle''' – along with lots of new features and improvements.&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
'''Administration tools''' – include Security manager for administering accounts and privileges, Session Manager for monitoring active Oracle server connections, Event Monitor for monitoring Oracle database alerts and pipe messages.&lt;br /&gt;
&lt;br /&gt;
'''Data analysis tools''' – include Master-detail Browser, tools to create data reports, and pivot tables.&lt;br /&gt;
&lt;br /&gt;
'''Database synchronization''' – tools to compare and synchronize [[dbForge Schema Compare for Oracle Product Review|schema]] and [[dbForge Data Compare for Oracle Product Review|data]] of Oracle databases.&lt;br /&gt;
&lt;br /&gt;
'''Data Editor''' – tool to view and edit data in tables, views, etc. &lt;br /&gt;
&lt;br /&gt;
'''Database Explorer''' – window in which you can manipulate connections and objects in your databases.&lt;br /&gt;
&lt;br /&gt;
'''PL/SQL Debugger''' – tool to debug procedures, functions, triggers, and SQL scripts that gives full control over code execution. &lt;br /&gt;
&lt;br /&gt;
'''Multi-format data export/import''' – data export to CSV, XML, Text, XLS, PDF, DBF, HTML, RTF, MDB (Access), ODBC formats and data import from CSV, XML, Text, XLS, XLSX, DBF, MDB (MS Access), ODBC with rich set of options and ability to create and use export and import templates.&lt;br /&gt;
&lt;br /&gt;
'''Oracle database connectivity''' - supports Oracle versions from 8i to 11g, does not require Oracle client software installed.&lt;br /&gt;
&lt;br /&gt;
'''Object Editors''' – such database objects as database links, clusters, check constraints, foreign keys, indexes, materialized views, materialized view logs, packages, sequences, stored procedures and functions, synonyms, tables, triggers, unique keys, user types, views, XML schemas can be edited in separate visual editors.&lt;br /&gt;
&lt;br /&gt;
'''Oracle Export/Import Utilities''' – with these utilities, you can import/export procedure setup.&lt;br /&gt;
&lt;br /&gt;
'''Database projects for Oracle server''' - include the capability to integrate various SQL and script files into a single project, group them into folders, and manage in one place. You can build your project to a single or several script files and deploy them on the server. &lt;br /&gt;
&lt;br /&gt;
'''Query Builder''' - provides visual creation and management of queries and complex sub-queries in a diagram. &lt;br /&gt;
&lt;br /&gt;
'''Query Profiler''' - a tool for database developers that offers visual query profiling and Oracle query optimization, achieved through comparison of profiling results.&lt;br /&gt;
&lt;br /&gt;
'''Schema Export/Import''' -  tools to export and import schemas of Oracle databases.&lt;br /&gt;
&lt;br /&gt;
'''SQL code editor''' - includes code collapsing/expanding, context-sensitive PL/SQL code completion, quick info on different database objects, code navigating, SQL syntax highlighting, code snippets library, Document Outline window, parameter information for stored routines, SQL history, etc. &lt;br /&gt;
&lt;br /&gt;
'''Visual Database Designer''' - a visual database design and editing tool for Oracle. Provides a complete picture of all database objects and their properties, as well as foreign key relations between tables on an Oracle database diagram.&lt;br /&gt;
&lt;br /&gt;
'''User interface''' – includes start page for access to different dbForge Studio for Oracle tools, user settings, customizable window layout, different skins.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
To install the tool, it is necessary to double-click the exe file and follow the prompts in the wizard. The tool can be upgraded using the built-in wizard. If a new version is available on the Devart website, you are automatically prompted about it when you start the tool.&lt;br /&gt;
&lt;br /&gt;
==Availability==&lt;br /&gt;
The product is available in three editions: Express (free), Standard, and Professional.&lt;br /&gt;
&lt;br /&gt;
'''Express''' is a '''free''' software that provides basic functionality for working with schema objects, user accounts, SQL scripts, maintenance wizard, and queries. &lt;br /&gt;
&lt;br /&gt;
'''Standard''' includes all must-have tools for database administrators and developers, such as a debugger, query builder, code templates, object search, export wizard. &lt;br /&gt;
&lt;br /&gt;
'''Professional''' is a fully-featured software that facilitates your database management with the following functionality: database projects, accurate comparison and synchronization of database structures (schema comparison) or database content (data comparison), complex queries creating, etc. &lt;br /&gt;
&lt;br /&gt;
'''Benefits'''&lt;br /&gt;
30-day fully-functional product trial &lt;br /&gt;
30-day money-back guarantee policy &lt;br /&gt;
Volume discounts&lt;br /&gt;
free 1-year subscription for updates and technical support &lt;br /&gt;
&lt;br /&gt;
'''Product support'''&lt;br /&gt;
&lt;br /&gt;
If you have any problems with the product or questions or suggestions concerning it, you can send an e-mail to its developers or write them at the company forum, and you will be answered shortly.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
With a clear GUI and simple logic, [http://www.devart.com/dbforge/oracle/studio/ dbForge Studio for Oracle] is one of the most reliable tools for Oracle database management that can be applied by a wide range of people dealing with Oracle databases to solve routine Oracle database tasks.&lt;br /&gt;
&lt;br /&gt;
[[Category:Product reviews]]&lt;/div&gt;</summary>
		<author><name>Frank Naude</name></author>	</entry>

	</feed>