Posted by Sidhu on 19th August 2007
Few days back, I had to give Oracle DBA training to a group of about 20-25 semi-technical people (Semi-technical, because most of them were not really DBA kinda folks doing all the techie stuff with Oracle, but in-fact having learned some bits & bytes of Oracle sometime back and these days looking into application functionality from technical perspective). I, having just about 10 months of experience with DBA profile, had to cover, everything about Oracle starting from creating database and up to performance tuning
Its really an interesting job if the audience is good. But not an easy game. You have to know everything and have to be ready to answer people’s queries (some stupid & dumb questions also
I had to cover a total of about 350 slides in a day or less. So at times, really went fast and skipping some of things. It was a nice experience as a whole
& in the end when I finished it, was dead tired
Hats off to the trainers, who stand for the full day and that too for many days continuously
Sidhu
Posted in Oracle General | 7 Comments »
Posted by Sidhu on 18th August 2007
Many times, we are required to restore a database from an export dmp file. Its a simple task but sometimes there are some issues left like invalid objects or some objects missing, in the newly created database. Following steps, followed in order can help in creating an error free database:
- Create a blank database: The very first step is to create a blank database which is to be used as the target database. That can be done using Database Configuration Assistant. (In last step of the DBCA, change redo log file sizes to 500 MB each (or some appropriate values depdening upon the size of the databaes), as during import, lot of redo will be generated, so large redo size helps in that scenario)
- Extract DDLs and create tablespaces: Now run the import with show=Y option and create a log of all DDL statements. The main things to be looked for in the log are DDLs to create tablespaces and DB links. You may need to change the create tablespace statements according to the version of the Oracle you are using. If you have the export taken in an older version, where dictionary tablespaces were being used, you will need to change the statements accordingly, to create locally managed tablespaces.
(If you have the dmp file in compressed (.Z) format check here, to run the import directly from compressed file)
- Adjust the size of SYSTEM, TEMP, USERS and UNDO: As SYSTEM, TEMP, USERS and UNDO tablespaces will get created with the database itself, so you can alter the sizes as per the sizes in the old database.
- Edit tnsnames.ora and create dblinks: Now edit tnsnames.ora to include all the databases used in the db links and create db links using the statements from DDL log.
- Run the import: Finally, run the import with FULL=Y option and after the import finishes, look for any errors in the log. At last, compile all the invalid objects in the database. (If the import terminates with ORA-01435, then have a look at this post.)
To read about all the options with imp have a look at Original Import & Export Utilities chapter of Oracle Utilities guide.
Sidhu
Posted in Oracle Tips | No Comments »
Posted by Sidhu on 16th August 2007
A very funny and interesting thing, a Chinese couple wants to name their baby “@”.
Sidhu
Posted in Fun | No Comments »
Posted by Sidhu on 13th August 2007
The day when Oracle 11g was made available for download on OTN, there was sort of, flood of posts in the Oracle blogsphere. Here is a quick recap of few of the posts (Whatsoever I could find through OraNA and my Netvibes)
Eddie Awad about 11g, I think he was the first one to post
Then Doug Burns here
Howard on installing 11g
Another interesting article from Howard
Tim Hall about 11g
Tim Hall on installing 11g
Then Laurent
An article on ADR by Virag Sharma on his blog
Jaffar about Active Standby database
A 11g PL/SQL article on AMIS blog
Well, if you don’t want to get into any hassles and just want to download Oracle 11g, you can get it here. (As of now its available for Linux x86 only).
Sidhu
Posted in Oracle General | 1 Comment »
Posted by Sidhu on 9th August 2007
I have been installing Linux for last 6 years and for more than half the number of times, came across a message something like “This partitions is beyond the 1024 cylinder boundary and may not be bootable”. But never cared for it much and understood what exactly it meant to say ?
Yesterday I was reading System Admin guide to Linux by Lars Wirzenius (Thanks Howard for the link
From there I came to know what exactly that message meant. Quoting from the guide itself:
Unfortunately, the BIOS has a design limitation, which makes it impossible to specify a track number that is larger than 1024 in the CMOS RAM, which is too little for a large hard disk. To overcome this, the hard disk controller lies about the geometry, and translates the addresses given by the computer into something that fits reality. For example, a hard disk might have 8 heads, 2048 tracks, and 35 sectors per track. Its controller could lie to the computer and claim that it has 16 heads, 1024 tracks, and 35 sectors per track, thus not exceeding the limit on tracks, and translates the address that the computer gives it by halving the head number, and doubling the track number. The mathematics can be more complicated in reality, because the numbers are not as nice as here (but again, the details are not relevant for understanding the principle). This translation distorts the operating system’s view of how the disk is organized, thus making it impractical to use the all-data-on-one-cylinder trick to boost performance.
.
.
.
When using IDE disks, the boot partition (the partition with the bootable kernel image files) must be completely within the first 1024 cylinders. This is because the disk is used via the BIOS during boot (before the system goes into protected mode), and BIOS can’t handle more than 1024 cylinders. It is sometimes possible to use a boot partition that is only partly within the first 1024 cylinders. This works as long as all the files that are read with the BIOS are within the first 1024 cylinders. Since this is difficult to arrange, it is a very bad idea to do it; you never know when a kernel update or disk defragmentation will result in an unbootable system. Therefore, make sure your boot partition is completely within the first 1024 cylinders.
Hope it clears the logic why Linux cries about 1024 cylinder issue at the time of installation.
You can read the guide online from the link above and download the pdf here. Its simple and concise and just too good. Small thing covering much
Sidhu
Posted in Unix/Linux | No Comments »
Posted by Sidhu on 8th August 2007
Last to last week, we shifted to a new house. As there was no internet connection, so we were without any internet access for last 2 weeks. Today we got the new internet connection. Its a DSL one. And the guy who came to do the installation threw a little bit of technical jargon like rebooting the router and so on.
It feels so good to be back in the world of www
Sidhu
Posted in Technology General | No Comments »