98..Etc/Etc...2008. 7. 14. 12:20
반응형

A First Look at Oracle 11g database on Debian GNU/Linux

Three and half years have passed since my first attempts to install Oracle 10g on an unsupported Debian GNU/Linux distribution. Seeing that Oracle 11g is out, and exclusively for Linux at this time, I decided to download it among the first and see and share with you what it's installation looks like.

The distribution can be downloaded from the Oracle Database Software Downloads page, but let me warn you upfront that the archive is 1.7GB in size, so you'll need quite a big pipe to successfully download it. What makes it even harder is that Oracle insists that you download it from browser window (Wget and similar utilities won't work out of the box, although there are some tricks that can be deployed), so be prepared to have that browser window open for a long time and prey that download doesn't break along the way.

I won't go into details with preparation tasks (stuff you need to do even before you launch the installer), because that is very well documented (Oracle database has great, although a bit overwhelming, documentation). When you unpack the zip archive, you can access the documentation with your browser (iceweasel welcome.html). Suffice to say that you at least have to create an oracle user and group, and recheck you shared memory parameters.

./runInstaller

OK, so after we have launched the installer, we're greeted with the welcome window which gives us opportunity to change the default installation directory, and tune some other aspects of this installation.

I chose the option to create the Starter Database, to see how it works. But at this time I skipped the option to do the Advanced Installation. Some more configuration windows follow, be sure to pick appropriate paths for your new install.

Finally, we reach the step where Oracle checks some system parameters (Prerequisites Check) where it finds that the install is not running on a certified Linux distribution. But it's quite cleverly architected, the installation doesn't break, instead it forces you to confirm that is really what you want. I liked it, readily checked the needed boxes, so that installation could continue.

Before the disk crunching part starts, we have yet another nice summary screen to recheck all the parameters we've given to the installer.

What follows is 15-30 minutes of installing, linking, setting up and configuring of software packages. Go make yourself a cup of tee, there is nothing you need to do until the copying is over. :)

Near the end of the installation, when database configuration assistant and other assistants are launched, I got my first error.

Actually a warning, because everything continued to work correctly after that (not a showstopper, it seems). Peeking into suggested log file revealed that it was an Java exception:

CONFIG: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: Error starting Database Control
        at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:868)
        at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:249)
        at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:212)
        at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:234)
        at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:460)
        at java.lang.Thread.run(Thread.java:595)

Nevertheless, after accepting that error, we're greeted with a window that suggests the installation went OK.

Next step is to run two scripts as a superuser. Don't worry, Oracle won't make much trouble to your fine administered Debian machine, it'll copy just a few files to /usr/local/bin, /etc and /opt directories and all are easy to found, should you later decide to uninstall the database.

And that's it, happy end. If you don't believe me, here's the last window you'll see before you're back to prompt.

And yes, your new development database is already started and happily running:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
oracle    6389  0.0  0.4  51768  8868 ?        Ssl  18:12   0:00 /ext/oracle/app/or
oracle    6873  0.0  0.7 961116 15148 ?        Ss   18:17   0:00 ora_pmon_orcl
oracle    6875  0.0  0.6 960504 12616 ?        Ss   18:17   0:00 ora_vktm_orcl
oracle    6879  0.0  0.6 960504 12504 ?        Ss   18:17   0:00 ora_diag_orcl
oracle    6881  0.0  0.8 960504 18352 ?        Ss   18:17   0:00 ora_dbrm_orcl
oracle    6883  0.0  0.6 960504 12688 ?        Ss   18:17   0:00 ora_psp0_orcl
oracle    6887  0.0  0.7 961016 14704 ?        Ss   18:17   0:00 ora_dia0_orcl
oracle    6889  0.0  1.3 960504 27208 ?        Ss   18:17   0:00 ora_mman_orcl
oracle    6891  0.0  3.1 963060 65828 ?        Ss   18:17   0:00 ora_dbw0_orcl
oracle    6893  0.0  1.6 976056 34380 ?        Ss   18:17   0:00 ora_lgwr_orcl
oracle    6895  0.0  0.8 961016 17264 ?        Ss   18:17   0:00 ora_ckpt_orcl
oracle    6897  0.0  4.2 963208 88620 ?        Ss   18:17   0:00 ora_smon_orcl
oracle    6899  0.0  0.8 960504 17544 ?        Ss   18:17   0:00 ora_reco_orcl
oracle    6901  0.0  2.9 965284 61748 ?        Ss   18:17   0:00 ora_mmon_orcl
oracle    6903  0.0  0.8 960504 16644 ?        Ss   18:17   0:00 ora_mmnl_orcl
oracle    6905  0.0  0.6 961080 12748 ?        Ss   18:17   0:00 ora_d000_orcl
oracle    6907  0.0  0.5 961068 12312 ?        Ss   18:17   0:00 ora_s000_orcl
oracle    6917  0.0  1.1 962052 23184 ?        Ss   18:17   0:00 ora_fbda_orcl
oracle    6919  0.0  0.6 960504 12880 ?        Ss   18:17   0:00 ora_smco_orcl
oracle    6921  0.0  0.8 960504 16760 ?        Ss   18:17   0:00 ora_qmnc_orcl
oracle    6935  0.0  1.2 967312 25428 ?        Ss   18:17   0:00 ora_w000_orcl
oracle    7011  0.0  1.6 965128 34660 ?        Ss   18:17   0:00 ora_cjq0_orcl
oracle    7013  0.0  1.3 962072 28596 ?        Ss   18:17   0:00 ora_q000_orcl
oracle    7015  0.0  0.9 960500 18984 ?        Ss   18:17   0:00 ora_q001_orcl
oracle    9852  3.3  9.3 918012 194428 pts/1   Sl   18:18   0:30 /ext/oracle/app/or
oracle    9935  0.0  1.5 962128 32292 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle    9939  0.0  1.7 963172 35360 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10381  0.0  2.3 964172 47904 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10384  3.6  4.3 973416 90640 ?        Ss   18:18   0:32 oracleorcl (LOCAL=
oracle   10387  0.0  2.5 963180 51980 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10390  0.0  1.5 962104 32288 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10394  0.0  2.5 963156 52124 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10397  0.0  2.0 963152 43256 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   11826  0.1  1.2 962084 25372 ?        Ss   18:33   0:00 ora_j000_orcl

[/ext/oracle/app/oracle]# du -sm *
1       admin
1       cfgtoollogs
3       diag
1       flash_recovery_area
1613    oradata
3417    product

The database obviously needs quite a lot of resources to run, so be sure to install it on an adequate machine (at least 1GB RAM, 10GB of free disk space and so on...). Happy hacking!

Related:
Oracle10g on Debian Linux HOWTO

Posted by 1010