Q: Is there any use for Oracle database port installation under Linux compat root ?

martinko gamato at users.sf.net
Tue Oct 21 20:15:05 UTC 2008

Chagin Dmitry wrote:
> On Sun, 27 Jul 2008, Adrian Penisoara wrote:
>> Hi,
>> On Sun, Jul 27, 2008 at 1:15 PM, Alexander Leidinger <
>> Alexander at leidinger.net> wrote:
>>> Quoting "Adrian Penisoara" <ady at freebsd.ady.ro> (Sun, 27 Jul 2008 
>>> 11:22:20
>>> +0300):
>>>> Hi,
>>>>   I am working on a FreeBSD port for Oracle's XE database package[1]
>>> (Linux
>>>> binaries) and I stumbled upon some issues related to USE_LINUX_PREFIX.
>>>> Before going any further trying to support (as an option) installing 
>>>> the
>>>> Oracle XE directly under the /compat/linux hierarchy (like the
>>>> database/linux-oracle-instantclient-* ports are doing), I have to 
>>>> ask ask
>>>> around the following:
>>>> (1) Is there any real need/benefit to have an Oracle DB installation
>>> rooted
>>>> under /compat/linux (e.g. /compat/linux/usr/lib/oracle/xe/...) ? Side
>>> note:
>>>> in this case all shell scripts will need to be ran under
>>>> /compat/linux/bin/bash.
>>>> (2) How does one deal with installing manual pages and shared files 
>>>> with
>>>> USE_LINUX_PREFIX -- do they also have to go under /compat/linux ? Using
>>>> ${MANPREFIX} as a template gives wrong results in this case...
>>> A port has to install into LINUXPREFIX, if it is an infrastructure
>>> port (no part has to go outside this location). It has to install into
>>> the default location (PREFIX/LOCALBASE), if it is an enduser port.
>>> That's the easy part.
>> Good pointer, I was missing this bit. Thanks.
>>> Now the classification, what is what, is the hard part. The linux
>>> png/jpeg or whatever lib is for sure infrastructure. If this would land
>>> in the default FreeBSD lib path, rest assured it would hurt. A linux
>>> acroread port is an enduser application, a user will call it directly
>>> to work with it. It also does not come with libs in the default FreeBSD
>>> locations, so everything will be fine if it is installed in the default
>>> location.
>>> For the Oracle stuff I can imagine that it is a hard question. If it
>>> doesn't put libs into a FreeBSD lib directory (a subdirectory of a lib
>>> directory is ok, as it will not cause immediate problems), there are no
>>> immediate objections to putting it into the default FreeBSD location
>>> (and as the DBA as an enduser would use it, this would fit into the
>>> description above). But we also have the rule that nothing is allowed
>>> to be put into the basesystem (/usr/Y instead of /usr/local/Y). Think
>>> about jails where the base is mounted read-only and only additional
>>> programs are in a RW part.
>>  In the default configuration the binaries (and I mean all of them!) 
>> would
>> be placed under /usr/lib/oracle, since this is a hardcoded path in all
>> places.
>>  I will also offer a "WITH_BSDHIER" option which will root the 
>> installation
>> into /usr/local/oracle and just make a symlink under /usr/lib. Should I
>> rather make this the default ? ;)
>>  There are no libraries (or other binaries for that fact) installed 
>> outside
>> the Oracle hierarchy (this is the general strategy for Oracle RDBMS 
>> products
>> at least). So I guess it very nicely fits into the "enduser" picture you
>> describe above. I'm just wandering whether a /compat/linux rooted
>> installation would make sense.
>>  I am still interested to hear opinions from Oracle DBAs/users on this
>> subject -- would you need this option ?
> hi!
> I think that ora DBAs will tell that the best place it /home/ORAUSERNAME
> and this user should have shell /compat/linux/bin/bash
> thnx!


No Oracle installation I have ever seen was installed into /home and it 
would be against Oracle Optimal Flexible Architecture (OFA) guidelines!

/usr/local/oracle would be OK and users can move the directory tree 
elsewhere afterwards.  Or maybe you can ask about Oracle Base directory 
during config/installation process, if possible.



PS: Mind you that Oracle installation is usually owned by Oracle 
software owner user (oinstall by default) who is different from 
DBA/operator users (dba/oper by default).

>>> In the end it comes down to what you are able to do and how hard the
>>> software is to port. Maybe it is easy to install everything into
>>> LINUXBASE and install a wrapper into LOCALBASE (/usr/local/bin/Y would
>>> be a script with #!/compat/linux/bin/bash and start whatever is needed
>>> to start /compat/linux/bin/Y). Maybe the installation of the software
>>> allows to install into /usr/local/softwarename and you can make links
>>> from /usr/local/bin/ to it.
>>> The rules for this are strong suggestions. If it is possible to do,
>>> do everything you can to follow the rules, if you don't know how to
>>> make something follow the rules, ask specific questions on ports if
>>> someone has in idea. If there's no idea, forget the rule and try to do
>>> something as close as possible to the goal of the rule (and document
>>> what/why).
>>> Bye,
>>> Alexander.
>> Thank you for your time.
>> Adrian.

More information about the freebsd-ports mailing list