Quick Install Guide for Oracle 10g Release 2 on Mac OS X Leopard & Snow Leopard

Apr 13, 2009 / By Alex Gorbachev

Tags: , ,

I was very surprised that Oracle released Oracle Database for Mac OSX, especially, version 10g now that 11g has been out for almost 2 years. Well, I guess Oracle wanted to please Mac users expecting things just work and decided that good proved 10g is the way to go. On the other hand, we’ve been supporting 11g in production for quite a while and I must say it’s much better quality compare to 10g when it came out. I’m pretty sure there was a significant customer that influenced that decision — interesting who might that be?

Anyway, there is no quick install guide for OS X but only a standard Oracle® Database Installation Guide
10g Release 2 (10.2) for Apple Mac OS X (Intel)
. It’s fine but if you want to install Oracle on your MacBook and not for production use then you might take some shortcuts and follow a quick instructions so I gathered my notes while installing just released Oracle Database 10.2.0.4 on my MacBook and this is what you see now.

First things first — prerequisites

  • You must be on OS X 10.5.4 or higher. You are probably keeping your system up to date and is on the current release (10.5.6 as I’m writing this). Note that the guide requires OS X Server but for your playground, desktop OS X will work just fine. Update 14-Sep-09: this Guide has been updated for Snow Leopard 10.6.
  • You need to install Xcode 3.0 but if you are a Mac enthusiast, you will have it installed already. If not, you can find Xcode on your OS X Installation DVD or you can download it from from Apple Developer Connection but it’s quite large.
  • Disk space — about 5GB for software installation including temporary needs.
  • You can run with as low as 1GB of RAM but you do want to have at least 2GB to avoid your system crawling.

Creating OS oracle user

Oracle installation guides always instruct to have at least two groups — oinstall as a software owner and dba as an OSDBA group. I never saw an organization with the natural split of these responsibilities so I always prefer to create a single dba group and use it for both purposes.

I use 4200 as GID and UID so checking if they are available (Updated on 19-Apr-09: Thanks Gleb!):

macbook:~ gorby$ dscl . -list /groups gid | grep 4200
macbook:~ gorby$ dscl . -list /users uid | grep 4200  
macbook:~ gorby$

To create user oracle with default dba group, run the following script. I assume you run it as “admin” user so that you can sudo to root (you will need to enter your user password at the first time):
Updated 01-May-09: oracle->dba group membership line added. Thanks Johannes.

sudo dscl . -create /groups/dba
sudo dscl . -append /groups/dba gid 4200
sudo dscl . -append /groups/dba passwd "*"
sudo dscl . -create /users/oracle
sudo dscl . -append /users/oracle uid 4200
sudo dscl . -append /users/oracle gid 4200
sudo dscl . -append /users/oracle shell /bin/bash
sudo dscl . -append /users/oracle home /Users/oracle
sudo dscl . -append /users/oracle realname "Oracle software owner"
sudo dscl . -append /Groups/dba GroupMembership oracle
sudo mkdir /Users/oracle
sudo chown oracle:dba /Users/oracle
sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add oracle
sudo passwd oracle

The last command will prompt for the new password and the command prior to the last will remove oracle user from login window — I find it annoying otherwise.

Kernel parameters

Next, you will need to set kernel parameters. Some of them are already good and some I would question changing on my MacBook just to have Oracle installed so I’d rather keep them. Use the following command to check current values (recommended values are after hash symbol as comment):

sysctl kern.sysv.semmsl # 87381
sysctl kern.sysv.semmns # 87381
sysctl kern.sysv.semmni # 87381
sysctl kern.sysv.semmnu # 87381
sysctl kern.sysv.semume # 10
sysctl kern.sysv.shmall # 2097152
sysctl kern.sysv.shmmax # max SGA you need.
sysctl kern.sysv.shmmni # 4096
sysctl kern.maxfiles # 65536
sysctl kern.maxfilesperproc # 65536
sysctl net.inet.ip.portrange.first # 1024
sysctl net.inet.ip.portrange.last # 65000
sysctl kern.corefile # core
sysctl kern.maxproc # 2068
sysctl kern.maxprocperuid # 2068

From semaphores and shared memory setting, I only needed to change shmall and shmmni. maxfiles and maxfilesperproc were set lower (12288 and 10240 respectively) but I would prefer to keep it this way – my test database won’t need so many open files descriptors unless something is wrong with it. IP port range by default is 49152-65535 and I would prefer to keep it this way to have as little impact on my environment as possible. I also don’t want the core files to be generated in oracle way as a file core in a process’ current directory so I’ll leave the corefile value at “/cores/core.%P”. Finally, I believe values for maxproc and maxprocperuid should be enough if I set 1024 and 512 respectively.

Unfortunately, 4 values I need to change can’t be modified at run-time so I have to configure them in /etc/sysctl.conf and reboot. For this, add the following to /etc/sysctl.conf (you probably will need to create a new file) and reboot:

kern.sysv.shmall=2097152
kern.sysv.shmmni=4096
kern.maxproc=1024
kern.maxprocperuid=512

Update 30-Apr-09: I obviously miscounted zeroes in shmmax and it’s set to 4MB and not 4GB. :) Interesting, it still works! This makes me think that shmall (max shared segment size in pages) overrides shmmax or the kernel chooses the highest setting.

After reboot here are my kernel parameters:

kern.sysv.semmsl: 87381
kern.sysv.semmns: 87381
kern.sysv.semmni: 87381
kern.sysv.semmnu: 87381
kern.sysv.semume: 10
kern.sysv.shmall: 2097152
kern.sysv.shmmax: 4194304
kern.sysv.shmmni: 4096
kern.maxfiles: 12288
kern.maxfilesperproc: 10240
net.inet.ip.portrange.first: 49152
net.inet.ip.portrange.last: 65535
kern.corefile: /cores/core.%P
kern.maxproc: 1024
kern.maxprocperuid: 512

Creating ORACLE_BASE directory

I want to have my Oracle binaries installed on a non-system partition HD2 so I’m creating directory there:

sudo mkdir /Volumes/HD2/oracle
sudo chown oracle:dba /Volumes/HD2/oracle
sudo chmod 775 /Volumes/HD2/oracle

You can also use oracle’s home directory /Users/oracle if you just have one disk/partition.

Update 14-Sep-09: If you don’t have another hard disk or partition mounted, the DO NOT use path in /Volumes/… You can use oracle’s home directory instead — /Users/oracle.

User environment

Next I login as oracle user (su - oracle) and create bash profile ~/.bash_profile:

# Must match kern.maxprocperuid
ulimit -Hu 512
ulimit -Su 512
# Must match kern.maxfilesperproc
ulimit -Hn 10240
ulimit -Sn 10240

export ORACLE_BASE=/Volumes/HD2/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_SID=mac10g
PATH=$PATH:/$ORACLE_HOME/bin

Starting X11 server

X11 server is not running by default but you can kick it off either from Applications -> Utilities -> X11 or from command line (by default DISPLAY variable is pointing to a socket file):

macbook:~ gorby$ echo $DISPLAY
/tmp/launch-ArvCjk/:0
macbook:~ gorby$ xclock 
Warning: locale not supported by Xlib, locale set to C
^C
macbook:~ gorby$ netstat -an | grep 6000 | grep LISTEN
tcp4       0      0  *.6000                 *.*                    LISTEN
tcp6       0      0  *.6000                 *.*                    LISTEN

Update 14-Sep-09: If you don’t see X11 listening on this port (and by default it doesn’t listen on Snow Leopard 10.6) then enable it in X11 preferences “Allow connections from network clients” or use this command line sudo defaults write org.x.X11 nolisten_tcp 0 (Thanks Tomasz).

Installing the software

Become oracle user with su - oracle, export DISPLAY variable and verify it works by running xclock:

macbook:~ oracle$ export DISPLAY=localhost:0
macbook:~ oracle$ xclock
^C
macbook:~ oracle$

Update 14-Sep-09: Above works only for OS X 10.5 Leopard. OS X 10.6 Snow Leopard has stricter security settings so you cannot simply su to oracle user and export DISPLAY — you actually have to login as oracle user (logout in GUI and login as oracle “Oracle software owner”) instead of “su – oracle”. Thanks to Raimond for this.

I assume you have already downloaded and unzipped Oracle 10g Release 2 installation binaries. If not do it now and unzip in a temporary location.

I use DHCP for network configuration of my MacBook and it changes IP address as well as hostname dynamically so I’d rather install database for localhost as it never changes. There is a trick with Oracle Installer for exactly that purpose — just set ORACLE_HOSTNAME environment variable before running the Installer. Don’t do that if you want your Oracle database to be accessible by other computers on the network but then you probably want to have your network configured with static IP. You can always change it later by reconfiguring the listener.

export ORACLE_HOSTNAME=localhost

Update 01-Sep-09: Thanks to Chris Murphy for an update re installation on OS X 10.6 Snow Leopard:
* Edit runInstaller and change /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2 to /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0. Raimond Simanovskis proposes to just create a link which is probably a better solution — sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0 /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2.
* Use additional option — ./runInstaller -J-d32
Kudos Chris!

Update 1-Mar-10: Nicolas reported another way — install 1.4.2 JDK.

Now, run the installer from Disk1 directory:

macbook:~ oracle$ /Users/oracle/db/Disk1/runInstaller 
Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-04-13_08-24-33PM. Please wait ...macbook:~ oracle$

Select Advanced installation option on the first screen. On the next screen, specify location for Oracle inventory to be under ORACLE_BASE — /Volumes/HD2/oracle/oraInventory and inventory OS group dba. The rest of the screens leave with defaults unless you know what you need to tweak so keep clicking next… next… next… Specify desired ORACLE_SID for the new database and make Global Database Name the same (I use mac10g as you could see from my .bash_profile). Plus, you can also tick the box to create sample schemas on the same screen so you have some data to play with. Finally, set some tough passwords for internal Oracle users (we all know that it’s the best to use system/manager and sys/change_on_install as top secret) and you are ready to rock-n-roll.

The last part (installation and linking) is usually the most troublesome when installing Oracle software but in case of Mac OS X there are very few dependencies so it should work just fine unless you missed Xcode 3.0 install. Well, at least it did work fine for me. Binaries installation took just few minutes on my Macbook and Configuration Assistants were relatively quick as well. Oh, you will be prompted to accept network connections to application oracle and you should answer “Yes” — it’s only asked the first time and answer is valid until oracle binaries are changed. At the end, you will need to run couple scripts as root user — usual stuff.

Snow Leopard update 14-Sep-09: If you get Error in invoking target ‘all_no_orcl ipc_g ihsodbc32 error during linking then edit file $ORACLE_HOME/rdbms/lib/ins_rdbms.mk (without exiting installer – just switch to the terminal) and comment out line with $(HSODBC_LINKLINE) — just place hash # in front. Then switch back to the error in the installer and click “Retry”. I picked it up from Raimonds Simanovskis’s post — thanks a bunch.

Raimond also suggests how to fix Java GUI tools (netca and dbca) so that they run on Snow Leopard. Quoting him — “modify $ORACLE_HOME/jdk/bin/java script and change …java -Xbootclasspath… to …java -d32 -Xbootclasspath…“.

Completing network configuration

The installer doesn’t start the listener automatically so do that as oracle user if you need network connectivity using lsnrctl start. Automatic instance registration won’t work because the PMON process it trying to register with a listener on the default port 1521 of the main host IP but we forced Oracle Installer to use localhost. Not a problem, just set local_listener parameter accordingly:

SQL> show parameter listener

NAME             TYPE        VALUE
---------------- ----------- -----------------
local_listener   string
remote_listener  string

SQL> alter system set local_listener='localhost';

System altered.

SQL> alter system register;

System altered.

I personally don’t want to start an Oracle database instance automatically on reboot of my MacBook so I use command-line prompt. Automatic shutdown on reboot — well, I can shutdown manually or just let it crash. I’m way too confident in Oracle crash recovery mechanism.

We are done!

macbook:~ oracle$ uname -a
Darwin macbook 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386 i386
macbook:~ oracle$ sw_vers 
ProductName:    Mac OS X
ProductVersion: 10.5.6
BuildVersion:   9G55
macbook:~ oracle$ sqlplus system@mac10g

SQL*Plus: Release 10.2.0.4.0 - Production on Mon Apr 13 21:04:56 2009

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Enter password: 

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

What’s next? Perhaps, get APEX working on Mac OS X?

So now, dear reader, we hope we have helped you figure out something you needed to know. It turns out that you can help us here at Pythian with something we need to know! If you are aware of a DBA requirement within your organization, salaried or consulting, please pop in your email address here:







We respect your privacy and will not share your address with any third party. As a thank you for just participating, we will enter you into a monthly draw for a year’s membership in the ACM, which includes access to 600 books from the O’Reilly Bookshelf Online, 500 books from Books24x7 and 3000 online courses from SkillSoft, including tons of courseware on Oracle, SQL Server, and MySQL.

235 Responses to “Quick Install Guide for Oracle 10g Release 2 on Mac OS X Leopard & Snow Leopard”

  • Alex Gorbachev says:

    While revieweing my twitter friends’ timeline, I noticed that Raimonds Simanovskis @rsim has actually posted install guide few hours ago. He’s got very nice example of how to configure a startup service in OS X!

  • gary says:

    I though it was odd. I guess you’re right about there being an important customer behind this, but that wouldn’t necessitate them making it available for public download.
    I wonder whether it has been on the back-burner for a while (eighteen months ?) awaiting some sort of bug fix or internals information from Apple.

  • Naveen says:

    Hi,
    I have MAC OS X 10.4 (Tiger) on an intel-based machine. This guide seems to be for Leopard. Will I be able to install successfully if I don’t have Leopard?

    Thanks.

  • Andrey Goryunov says:

    Scott noted that Apex is not supported :(
    http://spendolini.blogspot.com/2009/04/rtfm.html

  • Alex Gorbachev says:

    Naveen,

    Requirements say 10.5.4 so officially it’s not supported on Tiger. You can try (including installing xcode 3.0) and let us know if you had any luck.

    Cheers,
    Alex

  • faizal says:

    Me too will be moving away from virtualbox to native oracle on macbook come this weekend.
    All for dev purposes. Anybody know what kind of licensing model if any could potentially sneak up on me?

  • […] days ago, I have put together the Quick Install Guide for Oracle 10g Release 2 on Mac OS X Leopard (Intel). I did mention that it would be cool to get APEX working as well but, apparently, APEX isn’t […]

  • Joben Ilagan says:

    Another great tutorial. Thanks! This allows me to avoid VirtualBox and/or Windows for Oracle Development.

    Has anyone got iSQLPlus working on this thing? I get an error after trying to login: login.uix seems to be missing.

    SQL*Plus command line works like a charm though.

    By the way, I got APEX to work (after following another tutorial on this website). I know it’s not supported though.

  • Gleb Otochkin says:

    I can miss or re-invent the wheel but want to add some notice.
    I would like to correct one point.
    In my opinion the commands:

    $ grep 4200 /etc/passwd
    $ grep  4200 /etc/group

    cannot use for verification uid and gid.
    I think that using command dscl would be better for it.
    as example :

    $ dscl . -list /groups gid | grep 4200
    $ dscl . -list /users uid | grep 4200

    Cheers
    Gleb

  • Joben Ilagan says:

    @Alex,

    Sorry, I failed to read the Release Notes. It turns out that iSQLPlus is one of the products not supported here.

    I guess I’ll just have to rely on other tools for now (sqlplus command line or SQL Developer).

    Incidentally, Enterprise Manager console is also not available.

  • Alex Gorbachev says:

    @Gleb: Boomer! You are right — updated the instructions in the main post. Heh… you must have more time on your hands to mess around with your new MacBook. ;-)

    @Joben: Hm… I get the same error. I checked the logs and it generated 500 code so something is wrong there. I think I was able to go past login page just fine and I do see that there was successful call to login.uix with code 200 back few days ago. Something must have changed. No time to troubleshoot it now — I’m preparing for my presentation tomorrow at the InSync09 conference here in Sydney.

  • Alex Gorbachev says:

    Faizal, you will use the standard OTN Development license but it’s actually a bit tricky and many development and demo scenarios don’t fit it. Though, Oracle Corp doesn’t make any fuss about it — I’m sure they won’t make much money by forcing paying licenses everyone playing with Oracle but they would definitely slow down the adoption and skills development.

  • Rob says:

    Following your guide through, as I want to look at replacing old sun servers with the new XServes and run Oracle on these. Am trying a demo install on a MacBook Pro with 10.5.6 and Xcode 3.1 installed.

    All fine up to the ./runInstaller command, which appears to produce a java error (java.lag.UnsatisfiedLinkError). Did you do anything particular to the java install to avoid these errors.

  • Alex Gorbachev says:

    Rob, nothing special.
    Could be because of xcode 3.1 or maybe JDK?
    OUI requires JDK 1.4.2_16 (that’s in documentation).

    Would you try to setup xcode 3.0 at different location and make sure it’s picked up by OUI?

  • Carlo says:

    Hi Alex,

    I tried to install Oracle on my MBP.
    I followed all oracle instruction, your istruction e istruction founded also on other sites. The results is always the same.
    When I try to run “sqlplus /” I get error “ORA-12547: TNS:lost contact”.
    All my kernel parametes are OK. Are all the same of yours.
    My oracle user and group are OK (uid=502(oracle) gid=102(dba) groups=102(dba).

    The DYLD_LIBRARY_PATH is ok.

    If I try to make a DB using dbca I get the same error TSN lost contact.

    I tried to remove and reinstall all the oracle packages?
    What else can I try?

    Please help me.

    Bye

    Carlo

    carlo.zagari@gmail.com

    )

  • Rob says:

    I have 1.4.2_18, 1.5.0 and 1.6.0 installed, but does it need that specific build and no later versions.

  • Carlo says:

    I founded the problem!!!
    there was a problem in ulimit settings.
    Sorry.
    Bye

    Carlo

  • Alex Gorbachev says:

    @Rob: I would think that later version might work but with OUI you never know. Have a look at the runInstaller script – it references the following JDK hardcoded:

    JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/
    export JAVA_HOME

    And then it run ./install/.oui binary providing $JAVA_HOME as a -jreLoc argument. I think it might be your problem.

  • RSG_Shyam says:

    Hi all,
    I tried to install oracle database 10.2 on mac os server 10.5. I followed Pythianian installation doc, Raimaonds installation doc and oracle installtion doc from oracle site.

    I got so many errors and remove it. but finally stuck to DYLD_LIBRARY_PATH. “Image not found” but I configured it fully with actual path.

    Any body can help me in this regards.

    if any body required for my all configured file of pre installtion, pl. send their email id I will send those files.

  • Rob says:

    Sorry no luck, I am a bit concerned as the version I downloaded “10g Release (10.2.0.4.0) for MAC OS X on Intel X86-63″ does not have the hard coded JAVA_HOME lines that you have in /Disk1/runInstaller rather a JAVA_HOME set to “/Library/Java/Home”. In addition are you expecting me to find a file called install/.oui or do you mean install/runInstaller.

    Looking around for other Java problems in Leopard, certain version of openoffice also can’t find the JRE on Leopard. Can I ask has your system previously had Tiger installed on it?

  • Alex Gorbachev says:

    @RSG_Shyam: Sorry, but you didn’t provide enough information and I don’t understand your issue.

    @Rob: On my system, /Library/Java/Home points to JDK 1.5 via chain of soft links. All together I have many installed – 1.3.1, 1.4.2, 1.5.0 and 1.6.0. My system was Leopard from day one. runInstaller script is 1980 bytes. Sounds stupid, but are you sure you downloaded the right install archive?

  • Johannes says:

    Hi

    I know it works OK without doing this, but for consistency across users and groups, you should include a line like:
    sudo dscl . -append /Groups/dba GroupMembership oracle
    after creating the dba group and the oracle user.
    This way:
    dscl . -list /Groups GroupMembership | grep dba
    will show the members of the dba group.

    Cheers jvd

  • Rob says:

    I followed the link you provide but it does appear my install archive differs, especially as my runInstaller script was only 1313 bytes in size. I will download again and see what happens.

  • Alex Gorbachev says:

    Thanks Johannes. Added your suggestion.

  • Sanselme says:

    Thanks for this guide, which helped me install Oracle 10g. I have one question, I would like to know if OEM is available on Leopard, as it seems not available.

  • venky says:

    @Carlo

    I am getting the same error “ORA-12547: TNS: lost contact”.

    Can you explain how you fixed this problem.

    Thanks

  • Alex Gorbachev says:

    @Sanselme: See Release Notes for unsupported features. Here is the current list:

    * Oracle Real Application Clusters (Oracle RAC)
    * Oracle Clusterware
    * Automatic Storage Management (ASM)
    * Network File System (NFS)
    * Network-attached Storage (NAS)
    * Raw devices
    * Oracle Application Express (formerly known as Oracle HTML DB)
    * Oracle HTTP Server
    * Oracle Workflow
    * Oracle Enterprise Manager Database Control
    * Oracle Management Agent
    * Pro*Fortran
    * Pro*COBOL
    * iSQL*Plus
    * Oracle Ultra Search

    Some may be unsupported but still work. For example, have another post on how to configure APEX on Mac 10.2.0.4.

    @venky: See ulimit section. What’s your “ulimit -a” output? Do you connect from oracle OS user?

  • RSG_Shyam says:

    Hi all,
    I tried to install oracle database 10.2 on mac os server 10.5. I followed Pythianian installation doc, Raimaonds installation doc and oracle installtion doc from oracle site.

    I got so many errors and remove it. but finally stuck to DYLD_LIBRARY_PATH. “Image not found” but I configured it fully with actual path.

    Any body can help me in this regards.

  • Alex Gorbachev says:

    @RSG_Shyam: You will need to provide details of where at the point of the installation you have an issue. What do you do exactly and and complete error message. If you want to get some help, please be diligent describing your problem and make sure that other actually understand it. You can find good hints here – How To Ask Questions The Smart Way

  • RSG_Shyam says:

    Hi..,

    I am trying to install oracle database 10.2 on mac os 10.5.4.

    I completed below steps:

    In installation wizard I selected the following options:
    0. Advanced Installation – so that I can change some default options
    0. Standard Edition – as I don’t need additional features of Enterprise Edition
    0. Create Database / General Purpose
    0. Global database name: orcl, SID: orcl
    0. Character set: UTF-8 AL32UTF8
    0. Create database with sample schemas

    after specify database storage option window I get Error ORA-12547 TNS lost contact Error. with two option retry and ignore.

    I selected retry but again shows the same error. if ignored it it moved forward but showed same error many times.

    At last, password management window it didn’t showed any database installed.

    Can any one suggest ??

    -Shyam

  • Alex Gorbachev says:

    Shyam,

    Two recommendations:

    1. I would install Oracle software-only option without database. Then you can use netca to configure listener and dbca to create a database – it’s easier to troubleshoot this way.

    2. I imagine that you either missed kernel settings or missed ulimit settings.

    For kernel settings check output from this:

    sysctl kern.sysv.semmsl # 87381
    sysctl kern.sysv.semmns # 87381
    sysctl kern.sysv.semmni # 87381
    sysctl kern.sysv.semmnu # 87381
    sysctl kern.sysv.semume # 10
    sysctl kern.sysv.shmall # 2097152
    sysctl kern.sysv.shmmax # max SGA you need.
    sysctl kern.sysv.shmmni # 4096
    sysctl kern.maxfiles # 65536
    sysctl kern.maxfilesperproc # 65536
    sysctl net.inet.ip.portrange.first # 1024
    sysctl net.inet.ip.portrange.last # 65000
    sysctl kern.corefile # core
    sysctl kern.maxproc # 2068
    sysctl kern.maxprocperuid # 2068

    For ulimit, check soft and hard limits – “ulimit -Sa” and “ulimit -Ha”.

  • Alex Gorbachev says:

    When database is created, you will want to check detailed log file of the installer (in oraInventory location) or dbca’s log file.

  • RSG_Shyam says:

    @Alex, Thanks for support.

    !. tried to install oracle software with out database. It installed successfully but when tried to create database with dbca.
    I put all information but in the database creation windows it again
    showed the same error. Error ORA-12547 TNS lost contact Error.

    I retry it but no help. I ignored it . It showed many times same error.

    I checked file for ulimit and on terminal “ulimit -Sa” and “ulimit -Ha”. in file its OK as you suggested. on terminal it shows unlimited in both cases.

    Here /etc/sysctl.conf as below:

    kern.sysv.semmsl=87381
    kern.sysv.semmns=87381
    kern.sysv.semmni=87381
    kern.sysv.semmnu=87381
    kern.sysv.semume=10
    kernel.sysv.shmall=2097152
    kernel.sysv.shmmax=2147483648
    kernel.sysv.shmmni=4096
    kern.maxfiles=65536
    kern.maxfilesperproc=65536
    net.inet.ip.portrange.first=1024
    net.inet.ip.portrange.last=65000
    kern.corefile=core
    kern.maxproc=2068
    kern.maxprocperuid=2068

    Now What to do next !!

  • RSG_Shyam says:

    @Alex:

    I saw the out put of ulimit -Sa and ulimit-Ha as below

    bash-3.2$ ulimit -Sa
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) 6144
    file size               (blocks, -f) unlimited
    max locked memory       (kbytes, -l) unlimited
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 256
    pipe size            (512 bytes, -p) 1
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 266
    virtual memory          (kbytes, -v) unlimited
    bash-3.2$ ulimit -Ha
    core file size          (blocks, -c) unlimited
    data seg size           (kbytes, -d) unlimited
    file size               (blocks, -f) unlimited
    max locked memory       (kbytes, -l) unlimited
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) unlimited
    pipe size            (512 bytes, -p) 1
    stack size              (kbytes, -s) 65532
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 532
    virtual memory          (kbytes, -v) unlimited

    where to paste it ??

  • Alex Gorbachev says:

    @Shyam:
    – Did you check dbca log file if it has more details on where the error is generated?
    – Have you configured listener successfully?
    – Perhaps, you could check listener log file. – It must be an issue during connection to the database. Could you check if there are any DB processes up.
    – dbca should generate init.ora file (or you can use a dummy tmplate) so you can try to use sqlplus – connect as sysdba and add execute start the instance in nomount mode.

  • Alex Gorbachev says:

    Also, could you paste the output from “ulimit -Sa” and “ulimit -Ha” ?

  • Alex Gorbachev says:

    @Shyam:

    You soft limits are wrong and might be too small. See section of the blog “User environment”.

    By the way, you have to do it as OS “oracle” user – and you need to increase those in the profile of oracle user as I described. You run dbca and etc as “oracle” user.

  • RSG_Shyam says:

    @Alex I login through oracle and find that /etc.sysctl.conf is configured as :

    kern.sysv.semmsl=87381
    kern.sysv.semmns=87381
    kern.sysv.semmni=87381
    kern.sysv.semmnu=87381
    kern.sysv.semume=10
    kernel.sysv.shmall=2097152
    kernel.sysv.shmmax=2147483648
    kernel.sysv.shmmni=4096
    kern.maxfiles=65536
    kern.maxfilesperproc=65536
    net.inet.ip.portrange.first=1024
    net.inet.ip.portrange.last=65000
    kern.corefile=core
    kern.maxproc=2068
    kern.maxprocperuid=2068

    anything wrong here ??

    @@@ .bash_profile is configured as:

    umask 022
    export ORACLE_HOME=/Users/oracle/oracle/product/10.2.0/db_1
    export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
    export ORACLE_SID=rsg
    PATH=$PATH:/$ORACLE_HOME/bin

    AND THE OUTPUT OF configToolFailedCommands.bak as:

    # Copyright (c) 1999, 2008, Oracle. All rights reserved.
    /Users/oracle/oracle/product/10.2.0/db_1/bin/netca /orahome 
    /Users/oracle/oracle/product/10.2.0/db_1 /orahnam OraDb10g_home1 
    /instype typical /inscomp client,oraclenet,javavm,server,ano /insprtcl tcp 
    /cfg local /authadp NO_VALUE /nodeinfo NO_VALUE /
    responseFile /Users/oracle/oracle/product/10.2.0/db_1/network/install/netca_typ.rsp 
    
    /Users/oracle/oracle/product/10.2.0/db_1/bin/dbca  -progress_only 
    -createDatabase -templateName General_Purpose.dbc -gdbName sairam -sid sairam 
    -sysPassword 05dddb58689a67a438b5d73019b1139092  -systemPassword 
    05dddb58689a67a438b5d73019b1139092  -sysmanPassword 0550a235685a2de0d510be58bcfc1b1b74 
    -dbsnmpPassword 05173f47687a4a4207fff300304b6a077d  -emConfiguration NONE    
    -datafileJarLocation /Users/oracle/oracle/product/10.2.0/db_1/assistants/dbca/templates 
    -datafileDestination /Users/oracle/oracle/product/10.2.0/oradata/
    -responseFile NO_VALUE   -characterset AL32UTF8   
    -obfuscatedPasswords true  -sampleSchema true -oratabLocation
    NO_VALUE  -recoveryAreaDestination NO_VALUE   
    
    /Users/oracle/oracle/product/10.2.0/db_1/bin/isqlplusctl start

    Please suggest where is the problem.

    Thanks a lot.

  • RSG_Shyam says:

    @Alex When I chk the ulimit at command following information are showing:

    oracle:~ oracle$ ulimit -a
    
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) 6144
    file size               (blocks, -f) unlimited
    max locked memory       (kbytes, -l) unlimited
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 65536
    pipe size            (512 bytes, -p) 1
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 266
    virtual memory          (kbytes, -v) unlimited
    
    -------------------------------------
    oracle:~ oracle$ ulimit -Sa
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) 6144
    file size               (blocks, -f) unlimited
    max locked memory       (kbytes, -l) unlimited
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 65536
    pipe size            (512 bytes, -p) 1
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 266
    virtual memory          (kbytes, -v) unlimited
    
    ------------------------------------
    oracle:~ oracle$ ulimit -Ha
    core file size          (blocks, -c) unlimited
    data seg size           (kbytes, -d) unlimited
    file size               (blocks, -f) unlimited
    max locked memory       (kbytes, -l) unlimited
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 65536
    pipe size            (512 bytes, -p) 1
    stack size              (kbytes, -s) 65532
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 532
    virtual memory          (kbytes, -v) unlimited
  • Alex Gorbachev says:

    @Shyam:

    You missed adding ulimit statements to your .bash_profile. Please see the section User environment above with the values and how they are selected. Your soft limits are wrong. I see that since last time you increased open files but perhaps you are still hitting max user processes soft limit.

    You didn’t answer whether you configured the listener successfully. You might need to look in the listener log file. Another attempt is to use sqlplus from command line to connect as sysdba and startup dummy instance in nomount.

  • Carlos says:

    Running runInstall I’m getting:

    unknown00231222da65:Disk1 misko$ java -version
    java version "1.5.0_16"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-284)
    Java HotSpot(TM) Client VM (build 1.5.0_16-133, mixed mode, sharing)
    unknown00231222da65:Disk1 misko$ ./runInstaller
    Starting Oracle Universal Installer...
    
    No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-05-21_09-58-36PM. Please wait ...unknown00231222da65:Disk1 misko$ Failed to open library /System/Library/Frameworks/JavaVM.framework/JavaVM
    Failed to find scheduleUpdateSharing in JavaVM library: invalid handle passed to dlsym()
    
    unknown00231222da65:Disk1 misko$
  • Alex Gorbachev says:

    Carlos, what’s your Xcode version?
    Perhaps, check your runInstaller script. Mine has JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/

  • RSG_Shyam says:

    @Alex:
    I configured all files as per given value in your document.

    I configured listener and it is well but without database how it works ?

    I installed oracle software and tried to create database with dbca.
    I put all values and it started database creation but show same error ORA-12547 TNS Lost contact.

    Now Its challenge for me !!!

  • Alex Gorbachev says:

    @RSG_Shyam: If you fixed ulimit, I would do what I suggested above. No guessing – BAAG.

  • Carlos says:

    Database now works very well, but…

    macbookpro:~ misko$ emctl start dbconsole
    //u01/app/oracle/product/10.2.0/db_1/bin/emctl: line 236: OS: command not found
    //u01/app/oracle/product/10.2.0/db_1/bin/emctl: line 242: OS: command not found
    //u01/app/oracle/product/10.2.0/db_1/bin/emctl: line 248: OS: command not found
    //u01/app/oracle/product/10.2.0/db_1/bin/emctl: line 256: OS: command not found
    OC4J Configuration issue. /u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_macbookpro_orcl not found. 
    macbookpro:~ misko$
  • Alex Gorbachev says:

    @Carlos: If you read the comments carefully, you’d see that DB Control is not supported on OS X.

  • RSG_Shyam says:

    @Alex: I fixed ulimit issue and now by .bash_profile looks like that

    1. .bash_profile:

    ulimit -Hu 512
    ulimit -Su 512
    ulimit -Hn 10240
    ulimit -Sn 10240
    
    umask 022
    export ORACLE_HOME=/Users/oracle/oracle/product/10.2.0/db_1
    export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
    export ORACLE_SID=rsg
    PATH=$PATH:/$ORACLE_HOME/bin

    2. /etc/sysctl.conf:

    kern.sysv.semmsl: 87381
    kern.sysv.semmns: 87381
    kern.sysv.semmni: 87381
    kern.sysv.semmnu: 87381
    kern.sysv.semume: 10
    kern.sysv.shmall: 2097152
    kern.sysv.shmmax: 4194304
    kern.sysv.shmmni: 4096
    kern.maxfiles: 12288
    kern.maxfilesperproc: 10240
    net.inet.ip.portrange.first: 49152
    net.inet.ip.portrange.last: 65535
    kern.corefile: /cores/core.%P
    kern.maxproc: 1024
    kern.maxprocperuid: 512

    3. /etc/hosts :

    ##
    # Host Database
    #
    # localhost is used to configure the loopback interface
    # when the system is booting.  Do not change this entry.
    ##
    192.168.1.133   localhost
    
    #127.0.0.1      localhost
    255.255.255.255 broadcasthost
    ::1             localhost
    fe80::1%lo0     localhost

    4. oracle:~ root# hostname

    oracle.rsg.com

    5. Environment Looks :

    oracle:~ oracle$ env
    MANPATH=/usr/share/man:/usr/local/share/man:/usr/X11/man
    TERM=xterm-color
    SHELL=/bin/bash
    USER=oracle
    ORACLE_SID=rsg
    PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin://Users/oracle/oracle/product/10.2.0/db_1/bin
    PWD=/Users/oracle
    SHLVL=1
    HOME=/Users/oracle
    DYLD_LIBRARY_PATH=/Users/oracle/oracle/product/10.2.0/db_1/lib
    ORACLE_HOME=/Users/oracle/oracle/product/10.2.0/db_1
    _=/usr/bin/env

    Now, how to move ??

  • RSG_Shyam says:

    @Alex:

    Any how I managed to install database through dbca but now tnsnames.ora and listener.ora files are not not created by default in the ORACLE_HOME/network/admin directory.

    Once I created these files and configured it manually, and when try to chk the listener status it is showing unknown.

  • RSG_Shyam says:

    Hi.,

    I have installed oracle software 10.2 on mac 10.5 server.

    I created database through dbca but tnsnames.ora and listener.ora files not get created as its location e.g /Users/oracle/oracle/product/10.2.0/db_a/network/admin.

    I created both files and configured it.
    Now, when I start listener by using:

    oracle:~ oracle$ lsnrctl start
    
    LSNRCTL for MacOS X Server: Version 10.2.0.4.0 - Production on 27-MAY-2009 15:16:07
    
    Copyright (c) 1991, 2007, Oracle.  All rights reserved.
    
    TNS-01106: Listener using listener name LISTENER has already been started

    [B]when try to start database: it shows [/B]

    dbstart
    ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
    Usage: //Users/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME
    Processing Database instance "rsg": log file /Users/oracle/oracle/product/10.2.0/db_1/startup.log
    Processing Database instance "rsg": log file /Users/oracle/oracle/product/10.2.0/db_1/startup.log

    [B]when try to connect it :[/B]

    oracle:~ oracle$ sqlplus hr/hr@rsg
    
    SQL*Plus: Release 10.2.0.4.0 - Production on Wed May 27 15:16:56 2009
    
    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
    
    ERROR:
    ORA-28547: connection to server failed, probable Oracle Net admin error

    B]when try to connect it by other user:[/B]

    Enter user-name: hr
    Enter password: 
    ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Mac OS X Error: 2: No such file or directory
    
    Enter user-name: 

    Can you tell me the problem and where is it ??

  • Alex Gorbachev says:

    @RSG_Shyam: If you want to connect directly without connection string, you need ORACLE_SID set appropriately. Verify it’s set. “ps wax | grep pmon” to check your database is running.

    Use netca to create the listener. Otherwise, all default settings are used.

  • RSG_Shyam says:

    @Alex: Thanks for support.

    When I issue this command “ps wax | grep pmon” the output is like this

     oracle:~ oracle$ ps wax | grep pmon
      672 s000  R+     0:00.00 grep pmon
    oracle:~ oracle$ 

    what next ??

  • Alex Gorbachev says:

    @Shyam: Your DB instance is down. Set your environment ORACLE_SID (I assume it’s “rsg”) and startup your database using sqlplus. I would also recommend to have a good read of 2 Days DBA manual. You really need to learn fundamentals. Unfortunately, you don’t have DB Control working on OS X so you will need to consult Admin Guide for command line tools.

  • kiwi says:

    I’ve successfully installed 10gR2 on my Macbook. How do I access the RDBMS using my own user? When I tried to install the 10g client, I get an permission error on the oraInventory subdirectory.

  • Alex Gorbachev says:

    @kiwi: you own user need to be part of oinstall group (or dba if you didn’t split dba and oinstall) to install Oracle software.

    Re: using Oracle database by another user…

    In order to use existing database Oracle home you need to “relax” some permissions. Allowing other users to use database Oracle home has some security implications so Oracle locked them down in 10.2 by default. There is a script $ORACLE_HOME/install/changePerm.sh that you can run to change permissions.

    However, looks like changePerm.sh is not adapted to OS X and uses wrong default utility locations (like awk, grep and etc.). You want to edit it and fix the locations.

    This is how it should be changed:

    # Macros
    CHMOD="/bin/chmod"
    CHOWN="/usr/sbin/chown"
    AWK="/usr/bin/awk"
    GREP="/bin/grep"
    LS="/bin/ls"
    CUT="/usr/bin/cut"
    ECHO="/bin/echo"
    RM="/bin/rm"
    CAT="/bin/cat"
    CP="/bin/cp"
    SORT="/usr/bin/sort"
    TOUCH="/usr/bin/touch"
    ID="/usr/bin/id"
    FIND="/usr/bin/find"
    CUT="/usr/bin/cut"
    CWD="/bin/pwd"
    TR="/usr/bin/tr"
    TEST="/bin/test"
    COMM="/usr/bin/comm"

    Run it as oracle home owner (probably oracle):

    macbook:install oracle$ ./changePerm.sh 
    
    -------------------------------------------------------------------------------
    Disclaimer: The purpose of this script is to relax permissions on some of the
    files in the database Oracle Home so that all clients can access them.
    Please note that Oracle Corporation recommends using the most restrictive file
    permissions as possible for your given implementation.  Running this script
    should be done only after considering all security ramifications.
    -------------------------------------------------------------------------------
    
    Do you wish to continue (y/n) [n]: y
    Spooling the error log /tmp/changePerm_err.log...
    Finished running the script successfully

    And you are done…

    If you want to use oraenv script to set your environment, you will probably have to patch it as well…

    Edit /usr/local/bin/oraenv file (sudo vi /usr/local/bin/oraenv) adding before line 103 from:

    # Locate "osh" and exec it if found
    ULIMIT=`LANG=C ulimit 2>/dev/null`
    if [ $? = 0 -a "$ULIMIT" -lt 2113674 ] ; then
        if [ -f $ORACLE_HOME/bin/osh ] ; then
    

    to:

    # Locate "osh" and exec it if found
    ULIMIT=`LANG=C ulimit 2>/dev/null`
    if [ "$ULIMIT" = "unlimited" ] ; then
      ULIMIT=2113674
    done
    if [ $? = 0 -a "$ULIMIT" -lt 2113674 ] ; then
    

    Without patching oraenv you would get:

    macbook:~ gorby$ . oraenv
    ORACLE_SID = [mac10g] ? 
    -bash: [: unlimited: integer expression expected

    Which is probably harmless but still looks better fixed.

    Still, you won’t be able to use sqlplus as oraenv doesn’t set DYLD_LIBRARY_PATH correctly:

    macbook:~ gorby$ sqlplus "/as sysdba"
    dyld: Library not loaded: /b/227/sqlplus/lib/libsqlplus.dylib
      Referenced from: /Volumes/HD2/oracle/product/10.2.0/db_1/bin/sqlplus
      Reason: image not found
    Trace/BPT trap

    You could add this line at the end of the oraenv file:

    export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib

    After that, you should be able to connect using SQL*Net via TCP but not via BEQUETH protocol so I still couldn’t figure out how to sqlplus "/as sysdba" from non-oracle user:

    macbook:~ gorby$ sqlplus "/as sysdba"
    
    SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jun 1 10:09:00 2009
    
    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
    
    dyld: Library not loaded: /b/227/rdbms/lib/libodm10.dylib
      Referenced from: /Volumes/HD2/oracle/product/10.2.0/db_1/bin/oracle
      Reason: image not found
    ERROR:
    ORA-12547: TNS:lost contact

    Permissions are correct and I used dtruss and I could see that forked process doesn’t try to open the library from the proper location. To me it looks like DYLD_LIBRARY_PATH is lost in the forked process. Eh?

    dtruss output is below:

    80676/0x122bfc80:  fork()                = 80677 0
    80676/0x122bfc80:  sigprocmask(0x1, 0x7FFF5FBF66D0, 0x0)                 = 0x0 0
    80676/0x122bfc80:  sigaction(0xD, 0x7FFF5FBF65A0, 0x7FFF5FBF6630)                = 0 0
    80676/0x122bfc80:  sigprocmask(0x2, 0x7FFF5FBF66C0, 0x0)                 = 0x0 0
    80676/0x122bfc80:  close(0x8)            = 0 0
    80676/0x122bfc80:  close(0xB)            = 0 0
    80677/0x9b04d60:  setuid(0x1, 0x101C080C0, 0x1)          = 0 0
    80677/0x9b04d60:  mmap(0x0, 0x200000, 0x3, 0x1002, 0x7000000, 0x1083A8000)               = 0x1D64000 0
    80677/0x9b04d60:  munmap(0x101D64000, 0x9C000)           = 0 0
    80677/0x9b04d60:  munmap(0x101F00000, 0x64000)           = 0 0
    80677/0x9b04d60:  setsid(0x0, 0x10204CA68, 0x101E00000)          = 80677 0
    80677/0x9b04d60:  execve(0x101C08010, 0x101C07FC0, 0x101E00000)          = 0 0
    80677/0x9b04d60:  issetugid(0x100000000, 0x7FFF5FBFFB58, 0x7FFF5FC311C8)                 = 1 0
    80677/0x9b04d60:  __sysctl(0x7FFF5FBFE470, 0x2, 0x7FFF5FBFE430)          = 0 0
    80677/0x9b04d60:  __sysctl(0x7FFF5FBFE430, 0x2, 0x7FFF5FBFE4CC)          = 0 0
    80677/0x9b04d60:  shared_region_check_np(0x7FFF5FBFF960, 0x0, 0x7FFF5FC18A06)            = 0 0
    80677/0x9b04d60:  stat("/b/227/rdbms/lib/libodm10.dylib", 0x7FFF5FBFD740, 0x7FFF5FBFE130)              = -1 Err#2

    But connecting via network alias works:

    macbook:admin gorby$ sqlplus system@MAC10G
    
    SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jun 1 11:08:51 2009
    
    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
    
    Enter password: 
    
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL>
  • RSG_Shyam says:

    @ Alex: Thank you so much for your nice suggestions.

    I have gone through suggested tutorials few months back.

    Alex, I hope without knowledge of fundamentals one cant play with oracle. Its fact that I am new on mac but not for oracle.

  • enola says:

    Awesome!
    Thanks you, to have take the time to write this,
    valuable article.
    btw : I cannot log as `system`, have to use `SYSTEM` .

  • Alex Gorbachev says:

    @enola:

    “I cannot log as `system`, have to use `SYSTEM`”

    Upper and lower case username shouldn’t make any difference. Can you verify you didn’t mistype something like password?

  • Cooldude says:

    I have problem setting the Display variable. when I tried to run xclock, after starting x11 and su – oracle, it is saying that cant open display.

    I am using:
    export DISPLAY=local_host:0;

    Please help

    Thanks

  • dty says:

    export DISPLAY=:0.0
    should work fine

  • Cooldude says:

    @dty, I have tried export DISPLAY=:0.0

    but it still didnt work..

    any other thoughts…

  • Cooldude says:

    @Alex

    cmd : echo $DISPLAY
    o/p : /tmp/launch-rpYoyl/:0

    I tried with both localhost and assigning /tmp/launch-rpYoyl/:0 to ORACLE DISPLAY variable ..
    but both didnt work..
    Am I missing something?

  • Cooldude says:

    @DTY..

    I tried, ones again, as you said and got this output..

    Xlib: connection to ":0.0" refused by server
    Xlib: No protocol specified
    
    Error: Can't open display: :0.0
  • Alex Gorbachev says:

    @ Cooldude: before “su – oracle” check your DISPLAY variable and try xclock from your own user first. you misspelled localhost – *no* underscore.

  • dty says:

    I did not use x-server. Just logged in as oracle and export the DISPLAY as :0.0, then runInstall, netca, dbca, etc, will work. One thing I tried is to add in /etc/hosts the line: 127.0.0.1 .

  • dty says:

    i mean:

    127.0.0.1 hostname_from_hostname_command

  • dty says:

    This is what in my .bash_profile of oracle user:

    export DISPLAY=:0.0
    export ORACLE_BASE=$HOME
    umask 022
    ulimit -Hn 65536
    ulimit -Sn 65536
    ulimit -Hu 500
    ulimit -Su 500
    
    export ORACLE_HOME=/Users/oracle/oracle/product/10.2.0/db_1
    export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
    export ORACLE_SID=orcl
    PATH=$ORACLE_HOME/bin:$PATH
  • dty says:

    By the way, I found out I could connect to sqlplus using login other than oracle:

    sqlplus sys@$ORACLE_SID as SYSDBA
    
    SQL*Plus: Release 10.2.0.4.0 - Production on Wed Jun 10 11:49:55 2009
    
    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
    
    Enter password: 
    
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> 

    * need to append @$ORACLE_SID manually, env var not help

    * This will work:
    sqlplus myuser/mypass@$ORACLE_SID

    or will get the error:

    dyld: Library not loaded: /b/227/rdbms/lib/libodm10.dylib
      Referenced from: /Users/oracle/oracle/product/10.2.0/db_1/bin/oracle
      Reason: image not found
    ERROR:
    ORA-12547: TNS:lost contact

    * I’ve added the login into oinstall group as oracle login. Not sure it is necessary or not.

  • Cooldude says:

    @DTY and @Alex..

    THanks guys .. its is working now.. i am able to install oracle 10g..

    I did export DISPLAY=:0.0

    and also did xhost + with my user

    then xclock worked..

    THanks once again

  • Alex Gorbachev says:

    @Cooldude: :0.0 won’t work I think on OS X. Assuming X11 is running for you already (start manually or run xclock from your own user) you should have no problems with “export DISPLAY=localhost:0.0″ or “DISPLAY=127.0.0.1:0.0″ as oracle user. To verify that your X11 server is listening on the right port – netstat -an | grep ‘.6000′

    If you can run xclock from you own user and you activate ssh then you can use ssh port forwarding and login to oracle user using ssh -X oracle@localhost

    @dty: when you specify @{alias} you are using network connectivity and connect via listener instead of bequeth connectivity with OS authentication.

  • Alex Gorbachev says:

    @Cooldude: hm… I thought about xhost+ but I didn’t need it since it was always locally. Somehow connections are not recognized as local for you, perhaps? Anyway, great the you solved it and thanks for the update here. Good luck!

  • Dotun says:

    I did a successful installation of Oracle DB. But I get the error message below when trying to start the listener ‘Bad CPU type in executable’. I am running Mac 10.5.7 . What am I not doing?

    oludotun-ogunyades-computer:~ root# su - oracle
    oludotun-ogunyades-computer:~ oracle$ lsnrctl status
    -bash: //Volumes/HD2/oracle/product/10.2.0/db_1/bin/lsnrctl: Bad CPU type in executable
    oludotun-ogunyades-computer:~ oracle$ lsnrctl start 
    -bash: //Volumes/HD2/oracle/product/10.2.0/db_1/bin/lsnrctl: Bad CPU type in executable
  • Carl says:

    I was getting the Error on install when netca ran like the others have. After many retries, I simply added the entry in /etc/hosts

    I ran the installer and removed the previous installation. Then I reran the installer and everything finished without error.

    Of course since we use DHCP, I’ll need to remove the entry now that I have it installed.

  • Carl says:

    Sorry, doesn’t show the entry on my last comment.
    ip_address host_name

  • Dotun says:

    @alex…
    I am unable to configure listener completely with netca. While is shows listener configured completely, it fails when trying to start the listener. I tried to start the listener myself with ‘lsnrctl start’ as an oracle user – but i keep getting the error ‘Bad CPU type in executable’ . My Mac version is 10.5.7 and xcode version is 3.1.2. What am i missing.

  • Alex Gorbachev says:

    @Carl: Thanks for update. Yes, Few Oracle tools rely on your hostname-IP paid to be in in the hosts file.

    @ Dotun: I would ask you to paste your listener.ora but lsnrctl start should start default listener even if you don’t have anything in listener.ora. The error suggests that something didn’t link properly… It *might* be because of xcode as it has different gcc’s.

    Here is what the header for my lsnrctl:

    macbook:bin gorby$ otool -hv lsnrctl
    lsnrctl:
    Mach header
          magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
    MH_MAGIC_64  X86_64        ALL LIB64     EXECUTE    12       1840   NOUNDEFS DYLDLINK TWOLEVEL

    Can you dump yours?

  • Alex Gorbachev says:

    @Dotun: Could you please update if you found a solution? Maybe newer Xcode has different defaults for gcc or ld and produces the code for different architecture?

    To relink listener you can use $ORACLE_HOME/bin/relink network.

  • Chris Murphy says:

    Here’s my own take on installing Oracle natively. I borrowed heavily from this install guide, and fleshed it out a bit more with starting/stopping oracle, and connecting from a non-oracle user. Thank you very much for this excellent guide.

    Installing Oracle Natively on OS X Leopard
    http://blogobaggins.com/2009/06/23/native-oracle-on-osx.html

  • Dotun says:

    @Alex:
    Sorry my late response, I don’t have a solution yet. Here is my listener.ora

    # listener.ora Network Configuration File: /Volumes/HD2/oracle/product/10.2.0/db_1/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /Volumes/HD2/oracle/product/10.2.0/db_1)
          (PROGRAM = extproc)
        )
      )
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.211.55.2)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
      )
    
    ~                                                                               
    ~                                                                               
    "listener.ora" 20L, 515C

    ……………………………………………………………………………
    Below is the error message when I try to start with lsnrctl start:

    oludotun-ogunyades-computer:admin oracle$ lsnrctl start
    -bash: //Volumes/HD2/oracle/product/10.2.0/db_1/bin/lsnrctl: Bad CPU type in executable
    ......................................................................................
    using netca, my listener configuration completes but fails when trying to start the listener...
    oludotun-ogunyades-computer:~ oracle$ netca
    
    Oracle Net Services Configuration:
    Configuring Listener:LISTENER2
    Listener configuration complete.
    Oracle Net Listener Startup:
        Running Listener Control: 
          /Volumes/HD2/oracle/product/10.2.0/db_1/bin/lsnrctl start LISTENER2
        Listener Control complete.
        Listener start failed. Listener may already be running.
  • Alex Gorbachev says:

    @Dotun: Could you provide output from “otool -hv lsnrctl”?

    @Chris: Good summary. Thanks for posting the reference.

  • Dotun says:

    @Alex:

    Here is my dump:

    oludotun-ogunyades-computer:bin oracle$ otool -hv lsnrctl
    lsnrctl:
    Mach header
    magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
    MH_MAGIC_64 X86_64 ALL LIB64 EXECUTE 13 1864 NOUNDEFS DYLDLINK TWOLEVEL

    Is it my Xcode version?

  • Alex Gorbachev says:

    @Dotun: I can’t diagnose it properly. Based on what I see on the internet, people blame either 64 vs 32 bit incompatibility or MACH vs INTEL platform.

    If you oracle database itself is running fine, could you perhaps try to execute “otool -hv oracle”?

    I’d love to blame it on Xcode 3.1 but I can’t prove it. So eithe dig further or try to downgrade to Xcode 3.0, perhaps?

    I could also propose to relink – $ORACLE_HOME/bin/relink network but I don’t think it should help unless you actually change something.

    Btw, you are on Intel. Right? :) just checking…
    What’s your CPU?

  • Ben Levi says:

    You wrote:
    Unfortunately, 4 values I need to change can’t be modified at run-time so I have to configure them in /etc/sysctl.conf and reboot. For this, add the following to /etc/sysctl.conf (you probably will need to create a new file) and reboot:

    Can you tell me where the /etc/ folder lives? I can’t locate it, so don’t know where to put the sysctl.conf file.
    Thanks.

  • Alex Gorbachev says:

    @Ben: paths starting with “/” are from root. Please note that you need to use terminal and command line. /etc is not visible from Finder (as many other directories).

  • Ben Levi says:

    Thanks Alex… I did get it installed. It asked me to run the root.sh script, which said:
    The following environment variables are set as:

        ORACLE_OWNER= oracle
        ORACLE_HOME=  /Users/oracle/oracle/product/10.2.0/db_1
    
    Enter the full pathname of the local bin directory: [/usr/local/bin]:

    ——–
    I didn’t know what to enter for the full pathname, so I ^C’d to exit… was that OK?

    I can do ls in the directory (/Users/oracle/oracle/product/10.2.0/db_1) and see a bunch of files, including sqlplus, but apparently it’s not a command I can run. Does this have anything to do with running the root.sh script?

    Thanks.

  • Ben Levi says:

    Can i contact you offline about getting some consulting on getting my oracle db system up and running smoothly? I’m totally new at this, and would like to set up a screen sharing session so you can show me what i need to know.
    thanks,
    Ben

  • MT says:

    Hi,

    I am following your steps in installing Oracle 10g, but when I tried to login as oracle, I am having this error:


    MacbookPro-2:oracle mikeT$ su – oracle
    Password:
    su: no directory

    What am I missing?

    THanks

  • Alex Gorbachev says:

    @Ben: you could have just left defaults in there – so simply re-run root.sh as root and press enter on default.

    Unfortunately, installing Oracle on Mac is not like other programs and using it actually require some generic DBA and *nix knowledge. I sent you an email.

  • Alex Gorbachev says:

    @MT: I would imagine you failed to create a home directory for oracle user (/Users/oracle in my example) or mistyped it when creating oracle user. Are you actually able to become an oracle user even with this error?

  • MT says:

    Hi Alex,

    Nope, I am unable to become an oracle user with that error.
    Pardon me but, how will I create a home directory for oracle user?

    tnx.

  • Alex Gorbachev says:

    @MT: It’s part of section “Creating OS oracle user” – search for /Users/oracle.

  • MT says:

    Alex,

    Hmm, I actually tried to execute that part, still giving me the error.

    MGLTMacbookPro-2:~ mikeT$ sudo dscl . -create /groups/dba
    MGLTMacbookPro-2:~ mikeT$ sudo dscl . -append /groups/dba gid 4200
    MGLTMacbookPro-2:~ mikeT$ sudo dscl . -append /groups/dba passwd "*"
    MGLTMacbookPro-2:~ mikeT$ sudo dscl . -create /users/oracle
    MGLTMacbookPro-2:~ mikeT$ sudo dscl . -append /users/oracle uid 4200
    MGLTMacbookPro-2:~ mikeT$ sudo dscl . -append /users/oracle gid 4200
    MGLTMacbookPro-2:~ mikeT$ sudo dscl . -append /users/oracle shell /bin/bash
    MGLTMacbookPro-2:~ mikeT$ sudo dscl . -append /users/oracle home /Users/oracle
    MGLTMacbookPro-2:~ mikeT$ sudo dscl . -append /users/oracle realname "Oracle software owner"
    MGLTMacbookPro-2:~ mikeT$ sudo dscl . -append /Groups/dba GroupMembership oracle
    MGLTMacbookPro-2:~ mikeT$ sudo mkdir /Users/oracle
    mkdir: /Users/oracle: File exists
    MGLTMacbookPro-2:~ mikeT$ sudo chown oracle:dba /Users/oracle
    MGLTMacbookPro-2:~ mikeT$ sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add oracle
    MGLTMacbookPro-2:~ mikeT$ sudo passwd oracle
    Changing password for oracle.
    New password:
    Retype new password:
    Mismatch; try again, EOF to quit.
    New password:
    Retype new password:
    Mismatch; try again, EOF to quit.
    New password:
    Retype new password:
    MGLTMacbookPro-2:~ mikeT$ 
    MGLTMacbookPro-2:~ mikeT$ sudo chown oracle:dba /Users/oracle
    MGLTMacbookPro-2:~ mikeT$ sudo chmod 775 /Users/oracle
    MGLTMacbookPro-2:~ mikeT$ su - oracle
    Password:
    su: no directory
    MGLTMacbookPro-2:~ mikeT$
  • qersoft says:

    thank you

  • john says:

    Thanks for the great posting, comments, and tips. It took some work as I’m not much of an oracle dba (trying to improve that) but this was a great help.

    To those having issues….double/triple check your kernel stuff and profile declaratives; all my issues were traced back there. cut and paste is your friend. ymmv.

  • Alex Gorbachev says:

    Thanks for feedback John. Glad it helped.

  • MT says:

    Hi guys,

    I cant grep anything from the nestat.
    Also, when I sudo to oracle, I’m getting an error exporting localhost to DISPLAY.

    ...
    bash-3.2$ echo $DISPLAY
    /tmp/launch-yBAujX/:0
    bash-3.2$ xclock
    bash-3.2$ netstat -an | grep 6000 | grep LISTEN
    bash-3.2$ 
    bash-3.2$ 
    bash-3.2$ su - oracle
    Password:
    MGLTMacbookPro-2:~ oracle$ export DISPLAY=localhost:0
    MGLTMacbookPro-2:~ oracle$ xclock
    Error: Can't open display: localhost:0
    MGLTMacbookPro-2:~ oracle$ 
    ....

    What am I missing.

  • Alex Gorbachev says:

    @MT: Can you run X11 manually? (Applications->Utilities)

    In X11 preferences – check that you have “Allow connections from network clients”. Btw, you probably want disabled “Authenticate connections”.

    Let me know if that helps.

  • MT says:

    Hi Alex,

    That did the trick, thanks!.

  • venu says:

    I don’t get the last part: “Completing network configuration”. What I do not understand is: How am I supposed to write “show parameter listener” at the SQL prompt? The SQL prompt will be available only after issuing “sqlplus system@mac10g” and when I issue the latter, this is what I get:

    SQL*Plus: Release 10.2.0.4.0 - Production on Wed Aug 26 01:35:10 2009
    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
    Enter password: 
    ERROR:
    ORA-12154: TNS:could not resolve the connect identifier specified
    Enter user-name:
  • drx says:

    I’ve been able to install the db and can connect fine via sqlplus with my oracle user. I can also connect with other user accounts, but only works via network alias (“sqlplus system@ORCL”). However I’m stuck on getting Java 1.6 to talk to oracle.

    I’m creating the connection like this:

    Connection conn = DriverManager.getConnection
    (“jdbc:oracle:thin:@localhost:1521:ORCL”, “system”, “mypassword”);

    “The Network Adapter could not establish the connection”

    The listeners are started and running ok.

    Anything obviously wrong or is there something I can do to debug this?

  • drx says:

    may I quote Roseanne Rosannadanna… “nevermind…”.

    my connection string was incorrect.

    jdbc:oracle:thin:@localhost:1521:mac10g

  • Alex Gorbachev says:

    @venu: mac10g – this connection descriptor must be specified in your tnsnames.ora file in $ORACLE_HOME/network/admin.

    You can also use netca GUI tool to help you configure your connection descriptor if you don’t know the file format.

  • venu says:

    I tried to reinstall, this time with global databse name: “orcl” and SID: “orcl”.Please help. This is what I did to my tnsnames.ora file:

    orcl=
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
    
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
    
    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC4))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )

    On issuing “sqlplus system@orcl”, this is what I get:

    SQL*Plus: Release 10.2.0.4.0 - Production on Wed Aug 26 14:34:56 2009
    
    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
    
    Enter password: 
    ERROR:
    ORA-12514: TNS:listener does not currently know of service requested in connect
    descriptor
  • Alex Gorbachev says:

    @venu: do “lsnrctl status” – you should see the service that you should use in SERVICE_NAME in your connection descriptor (don’t forget the domain if it’s there).

  • Natasha says:

    Alex, thanks a lot for the post!
    I have installed Oracle 10g following your instructions. Unfortunately, once the installation was complete I was not able to start Oracle. When I enter sqlplus commands get this:
    -bash: sqlplus: command not found
    There is sqlplus folder in /Volumes/HD/oracle/oraInventory. Somehow I have 2 oraInventory folders: users/oracle/oraInventory and /Volumes/HD/oracle/oraInventory.
    Can you please help me to fix this problem?

  • Allan says:

    Hi,

    I have a 2 day old MBP running Leopard 10.5.7

    I have followed the recommendations on this site perfectly but when I issue “lsnrctl start” I get this:

    dyld: Symbol not found: _nnfoboot
    Referenced from: /Users/oracle/product/10.2.0/db_1/lib/libclntsh.dylib.10.1
    Expected in: flat namespace

    I tried relinking to no avail. Any clues?

    And thanks for the time!!

  • Chris Murphy says:

    Anyone tried running native Oracle on a Snow Leopard build yet? Hopefully there are no issues…

  • Alex Gorbachev says:

    @Natasha:

    You inventory location is in this file – /var/opt/oracle/oraInst.loc.

    You probably don’t have your PATH set properly so sqlplus executable file is not found. Make sure you set user environment for oracle user correctly as I described and that you are actually using oracle user to connect.

    @Allan:

    Not sure what’t the problem is. Perhaps, check that you use Xcode 3.0. Verify DYLD_LIBRARY_PATH.

  • Allan says:

    Hi Alex,

    Therein lies the problem I think. I’m on XCode 3.1.2.

    Show stopper you think?

    thanks for the time!
    allan

  • Alex Gorbachev says:

    @Chris: Well, not sure and I won’t be upgrading my OS X to Snow Leopard just yet – I depend on it way too much. But I might upgrade the rest of my family to try it out. :)

    @Allan: I can’t say for sure but the requirements clearly say – Xcode 3.0. You can have several versions installed as I recall but you need to manage paths properly I guess.

    Anybody managed to install on higher versions Xcode?

  • Faizal says:

    I have worked successfully with native Oracle 10g Rel 2 on 10.5.6,10.5.7 and 10.5.8 for many months.

    Now I would like to now if it works on 10.6 aka Snow Leopard. I might give it a shot come this weekend. Anybody out there can confirm if it works or not?????

  • Allan says:

    Hiya Alex,

    I uninstalled XCode 3.1 and installed 3.0. No joy.

    Faisal:
    I’m on 10.5.7 and wondering what am I doing wrong. The link phase of the installation throws the following errors.

    (I’ll selectively copy/paste here)
    Error Start
    ======

    INFO: Undefined symbols:
    “_nnfoboot”, referenced from:
    _nnfgtable in libn10.a(nnfgt.o)
    _nnfgtable in libn10.a(nnfgt.o)
    “_nnfyboot”, referenced from:
    _nnfgtable in libn10.a(nnfgt.o)
    ld: symbol(s) not found

    =========
    Error End

    Do I need to create some symbolic links in the lib directory here? If so which ones?

    Thanks folks!!

  • Nat says:

    @Chris, @Alex
    I had been using Oracle 10.2.0.4 on OS X 10.5.7 and 10.5.8 just fine. Then, I just upgraded (installed afresh to blank HDD) to Snow Leopard Mac OS X 10.6 and I’m having problem installing Oracle just now.

    The “runInstaller” just didn’t run because there was no Java 1.4.2 on Snow Leopard any more. So, I manually edited the “runInstaller” file to use JAVAVM 1.6 but now I got another problem right after execution like this:

    java[555] : kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
    Exception in thread “main” java.lang.InternalError: Can’t connect to window server – not enough permissions.
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1878)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1779)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1045)
    at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)
    at sun.awt.DebugHelper.(DebugHelper.java:29)
    at java.awt.Component.(Component.java:560)

    The X11 permission had already been set. Other X11 apps, like xterm, were working fine. Anyone has any idea?

    @Faizal: I think you should wait and see for a while. Checking compatibility list and such. I had problems with many software I was using on Leopard and I made my mistake upgrading it too soon. and now I’m in trouble with my Oracle.

    Thanks!

  • Chris Murphy says:

    I’ve confirmed that native Oracle installed first on Leopard then upgraded to Snow Leopard works fine, and it’s running in 64-bit.

    @Nat, I’ve added some comments to my blog post about installing fresh to Snow Leopard here; perhaps it’ll help: http://blogobaggins.com/2009/06/23/native-oracle-on-osx.html?dsq=15669653#comment-15669653

  • Alex Gorbachev says:

    @Allan: Don’t have a clue what’s the reason sorry. Couldn’t find some libs?

    @Nat: One my colleague notified my that Oracle kept working fine after upgrade to Snow Leopard but he didn’t do re-install. Make sure you really run xclock as oracle user just before running runInstaller. Not sure if that would be a problem but perhaps you could install 1.4.2 JDK?

    @Chris: Thx for update – will add to the post.

  • Gleb Otochkin says:

    Yes, I got the same problem with dbca and installer.
    It looks the SL doesn’t work with java 1.4.
    But we can use the tools in silent mode.
    I could start dbca in silent mode by changing string in dbca file
    from $JRE_DIR/bin/java -Dsun.java2d.font.DisableAlgorithmicStyles=true -DORACLE_HOME=$OH -DDISPLAY=$DISPLAY -DJDBC_PROTOCOL=thin -mx128m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
    to java -Dsun.java2d.font.DisableAlgorithmicStyles=true -d32 -DORACLE_HOME=$OH -DDISPLAY=$DISPLAY -DJDBC_PROTOCOL=thin -mx128m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS

  • Nat says:

    @Chris Murphy: Thanks for your reply but it still doesn’t work.

    All of xclock, xterm, etc. worked fine but Oracle’s runInstaller didn’t. I suspected that there may be some change in Snow Leopard X11 security or JVM or JNI calls by Oracle weren’t compatible. So, my interim solution was to log on to the Snow Leopard with oracle and run install from there directly and got pass that.

    Now, I have another problem, the GUI installation worked until the linking process (at 79%) in one of its lib32.

    Error in invoking target ‘all_no_orcl ipc_gihsodbc32′ of makefile ‘/oracle/product/10.2.0/db_1/rdbms/lib/ins_rdbms.mk’ See ‘/oracle/logs/installActions-2009-09-01_07-17-42AM.log’ for details.

    When I ignored that (which resulted in a dynamic library not created), the installation finished successfully. But I couldn’t create or start database after that using DBCA or even with command line.

    SQL>startup nomount pfile=”/oracle/admin/local/scripts/init.ora”;

    will caused.

    ORA-03113: end-of-file on communication channel appeared.

    Looking inside bdump and udump, I found:

    Errors in file /oracle/admin/local/udump/local_ora_10839.trc:
    ORA-07445: exception encountered: core dump [joxnfy_()+2763] [SIGSEGV] [Address not mapped to object] [0x27745DEB8] [] []

    Now, I am suspecting it’s the XCode/gcc/lib 64bit related error.

    Anyone has any ideas? Has anyone tried freshly installed from start to finish?

  • Nat says:

    Oh more information, for DBCA (and other Oracle java tools) to work, we also need to modify

    $ORACLE_HOME/jdk/jre/bin/java
    – change the framework from 1.4.2 to 1.5.0
    – add -d32 parameter

    @Alex Gorbachev: Thanks for the info :) Just when I was thinking, in worst case, I would install Mac 10.5 Leopard under virtual machine, then install Oracle, then zip the directory and move to Snow Leopard. Hope it doesn’t have to come to that.

    And oh yes, I tried using both 64-bit and 32-bit kernel of Snow Leopard, it didn’t make any differences. I think it has to do with Xcode/gcc/64-bit thingy.

  • Nat says:

    Here is the updates on installing Oracle on newly installed Snow Leopard. A bit cheat and tricky but at least my oracle works, dbca, netca, emca, all works.

    I did install Mac 10.5.8/XCode 3.1.3 on another (thumb) drive, and created a soft link of oracle target installation to the drive in Snow Leopard. Then, installed oracle as usual, using customized installation in my case but any of them should work fine. (of course, runInstaller, GUI thru ‘su – oracle’ via remote X11, etc.. worked right out-of-the-box). I didn’t create a database yet.

    Then, I booted with Snow Leopard, and run $ORACLE_BASE/oraInventory/orainstRoot.sh and $ORACLE_HOME/root.sh to create necessary files and fix the permission.

    Next, I modified $ORACLE_HOME/inventory/Templates/jdk/copyJDK.sh to use all Java framework 1.5.0 instead of 1.4.2. Also at line #43, change ‘java -Xbootclasspath…’ to ‘java -d32 -Xbootclasspath…’.

    Then, remove the entire $ORACLE_HOME/jdk and run the ‘copyJDK.sh `echo $ORACLE_HOME` to re-create/copy the correct java library. This will solve not only DBCA, but also NETCA, EMCA and everything else GUI using java.

    (Optional) for command line version, you will also have to modify several files in $ORACLE_HOME/oui because they don’t use the above jdk link in $ORACLE_HOME.

    After that, I have to log on to workstation using ‘oracle’ user. (Running Oracle GUI using remote X11 still doesn’t work even after I was using new jnilib/jdk from Snow Leopard). Then, I could run ‘dbca’ to create database, and ‘netca’ to create listener.

    If I have time, I might try installing from Snow Leopard and XCode 3.2 and modify the make file to have GCCVERSION set to 4. The culprit is indeed the incompatibility of object files to bind/link to the libraries that oracle use. XCode 3.2 comes with gcc 4.2.1 while XCode 3.1.3 comes with gcc 4.0.1. Also XCode version is fixed with Mac OS X version, so we can’t just install XCode 3.1.3 on Snow Leopard.

    Anyone interested to pursue on this? I would love to hear the result.

    Phewww… and it’s supposed to be a short updates.

    Nat.

  • Alex Gorbachev says:

    Thanks Nat for your detailed update!
    I’m not planning to install Snow Leo for some time (can’t afford to break my working system) but I’m sure there will be few brave ones digging into that.

    Alex

  • Nat Mongkolprasit says:

    More updates folks.

    I made a quick attempt in installing Oracle on a clean Mac OS X 10.6 snow leopard again. This time I tweaked several scripts and makefiles a little bit, including specified the compiler/linker to 4.0.1, which is same version as XCode I tried on Mac OS X 10.5.8.

    It didn’t work.

    So, a simple tweaks didn’t work out so well. So, now I’m back to previous working config.

    Nat.

  • Bas says:

    Hi…
    First of all, please be careful upgrading to Snow Leopard. The directory /Volumes/HD2 will be deleted during upgrade!!!
    I’ve completely lost my oracle installation after upgrading.

    Trying to reinstall Oracle again, this time in a different folder (/oracle) but the error message I get after running the installer is:

    Starting Oracle Universal Installer…

    No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-09-03_10-27-07AM. Please wait …BasBookPro:~ oracle$ Thu Sep 3 10:27:08 BasBookPro.local java[8792] : kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
    Exception in thread “main” java.lang.InternalError: Can’t connect to window server – not enough permissions.
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1878)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1779)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1045)
    at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)
    at sun.awt.DebugHelper.(DebugHelper.java:29)
    at java.awt.Component.(Component.java:560)

    Any ideas??

    Regards, Bas

  • Alex Gorbachev says:

    @Bas: Nat hit the same issue – no resolution was found so far unless I missed something. Nat?

  • Bas says:

    After these error messages, I logged into osx as the oracle user instead of using su – oracle.

    The installer started correct with the -J-d32 option.

    The only thing the installer hangs on, is linking to hsodbc:

    INFO: i686-apple-darwin10-gcc-4.2.1:
    INFO: /oracle/product/10.2.0/db_1/hs/lib32/hsodbc.o: No such file or directory

    INFO: make[1]:
    INFO: *** [/oracle/product/10.2.0/db_1/rdbms/lib/hsodbc] Error 1

    INFO: make: *** [ihsodbc32] Error 2

    INFO: End output from spawned process.
    INFO: ———————————-
    INFO: Exception thrown from action: make
    Exception Name: MakefileException
    Exception String: Error in invoking target ‘all_no_orcl ipc_g ihsodbc32′ of makefile ‘/oracle/product/10.2.0/db_1/rdbms/lib/ins_rdbms.mk’. See ‘/oracle/oraInventory/logs/installActions2009-09-03_04-37-07PM.log’ for details.
    Exception Severity: 1

  • Nat Mongkolprasit says:

    @Bas: :) hahaha (sorry, but you hit the exact problems as I did) Please read my problem in #112 and #116, and my solution in #118, #120.

    @Alex: As for permission error from GUI java installation on the remote X11 server, by using su/sudo, I didn’t bother to look for the root cause just yet. I took a shortcut by simply logged on to the oracle account on OS X directly. Luckily I don’t have to install Oracle on a remote an XServe. If you’re curious, I think run add parameter to run debug and diagnose the message.

  • Nat Mongkolprasit says:

    @Allan, did you manage to solve the problem? I believe you need to check the setting of DYLD_LIBRARY_PATH.

    For your information, I installed Oracle 10.2.0.4 on XCode 3.1.1, 3.1.2 and 3.1.3 all worked well. You don’t have to go back to XCode 3.0.x .

  • venu says:

    thanks a lot Alex, sorry for my late reply.

  • Tom says:

    10.2.0.4 64 bit on snow leopard.

    Had to change the java home to –>
    JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/

    as 1.4.2 gone in SL.

    However I’ve hit the
    “Can’t connect to window server – not enough permissions.”

    I’ve tried running the install in
    ./runInstaller -J-d32 -Djava.awt.headless=true

    But to no avail… also the display does not seem to work.

    export DISPLAY=localhost:0.0

    This was easier on AIX!!!

    Thanks -Tom

  • Bas says:

    Hi Nat,

    Thanks for the answer but this part:

    “I did install Mac 10.5.8/XCode 3.1.3 on another (thumb) drive, and created a soft link of oracle target installation to the drive in Snow Leopard. Then, installed oracle as usual, using customized installation in my case but any of them should work fine. (of course, runInstaller, GUI thru ’su – oracle’ via remote X11, etc.. worked right out-of-the-box). I didn’t create a database yet.”

    is a little bit fast and unknown for me :)
    You installed osx 10.5.8 (leopard) on another drive? USB drive or partition of your mac?
    Then you installed Oracle or what? How did you create soft links?

    Sorry for the questions, but I’m a bit desperate after I’ve upgraded my macbookpro to snow leopard and lost my complete Oracle directory…

    THANKS!

  • Alex Gorbachev says:

    @Bas: I used /Volumes/HD2 because I ha another partition mounted there. You wouldn’t do that otherwise as OS X managed mount points so I guess that’s the result of your loss. Sorry if that wasn’t clear.

    Also, now that are working with Oracle, you’ve got a good lessons about backups. ;-) I’m sure you already setup Time Machine now and started backing up important files on your laptop.

  • Nat Mongkolprasit says:

    @Bas: Sorry for posting in such short messages :D I was in a great haste working on my projects but wanna update you guys a bit.

    Let me remind you again, it may not not the best solution to install, but I needed to prep my system to ready and up in just a few hours.

    Ok. You can install Leopard 10.5.x in another drive, let it be thumb drive, or a USB drive or another partition is fine. In my case, I have a MBP with 1 partition, and thumb drive is nearest to my hand. You will need at least 16GB, but 20GB or more is safer. After this, we will boot and work on installation using this drive.

    After install OS, you should update the OS patch to the latest (10.5.8 in my case), then download/install XCode (mine was 3.1.3). Now, you’re ready to install oracle.

    Actually, you can install oracle to that disk as Alex’s guideline here, then backup (zip or tar or whatever) it to your Snow Leopard drive later, but I didn’t want to waste time (and I was too lazy), so I installed it to the Snow Leopard drive directly. I suggested you set to install on same directory on both machines such as /oracle.

    Here are some tips:
    – Supposed that Leopard’s volume name is /Volumes/Leopard and Snow Leopard’s is /Volumes/Snow, and you intend to install into /oracle of the Snow Leopard drive. (Oh, Volume name containing [space] don’t work, Oracle installation script will crash)

    – You will have to create actual directory on Snow Leopard
    “mkdir /Volumes/Snow/oracle”

    – Then create a soft link in Leopard
    “ln -s /Volumes/Snow/oracle /Volumes/Leopard/oracle”

    – When you boot into Leopard drive, you can check by
    “ls -la /oracle” and you should see something like:

    oracle->/Volumes/Snow/oracle

    – Now you’re ready to use Alex guideline, staring from creating user. To ease the installation, I recommend using the same UID/GID when created oracle and dba/oinstall groups in both Snow Leopard and Leopard.

    – After installation is finished, I didn’t create a new database on this temp Leopard drive just yet because I wanted to test my assumption that the installation problem occurs during compiling/linking process only, and after that everything works. Also in the future, if I want to create more databases, I can run it on Snow Leopard directly. But you can do it here in Leopard if you want.

    Hope this clarifies things a little bit more.

    Nat.

  • Ian says:

    All,

    This is interesting. I upgraded to Snow Leopard and found the oracle directory from /Volumes/HD2 moved to /Volumes. I moved the oracle directory back to /Volumes/HD2, fixed ownership and permissions, su – oracle and was able to start the database and listener.

    -Ian

  • Bas says:

    Thanks so much Nat, I’m going to try this one out.

    What exactly do you mean Ian?
    Did you have oracle installed on /Volumes/HD2 aswell?

  • Boris says:

    Thank you for your guide, Alex.
    But when I try to launch runInstaller on Snow Leopard I have following error:

    staff-1062:Disk1 oracle$ ./runInstaller -J-d32
    Starting Oracle Universal Installer…

    java[5085] : kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
    Can’t connect to window server – not enough permissions.
    localhost:0.0
    localhost:0.0

    Xclock works normal, DISPLAY has been exported, Java set to 1.5.0. Everything as described, but it doesn’t work.

  • Ian says:

    Yes, I installed oracle as per Alex’s instruction in this blog under /Volumes/HD2.

    -Ian

  • iGor says:

    always after reboot – How I should start database?

  • iGor says:

    i use MacOS 10.5 on iMac
    oracle 10g installed

  • Tomasz says:

    It seems that X11 in Leopard and Snow Leopard does not listen on port 6000. If it is the case you get:

    Error: Can’t open display: localhost:0.0

    when set DISPLAY to localhost:0.0, and when set to :0.0 it works ok.

    You can check it after stating X11 with:

    netstat -na | grep 6000
    (no lines will be returned)

    and in defaults:

    defaults read org.x.X11 | grep nolisten

    it can be changed by:

    sudo defaults write org.x.X11 nolisten_tcp 0

    and starting X11 again.

  • Tomasz says:

    My previous post was correct and useless. now running xclock is ok but runInstaller produces:

    Can’t connect to window server – not enough permissions.

    I found that adding parameter -Djava.awt.headless=true should help but it did not. Any ideas?

  • Boris says:

    @Alex: It seems, that Tomasz has the same problem as me. I was trying to start X11 from GUI with settings you recommend, Alex, but problem persists. =(

  • Alex Gorbachev says:

    @iGor: If you are asking about how to start database on reboot then see my first comment with the link. I prefer to start it manually as I’m running it just on the laptop.

    @Tomasz: I think you can also change that in GUI see my comment #96.

  • Tomasz says:

    Alex,
    You right. #96 does the same as “sudo defaults write org.x.X11 nolisten_tcp 0″. This solve the problem running x11 apps when DISPLAY set to localhost:0.0. Unfortunately this does not really solve problem with running installer.

    There is message “Can’t connect to window server – not enough permissions.”

    […]
    Arg:14:oracle.sysman.oii.oiic.OiicInstaller:
    Arg:15:-scratchPath:
    Arg:16:/tmp/OraInstall2009-09-13_01-55-47AM:
    Arg:17:-sourceLoc:
    Arg:18:/Users/oracle/install/Disk1/install/../stage/products.xml:
    Arg:19:-sourceType:
    Arg:20:network:
    Arg:21:-timestamp:
    Arg:22:2009-09-13_01-55-47AM:
    Arg:23:-jreLoc:
    Arg:24:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/:
    Arg:25:-Djava.awt.headless=true:
    ——————————————————-
    Initializing Java Virtual Machine from /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java. Please wait…
    tkazimie-pl:Disk1 oracle$ Oracle Universal Installer, Version 10.2.0.4.0 Production
    Copyright (C) 1999, 2008, Oracle. All rights reserved.

    Sun Sep 13 01:55:47 tkazimie-pl.local java[2071] : kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
    Can’t connect to window server – not enough permissions.
    localhost:0.0
    localhost:0.0
    OUI-10025:Unable to start an interactive install session because of the following error:Can’t connect to window server – not enough permissions. The DISPLAY environment variable should be set to :, where the is usually ‘0.0’.
    OUI-10026:Depending on the Unix Shell, you can use one of the following commands as examples to set the DISPLAY environment variable:
    […]

    I believe it is raised from Java. I tried both 1.5 and 1.6 version (1.4 disappered during upgrade). I found possible solution (here: http://wiki.objectstyle.org/confluence/display/WO/Web+Applications-Deployment-Common+Pitfalls+and+Troubleshooting) but it did not help.

    Does anybody managed to start runInstaller in SL?

  • ksergej says:

    @Alex Gorbochev:

    halo Alex,

    I got ORA-27101: shared memory realm does not exist

    with any different user then oracle

    with oracle user is all OK!

    have you any suggestions?

    thanks!
    Sergej

    ps:
    Macintosh-2:Disk1 oracle$ uname -a
    Darwin Macintosh-2.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386

    Macintosh-2:Disk1 oracle$ sw_vers
    ProductName: Mac OS X
    ProductVersion: 10.5.8
    BuildVersion: 9L31a

    Macintosh-2:Disk1 oracle$ gcc –version
    i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490)
    Copyright (C) 2005 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  • ksergej says:

    p.s.s:

    BIGMAC…/~ [0] tnsping orcl

    TNS Ping Utility for MacOS X Server: Version 10.2.0.4.0 – Production on 13-SEP-2009 15:57:50

    Copyright (c) 1997, 2007, Oracle. All rights reserved.

    Used parameter files:

    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = orcl)))
    OK (0 msec)
    BIGMAC…/~ [0] sqlplus sergej/sergej@orcl

    SQL*Plus: Release 10.2.0.4.0 – Production on Sun Sep 13 15:58:05 2009

    Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

    ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Mac OS X Error: 2: No such file or directory

  • Raimonds says:

    Based on comments here and on my similar previous blog entry I created new instructions how to install Oracle database 10g on Mac OS X Snow Leopard.

  • […] Alex Gorbachev also has posted his install guide, so you now have a wide variety of options. […]

  • Alex Gorbachev says:

    @Tomasz @Boris: looks like you need to login to OS X GUI as oracle user itself.

    @Raimonds: Thanks for your comment. I added the updates to the main post.

    @ksergej: It’s a bit outside of these instruction — check your listener, its log files, make sure Oracle instance is actually up and running.

  • pac says:

    Hi all,

    First of all thanks for the great Guide. I’m installeing oracle in snow leopard and following all the steps, during installation loggued in the GUI as oracle user i get the following error:

    “cannot find make in /user/bin/make” in the linking step (59% of installation).

    I’ve xcode 3. 1 installed but i don’t know where “make” is. Any ideas? Thanks a lot in advance.

  • Boris says:

    Thanks, Alex. That works. But I faced another problem. =) Now Java machine crashes in random way during installation with following error:

    Invalid memory access of location fea4538c eip=002e8ea9

  • Alex Gorbachev says:

    @pac: try “which make” or “locate make”. /usr/bin/make is where it’s supposed to be I think. Maybe you didn’t install XCode properly?

    @Boris: did you use 32 bit switch for java? Are you using Java 5 not 6?

  • amar says:

    Is it possible to install Oracle on 10.5.8 with my userid instead of oracle. Earlier, I installed with oracle user and had difficulties switching between the users.
    Thanks in advance

  • Alex Gorbachev says:

    @amar: yes possible.

  • rmm says:

    Re ‘Bad CPU type in executable’ installation error – early intel macbook core duo processors are not x86_64

  • Rory says:

    Hi Alex,
    I just installed Oracle on Snow Leopard, but when i run netca or dbca i got following:
    ** ATTENTION ***

    Please Attach Debugger : No Autorelease pool exists
    Press any key to continue…

    if i press any key above message will loop. How could i fix it?

    • Sam Tsai says:

      I’ve found a simpler solution too all of the “Please Attach Debugger…” and it’s actually from the tutorial above.

      The solution for me was this sym link that was created:
      sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0 /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2

      We found that having 1.4.2 point to 1.5.0 or even 1.6.0 for that matter relieves us of having to even install 1.4.2.

      Give it a try and let me know if it works.

      • Adam Zaninovich says:

        I am having this same problem (Please Attach Debugger…). I’m running OSX 10.6.3. I tried the symlink with no luck. I tried the fix of installing leopard’s 1.4.2 and 1.5.0. I’ve tried running with 1.4.2 default and with 1.5.0 default (set in /Applications/Utilities/Java Preferences). Is there any other way to fix this problem? It renders dbca completely useless.

  • venu says:

    Hi Alex,
    I followed all the steps and every worked fine on Mac 10.5.8. I logged in and out of the ‘oracle’ user and everything was fine, but after restarting the computer, I am getting this error when I issue ‘sqlplus’ as the ‘oracle’ user (BTW I have 512 X 2 MB RAM):

    SQL*Plus: Release 10.2.0.4.0 – Production on Tue Oct 20 21:58:00 2009

    Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

    Enter user-name: scott
    Enter password:
    ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Mac OS X Error: 2: No such file or directory

    thanks and regards venu.

  • venu says:

    Hi Alex,
    uh.. never mind what I just wrote above. I fixed it (I never actually started an instance), sorry to bother you.

    regards, venu.

  • Hi Alex,
    I have installed 10g successfully but when I go to create a database through “Database Configuration Assistant” I get a pop up error message.. “ORA-03113: end-of-file on communication channel”.

    I Send you the my configuration.
    You have a idea ?

    Regards and Thanks
    Antonio M.

    Darwin amusarra-mobile.local 10.0.0 Darwin Kernel Version 10.0.0: Fri Jul 31 22:47:34 PDT 2009; root:xnu-1456.1.25~1/RELEASE_I386 i386

    ProductName: Mac OS X
    ProductVersion: 10.6.1
    BuildVersion: 10B504

  • Lokesh says:

    Hello I tried to install Oracle 10.2 on Snow mac.
    When i tried to run installer i have received this error
    No pre-requisite checks found in oraparam.ini, no system pre-requisite checks wi
    ll be executed.
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-12-06_04
    -48-58PM. Please wait …——————————————————-
    Total args: 25
    Command line argument array elements …
    Arg:0:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/bin/java:
    Arg:1:-Doracle.installer.library_loc=/tmp/OraInstall2009-12-06_04-48-58PM/oui/li
    b/mac_osx:
    Arg:2:-Doracle.installer.oui_loc=/tmp/OraInstall2009-12-06_04-48-58PM/oui:
    Arg:3:-Doracle.installer.bootstrap=TRUE:
    Arg:4:-Doracle.installer.startup_location=/Users/oracle/db/Disk1/install:
    Arg:5:-Doracle.installer.jre_loc=/System/Library/Frameworks/JavaVM.framework/Ver
    sions/1.4.2/Home/:
    Arg:6:-Doracle.installer.extjre=true:
    Arg:7:-Doracle.installer.nlsEnabled=”TRUE”:
    Arg:8:-Doracle.installer.prereqConfigLoc=/tmp/OraInstall2009-12-06_04-48-58PM/pr
    ereq :
    Arg:9:-Doracle.installer.unixVersion=10.2.0:
    Arg:10:-d32:
    Arg:11:-mx150m:
    Arg:12:-cp:
    Arg:13:/tmp/OraInstall2009-12-06_04-48-58PM:/tmp/OraInstall2009-12-06_04-48-58PM
    /oui/jlib/OraInstaller.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/oneclic
    k.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/xmlparserv2.jar:/tmp/OraInst
    all2009-12-06_04-48-58PM/oui/jlib/srvm.jar:/tmp/OraInstall2009-12-06_04-48-58PM/
    oui/jlib/share.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/OraInstallerNet
    .jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/xml.jar:/tmp/OraInstall2009-1
    2-06_04-48-58PM/oui/jlib/orai18n-collation.jar:/tmp/OraInstall2009-12-06_04-48-5
    8PM/oui/jlib/orai18n-mapping.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/e
    mCfg.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/ojmisc.jar:/tmp/OraInstal
    l2009-12-06_04-48-58PM/oui/jlib/InstImages.jar:/tmp/OraInstall2009-12-06_04-48-5
    8PM/oui/jlib/InstHelp.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/InstHelp
    _de.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/InstHelp_es.jar:/tmp/OraIn
    stall2009-12-06_04-48-58PM/oui/jlib/InstHelp_fr.jar:/tmp/OraInstall2009-12-06_04
    -48-58PM/oui/jlib/InstHelp_it.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/
    InstHelp_ja.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/InstHelp_ko.jar:/t
    mp/OraInstall2009-12-06_04-48-58PM/oui/jlib/InstHelp_pt_BR.jar:/tmp/OraInstall20
    09-12-06_04-48-58PM/oui/jlib/InstHelp_zh_CN.jar:/tmp/OraInstall2009-12-06_04-48-
    58PM/oui/jlib/InstHelp_zh_TW.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/o
    racle_ice.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/help4.jar:/tmp/OraIn
    stall2009-12-06_04-48-58PM/oui/jlib/help4-nls.jar:/tmp/OraInstall2009-12-06_04-4
    8-58PM/oui/jlib/ewt3.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/ewt3-swin
    gaccess.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/ewt3-nls.jar:/tmp/OraI
    nstall2009-12-06_04-48-58PM/oui/jlib/swingaccess.jar:/tmp/OraInstall2009-12-06_0
    4-48-58PM/oui/jlib/classes12.jar::/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/
    OraPrereq.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/jewt4.jar:/tmp/OraIn
    all2009-12-06_04-48-58PM/oui/jlib/srvm.jar:/tmp/OraInstall2009-12-06_04-48-58PM/
    oui/jlib/share.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/OraInstallerNet
    .jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/xml.jar:/tmp/OraInstall2009-1
    2-06_04-48-58PM/oui/jlib/orai18n-collation.jar:/tmp/OraInstall2009-12-06_04-48-5
    8PM/oui/jlib/orai18n-mapping.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/e
    mCfg.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/ojmisc.jar:/tmp/OraInstal
    l2009-12-06_04-48-58PM/oui/jlib/InstImages.jar:/tmp/OraInstall2009-12-06_04-48-5
    8PM/oui/jlib/InstHelp.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/InstHelp
    _de.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/InstHelp_es.jar:/tmp/OraIn
    stall2009-12-06_04-48-58PM/oui/jlib/InstHelp_fr.jar:/tmp/OraInstall2009-12-06_04
    -48-58PM/oui/jlib/InstHelp_it.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/
    InstHelp_ja.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/InstHelp_ko.jar:/t
    mp/OraInstall2009-12-06_04-48-58PM/oui/jlib/InstHelp_pt_BR.jar:/tmp/OraInstall20
    09-12-06_04-48-58PM/oui/jlib/InstHelp_zh_CN.jar:/tmp/OraInstall2009-12-06_04-48-
    58PM/oui/jlib/InstHelp_zh_TW.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/o
    racle_ice.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/help4.jar:/tmp/OraIn
    stall2009-12-06_04-48-58PM/oui/jlib/help4-nls.jar:/tmp/OraInstall2009-12-06_04-4
    8-58PM/oui/jlib/ewt3.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/ewt3-swin
    gaccess.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/ewt3-nls.jar:/tmp/OraI
    nstall2009-12-06_04-48-58PM/oui/jlib/swingaccess.jar:/tmp/OraInstall2009-12-06_0
    4-48-58PM/oui/jlib/classes12.jar::/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/
    OraPrereq.jar:/tmp/OraInstall2009-12-06_04-48-58PM/oui/jlib/jewt4.jar:/tmp/OraIn
    stall2009-12-06_04-48-58PM/oui/jlib/jewt4-nls.jar:
    Arg:14:oracle.sysman.oii.oiic.OiicInstaller:
    Arg:15:-scratchPath:
    Arg:16:/tmp/OraInstall2009-12-06_04-48-58PM:
    Arg:17:-sourceLoc:
    Arg:18:/Users/oracle/db/Disk1/install/../stage/products.xml:
    Arg:19:-sourceType:
    Arg:20:network:
    Arg:21:-timestamp:
    Arg:22:2009-12-06_04-48-58PM:
    Arg:23:-jreLoc:
    Arg:24:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/:
    ——————————————————-
    Initializing Java Virtual Machine from /System/Library/Frameworks/JavaVM.framewo
    rk/Versions/1.4.2/Home/bin/java. Please wait…
    aniruddh-tiwaris-macbook:Disk1 oracle$ Oracle Universal Installer, Version 10.2.
    0.4.0 Production
    Copyright (C) 1999, 2008, Oracle. All rights reserved.

    Sun Dec 6 16:48:59 aniruddh-tiwaris-macbook.local java[876] : kCGErrorFa
    ilure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged
    .
    Can’t connect to window server – not enough permissions.
    localhost:0.0
    localhost:0.0
    OUI-10025:Unable to start an interactive install session because of the followin
    g error:Can’t connect to window server – not enough permissions. The DISPLAY env
    ironment variable should be set to :, where the
    is usually ‘0.0’.
    OUI-10026:Depending on the Unix Shell, you can use one of the following commands
    as examples to set the DISPLAY environment variable:
    – For csh: % setenv DISPLAY 192.168.1.128:0.0
    – For sh, ksh and bash: $ DISPLAY=192.168.1.128:0.0; export DISPLAY
    Use the following command to see what shell is being used:
    echo $SHELL
    Use the following command to view the current DISPLAY environment variable setti
    ng:
    echo $DISPLAY
    – Make sure that client users are authorized to connect to the X Server.
    OUI-10027:To enable client users to access the X Server, open an xterm, dtterm o
    r xconsole as the user that started the session and type the following command:
    % xhost +
    To test that the DISPLAY environment variable is set correctly, run a X11 based
    program that comes with the native operating system such as ‘xclock':
    %
    If you are not able to run xclock successfully, please refer to your PC-X Server
    or OS vendor for further assistance.
    Typical path for ‘xclock': ‘

    Not able to understand while my DISPLAY variable is good and i can run xclock too.
    Please sugggest

  • Alex Gorbachev says:

    @Lokesh: Please read the text and comments carefully. This problem has already been described and that’s why you will have to login as oracle user to your GUI desktop and not just on the terminal from your named user session. See section “Installing the software” — there is update for 10.6 Snow Leopard.

  • Lokesh says:

    @Alex
    Thanks a lot it worked but i stuck in another step
    my net config installed success fully but for
    Database Configuration Assistant” I get error message.. “ORA-03113: end-of-file on communication channel”.
    i make necessary changes in java file too.
    Any idea y its giving this error

  • Alex Gorbachev says:

    @Lokesh: You will need to dig into the logs for more details on when it happens (DBCA log) and and why (likely alert.log). Possibly your environment, ulimit and/or kernel settings are wrong.

  • […] ?????10.6??????????[????10.6????????????????????Alan?????????]?http://www.pythian.com/news/1937/quick-install-guide-for-oracle-10g-release-2-on-mac-os-x-leopard-in… ??: Oracle ??: MAC OS X, Oracle, Snow Leopard, ??607??? ?? (19) Trackbacks (1) ???? Trackback […]

  • Cory says:

    Thanks for the fantastic instructions. They were very helpful.
    However, I’ve encountered the same problem as Lokesh –
    Startup causes ORA-01331 end-of-file…
    Looking at the alert log shows what looks like a normal start up but going immediately into a trace file with the ORA-07445 error.
    Could you please post (or send) a complete set of system parameters so I can compare. I’ve checked the ones above and either match or exceed them. Thanks.

  • Alex Gorbachev says:

    @Cory: I still think that you environment (like ulimit) or kernel settings is the most likely (but not necessary) the cause. Analyze the alert log to see where it dumps as well as the call stack in the trace file – that might give a hint.

  • Cory says:

    I found one step at http://blog.rayapps.com/2009/09/14/how-to-install-oracle-database-10g-on-mac-os-x-snow-leopard/#comment-792
    that solved my problem. It involves replacing the main oracle executable binary that was compiled under Snow Leopard with the one which was compiled previously under Leopard. An act of faith, I know, but it worked for me. Thanks again for the time and effort you put into these directions, I am now operational.

    • Nathan says:

      @Cory – what was the file you replaced to get Oracle up and running? I’m having the same problem, and the blog website you referenced is not online.

      Thanks!

      -Nathan

  • Alex Gorbachev says:

    @Cory: Yeah, many said that simply bringing installation from 10.5 is the way to go. It does make me feel dizzy. :)

  • Jennifer says:

    Hi and great article!

    Running into issues trying to install Oracle 10g R2 on my Mac which is at 10.6.
    I did all the steps above then followed to where it says for 10.6 Mac OS you need to log in as the gui oracle user (vs su – oracle).
    Then I tried to run the installer and get:
    No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2010-01-16_01-38-18AM. Please wait …cpe-72-191-25-53:Disk1 oracle$ java.lang.UnsatisfiedLinkError: /private/tmp/OraInstall2010-01-16_01-38-18AM/oui/lib/mac_osx/liboraInstaller.dylib: no suitable image found. Did find: /private/tmp/OraInstall2010-01-16_01-38-18AM/oui/lib/mac_osx/liboraInstaller.dylib: mach-o, but wrong architecture
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1861)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1741)
    at java.lang.Runtime.load0(Runtime.java:770)
    at java.lang.System.load(System.java:1020)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:404)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:127)
    at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:203)
    at oracle.sysman.oii.oiix.OiixEnvironmentOps.getEnv(OiixEnvironmentOps.java:62)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.getHomeLoc(OiocOneClickInstaller.java:774)
    at oracle.sysman.oio.oioc.OiocOneClickDB.createSubCenterPanel(OiocOneClickDB.java:409)
    at oracle.sysman.oio.oioc.OiocOneClickDB.createPanel1(OiocOneClickDB.java:301)
    at oracle.sysman.oio.oioc.OiocOneClickDB.createCenterPanel(OiocOneClickDB.java:252)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.init(OiocOneClickInstaller.java:365)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.createFrameElements(OiocOneClickInstaller.java:326)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:1333)
    Exception in thread “main” java.lang.UnsatisfiedLinkError: no oraInstaller in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1792)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1045

  • Alex Gorbachev says:

    @Jennifer: It seems similar to the issue other faced – see in the comments above and links to blogs from Chris Murphy. I tried to integrate the instructions here as well but could have missed something or you missed to follow them.

  • pityu says:

    snow leopard – problem by DBCA,
    reached the dead-end by creating the instance with error

    *** 2010-01-30 11:50:01.025
    ksedmp: internal or fatal error
    ORA-07445: exception encountered: core dump [joxnfy_()+2763] [SIGSEGV] [Address not mapped to object] [0x277B8AEB8] [] []

    dbca started with java -d32

    infos:
    $ sw_vers
    ProductName: Mac OS X
    ProductVersion: 10.6.2
    BuildVersion: 10C540

    X-CODE
    Version: 3.2 (10M2003)
    Location: /Developer
    Applications:
    Xcode: 3.2.1 (1613)
    Interface Builder: 3.2.1 (740)
    Instruments: 2.0.1 (1096)
    Dashcode: 3.0 (328)
    SDKs:
    Mac OS X:
    10.5: (9J61)
    10.6: (10M2003)

    gcc:
    i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646) (dot 1)

    library:
    export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib

    does somebody has some good ideas/tips?

  • Nicolas says:

    Concerning the dylib issue generating a java.lang.UnsatisfiedLinkError, it seems Java 1.4.2 must be installed on snow leopard, which is not the case by default.
    Following this tutorial:
    http://tedwise.com/2009/09/25/using-java-1-5-and-java-1-4-on-snow-leopard/
    and leaving the java_home pointing to 1.4.2 java folder in runInstaller script, the installer launches fine and Oracle setup can be performed.

  • Reggie says:

    Thanks for all your help Alex!
    I got it working with Leopard very quickly thanks to you.
    I do this all the time at my real job on Unix/Linux platforms but always wanted to get 10g on my new fast iMac here at home.

  • @Nicolas: Thx. Updated the instructions with your alternative.

    @Reggie: Glad it worked for you!

  • Saff says:

    So I’ve followed all the above steps…however, I’m hitting the following road-block. After successfully starting the OUI, Immediately proceeding the step of setting up the SYS, SYSTEM, SYSMAN and DBSNMP I get the following error dialog: “OUI-10150:Error Invalid OSOPER name in component Oracle Database 10g 10.2.0.4.0 . Installation cannot continue for this component.”

    Can anyone please advise??
    Thanks for the support!!

  • Paul says:

    Hi Alex,
    I think you’ve done a great job here. I’ve read through the whole article and comments and didn’t see any more detail on my issue.
    I can’t get the following 2 commands to work at all in my Terminal:
    sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsers
    For this one I get the following msg:
    2010-05-06 18:58:30.063 defaults[331:e07]
    Rep argument is not a dictionary
    Defaults have not been changed.

    And also for :
    List -array-add oracle
    I get:
    -bash: List: command not found

    Not sure why I’m getting these errors and any insight you have into this would be appreciated. I’m not sure of the purpose of these 2 commands and whether they are needed.
    I have a MBP running OSX 10.6.3

    Thanks,

    • @Paul:
      “sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add oracle” is one command and one line

      You copy and paste must have split the line. In any case, it’s just to hide oracle user from your login window users list. It’s not critical.

  • Paul says:

    Thanks Alex.
    Actually I realized my mistake last night about 30 minutes after my post from some further research. I’m a bit of a newbie to mac and I guess it shows. After running through your guide thoroughly, more than once, the only recommendation I have is that the X11 server must be restarted if running once changing the Preferences.

    I was then able to progress all the way through most of the steps with a few further missteps. The linking goes well and the OUI works for the Oracle Net Configuration Assistant, but fails repeatedly on the dbca (DB config assistant). I get the error:
    ORA-03113: end-of-file communication channel.

    This happens very early in the install process for dbca. I’m not sure how to get around this one. Do you have any further insight into this issue or how to get around it?

    Thanks for your help and putting together this awesome guide.

  • Hank Brandenburg says:

    Anybody have ideas on the error I am getting:

    Hank-Brandenburgs-iMac:~ oracle$ /Users/Oracle/db/Disk1/runInstaller -J -d32
    Starting Oracle Universal Installer…

    No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2010-05-16_07-46-16PM. Please wait …——————————————————-
    Total args: 26
    Command line argument array elements …
    Arg:0:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/bin/java:
    Arg:1:-Doracle.installer.library_loc=/tmp/OraInstall2010-05-16_07-46-16PM/oui/lib/mac_osx:
    Arg:2:-Doracle.installer.oui_loc=/tmp/OraInstall2010-05-16_07-46-16PM/oui:
    Arg:3:-Doracle.installer.bootstrap=TRUE:
    Arg:4:-Doracle.installer.startup_location=/Users/oracle/db/Disk1/install:
    Arg:5:-Doracle.installer.jre_loc=/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/:
    Arg:6:-Doracle.installer.extjre=true:
    Arg:7:-Doracle.installer.nlsEnabled=”TRUE”:
    Arg:8:-Doracle.installer.prereqConfigLoc=/tmp/OraInstall2010-05-16_07-46-16PM/prereq :
    Arg:9:-Doracle.installer.unixVersion=10.3.0:
    Arg:10::
    Arg:11:-mx150m:
    Arg:12:-cp:
    Arg:13:/tmp/OraInstall2010-05-16_07-46-16PM:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/OraInstaller.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/oneclick.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/xmlparserv2.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/srvm.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/share.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/OraInstallerNet.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/xml.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/orai18n-collation.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/orai18n-mapping.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/emCfg.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/ojmisc.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/InstImages.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/InstHelp.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/InstHelp_de.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/InstHelp_es.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/InstHelp_fr.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/InstHelp_it.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/InstHelp_ja.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/InstHelp_ko.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/InstHelp_pt_BR.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/InstHelp_zh_CN.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/InstHelp_zh_TW.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/oracle_ice.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/help4.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/help4-nls.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/ewt3.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/ewt3-swingaccess.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/ewt3-nls.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/swingaccess.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/classes12.jar::/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/OraPrereq.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/jewt4.jar:/tmp/OraInstall2010-05-16_07-46-16PM/oui/jlib/jewt4-nls.jar:
    Arg:14:oracle.sysman.oii.oiic.OiicInstaller:
    Arg:15:-scratchPath:
    Arg:16:/tmp/OraInstall2010-05-16_07-46-16PM:
    Arg:17:-sourceLoc:
    Arg:18:/Users/oracle/db/Disk1/install/../stage/products.xml:
    Arg:19:-sourceType:
    Arg:20:network:
    Arg:21:-timestamp:
    Arg:22:2010-05-16_07-46-16PM:
    Arg:23:-jreLoc:
    Arg:24:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/:
    Arg:25:-d32:
    ——————————————————-
    Initializing Java Virtual Machine from /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/bin/java. Please wait…
    Hank-Brandenburgs-iMac:~ oracle$ Exception in thread “main” java.lang.NoClassDefFoundError:
    Caused by: java.lang.ClassNotFoundException:
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)

    • @Hank: What’s your OS X version? 10.6? If so, what have you done about Java there?

      • Hank Brandenburg says:

        Hello Alex,

        Yes I am running OS X 10.6.4. I tried editing the runInstaller to reference Java 1.5.0 and am getting:

        No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
        Preparing to launch Oracle Universal Installer from /tmp/OraInstall2010-06-26_07-33-42AM. Please wait …Hank-Brandenburgs-iMac:~ oracle$ java.lang.UnsatisfiedLinkError: /private/tmp/OraInstall2010-06-26_07-33-42AM/oui/lib/mac_osx/liboraInstaller.dylib: no suitable image found. Did find: /private/tmp/OraInstall2010-06-26_07-33-42AM/oui/lib/mac_osx/liboraInstaller.dylib: mach-o, but wrong architecture
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1823)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1699)
        at java.lang.Runtime.load0(Runtime.java:770)
        at java.lang.System.load(System.java:1020)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:404)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:127)
        at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:203)
        at oracle.sysman.oii.oiix.OiixEnvironmentOps.getEnv(OiixEnvironmentOps.java:62)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.getHomeLoc(OiocOneClickInstaller.java:774)
        at oracle.sysman.oio.oioc.OiocOneClickDB.createSubCenterPanel(OiocOneClickDB.java:409)
        at oracle.sysman.oio.oioc.OiocOneClickDB.createPanel1(OiocOneClickDB.java:301)
        at oracle.sysman.oio.oioc.OiocOneClickDB.createCenterPanel(OiocOneClickDB.java:252)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.init(OiocOneClickInstaller.java:365)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.createFrameElements(OiocOneClickInstaller.java:326)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:1333)
        Exception in thread “main” java.lang.UnsatisfiedLinkError: no oraInstaller in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1754)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1045)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:422)
        at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:127)
        at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:203)
        at oracle.sysman.oii.oiix.OiixEnvironmentOps.getEnv(OiixEnvironmentOps.java:62)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.getHomeLoc(OiocOneClickInstaller.java:774)
        at oracle.sysman.oio.oioc.OiocOneClickDB.createSubCenterPanel(OiocOneClickDB.java:409)
        at oracle.sysman.oio.oioc.OiocOneClickDB.createPanel1(OiocOneClickDB.java:301)
        at oracle.sysman.oio.oioc.OiocOneClickDB.createCenterPanel(OiocOneClickDB.java:252)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.init(OiocOneClickInstaller.java:365)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.createFrameElements(OiocOneClickInstaller.java:326)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:1333)

      • Hank Brandenburg says:

        Update: I have the installation package running now – was missing the -d32 command line option.

        Now I am failing at the link phase: can not find make utilty at /usr/bin/make. I have Xcode installed and it works fine.

        Any idea where this utility is or how to get around this install problem?

  • […] Witam! Instaluj? Oracle wed?ug tej instrukcji: Quick Install Guide for Oracle 10g Release 2 on Mac OS X Leopard & Snow Leopard (Intel) | The Py… Mam problem – w rozdziale "Installing the software" po wykonaniu komend wyst?puj? […]

  • Rob says:

    I note from your instructions that you have installed oracle on HD2 and not the main hard drive. Did you try the automatic startup script with your configuration, as when I have tried it it fails as the other drives (HD1,HD2) are not mounted at the time it runs. So cannot find the files.

  • Lorenzo says:

    Hey Mike, thanks man for the -J-d32 thing! Saved me! :-D

  • Matheen says:

    Hey Mike,

    When I try to see the status of my listener, I am getting the following message

    oracle$ lsnrctl status

    LSNRCTL for MacOS X Server: Version 10.2.0.4.0 – Production on 01-JUN-2010 22:57:38

    Copyright (c) 1991, 2007, Oracle. All rights reserved.

    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    STATUS of the LISTENER
    ————————
    Alias LISTENER
    Version TNSLSNR for MacOS X Server: Version 10.2.0.4.0 – Production
    Start Date 01-JUN-2010 22:42:53
    Uptime 0 days 0 hr. 14 min. 45 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
    Listening Endpoints Summary…
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=matheen-syeds-macbook-pro.local)(PORT=1521)))
    The listener supports no services
    The command completed successfully

    I am new to Mac and successfully installed Oracle but don;t hav a luck in starting my instance and using it. Any help in this regard is greatly appreciated.

    2, I am not able to set the
    ulimit -Hn 65536
    ulimit -Sn 65536

    in bash_profile. When I do that I am getting a error saying
    -bash: ulimit: open files: cannot modify limit: Operation not permitted
    -bash: ulimit: open files: cannot modify limit: Invalid argument

    • Matheen says:

      I was able to add those parameters but I was getting the following error when installing it and I am not able to create a new DB

      Process: java [5577]
      Path: /usr/bin/java
      Identifier: com.apple.javajdk16.cmd
      Version: 1.0 (1.0)
      Code Type: X86-64 (Native)
      Parent Process: sh [5576]

      PlugIn Path: /u01/app/oracle/product/10.2.0/db_1/lib/libclntsh.dylib.10.1
      PlugIn Identifier: libclntsh.dylib.10.1
      PlugIn Version: ??? (???)

      Date/Time: 2010-06-02 16:30:48.008 -0500
      OS Version: Mac OS X 10.6.3 (10D2094)
      Report Version: 6

      Interval Since Last Report: 25118 sec
      Crashes Since Last Report: 10
      Per-App Interval Since Last Report: 1475 sec
      Per-App Crashes Since Last Report: 10
      Anonymous UUID: E5277A5C-5021-45DD-81CC-D0925E10FA5E

      Exception Type: EXC_BAD_ACCESS (SIGBUS)
      Exception Codes: KERN_PROTECTION_FAILURE at 0x00000001007dd004
      Crashed Thread: 1

      Application Specific Information:

      Java information:
      Exception type: Bus Error (0xa) at pc=7fff817b1b91

      Java VM: Java HotSpot(TM) 64-Bit Server VM (16.3-b01-279 mixed mode macosx-amd64)

      Current thread (103001000): JavaThread “main” [_thread_in_native, id=5246976, stack(100401000,100501000)]
      Stack: [100401000,100501000]
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j oracle.ldap.util.discovery.DiscoveryHelper.ldapDiscover(ILjava/util/Hashtable;Ljava/util/HashMap;)I+0
      j oracle.ldap.util.discovery.DiscoveryHelper.discover(Ljava/util/HashMap;)I+9
      j oracle.net.config.Config.discoverLdapConfig()V+42
      j oracle.net.config.Config.(Ljava/lang/String;I[Ljava/lang/String;)V+55
      j oracle.net.ca.ConfigureLDAP.initConfig(Loracle/net/ca/CmdlineArgs;[Ljava/lang/String;)V+62
      j oracle.net.ca.InitialSetup.setupConfigObjects()V+78
      j oracle.net.ca.InitialSetup.([Ljava/lang/String;)V+874
      j oracle.net.ca.NetCA.main([Ljava/lang/String;)V+366
      v ~StubRoutines::call_stub

      Java Threads: ( => current thread )
      1018f8800 JavaThread “AWT-Shutdown” [_thread_blocked, id=646975488, stack(126801000,126901000)]
      10181d000 JavaThread “AWT-AppKit” daemon [_thread_in_native, id=1890601952, stack(7fff5f400000,7fff5fc00000)]
      1030a8800 JavaThread “Low Memory Detector” daemon [_thread_blocked, id=353374208, stack(115001000,115101000)]
      114800000 JavaThread “CompilerThread1″ daemon [_thread_blocked, id=342888448, stack(114601000,114701000)]
      1030a7800 JavaThread “CompilerThread0″ daemon [_thread_blocked, id=336596992, stack(114001000,114101000)]
      1030a7000 JavaThread “Signal Dispatcher” daemon [_thread_blocked, id=326123520, stack(113604000,113704000)]
      1030a6000 JavaThread “Surrogate Locker Thread (CMS)” daemon [_thread_blocked, id=325062656, stack(113501000,113601000)]
      101818000 JavaThread “Finalizer” daemon [_thread_blocked, id=320917504, stack(11310d000,11320d000)]
      101817000 JavaThread “Reference Handler” daemon [_thread_blocked, id=319856640, stack(11300a000,11310a000)]
      =>103001000 JavaThread “main” [_thread_in_native, id=5246976, stack(100401000,100501000)]
      Other Threads:
      101814800 VMThread [stack: 112f07000,113007000] [id=318795776]
      1030aa000 WatcherThread [stack: 115104000,115204000] [id=354435072]

      VM state:not at safepoint (normal execution)
      VM Mutex/Monitor currently owned by a thread: None

      Heap
      par new generation total 19136K, used 7679K [106810000, 107cd0000, 107cd0000)
      eden space 17024K, 45% used [106810000, 106f8fc78, 1078b0000)
      from space 2112K, 0% used [1078b0000, 1078b0000, 107ac0000)
      to space 2112K, 0% used [107ac0000, 107ac0000, 107cd0000)
      concurrent mark-sweep generation total 44224K, used 0K [107cd0000, 10a800000, 10a810000)
      concurrent-mark-sweep perm gen total 21248K, used 8900K [10a810000, 10bcd0000, 10fc10000)

      Virtual Machine Arguments:
      JVM Args: -Xbootclasspath/a:/u01/app/oracle/product/10.2.0/db_1/jdk/jre/lib/ext:/u01/app/oracle/product/10.2.0/db_1/jdk/lib/ext -Xmx64m -Djava.net.preferIPv4Stack=true -Dsun.java2d.font.DisableAlgorithmicStyles=true
      Java Command: oracle.net.ca.NetCA /orahome /u01/app/oracle/product/10.2.0/db_1 /orahnam OraDb10g_home1 /instype typical /inscomp client,oraclenet,javavm,server,ano /insprtcl tcp /cfg local /authadp NO_VALUE /nodeinfo NO_VALUE /responseFile /u01/app/oracle/product/10.2.0/db_1/network/install/netca_typ.rsp
      Launcher Type: SUN_STANDARD
      Physical Memory: Page Size = 4k, Total = 3968M, Free = 1683M

  • Mahathey Pavan says:

    Sir,

    I found that shmmni to be 32 even after assigning it 4096 in sysctl.conf (and rebooting after that).I checked it many times but shmmni remained the same.

    Can you please guide me to a solution.I am on the new iMac 27 inch and I think I am in 32 bit mode.

    Thanks in advance

    • @Mahathey: Double and triple-check what you’ve done wrong. Typos and etc. It works fine for me and everyone I know on 10.5 and 10.6. 32 bit or 64 bit shouldn’t matter.

  • Mahathey says:

    @Alex: I was able to get around the above mentioned problem.Also, I was following http://blog.rayapps.com/2009/09/14/how-to-install-oracle-database-10g-on-mac-os-x-snow-leopard/ for the installation.Everything was ok till the point of Network Configuration, when i try for netca it gives the following:

    Oracle Net Services Configuration:
    Invalid memory access of location 0x1005ec004 rip=0x7fff86c6cb95

    /Users/oracle/oracle/product/10.2.0/db_1/jdk/jre/bin/java: line 2: 20579 Bus error /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/bin/java -Xbootclasspath/a:/Users/oracle/oracle/product/10.2.0/db_1/jdk/jre/lib/ext:/Users/oracle/oracle/product/10.2.0/db_1/jdk/lib/ext $*

    Can you please tell me about the mistake I did… Will be really grateful

    • Haven’t seen this problem before so couldn’t comment reliably on your issue. Maybe java processes need more memory allocation. In any case, network configuration can be skipped and you can use “netca” to configure listener after the installation.

    • Andrea says:

      Hi,

      to fix the “Bus error” I changed the last row on NETCA and DBCA in that way:

      replace on NETCA -mx64m with -d32
      replace on DBCA -mx64m with -d32

      and now it’s working fine.

      • Ludwig Guevara says:

        Hi
        Please could you be more specific, I’m really new with mac and oracle what do you mean with:

        “replace on NETCA -mx64m with -d32″
        “replace on DBCA -mx64m with -d32″

        thanks.

  • Mahathey says:

    Aaa.. even dbca shows a similar error… Actually I am a student trying to learn oracle… Any help please…

  • pogacsa says:

    i have went through almost the whole process. But cannot fix the listener to be an XE like oracle.
    So my question is, while oracle stupid java installer is running: how can I execute sql statemments like this:
    SQL> show parameter listener.

    tried with good old sqlplus, but cannot login as system or sysdba, even I am not sure oracle itself running, the only sure part is install steps before all made. Tried to create a db called XE on 1521 on localhost with interface which is unable to connect oracle rdbms. Oracle listener srarted as it in the documentation.

    thanks any help ;)

    amazing to have this document. Anyway I would not have any chance to get my java+sql dev environment up and running on an iMac.

    One thing for this how-to-doc: it would be easier for dummies like me to keep following commandlines, with exact unix commands and with logged in (or su) user info, and path info. I would use just this:
    #user@host:~>
    what do you think?

    Oracle should link this page as the install guide to their wiki.

  • pogacsa says:

    dear Gurus,

    please advice me how to run SQL statements step-by-step. (as in section “Completing network configuration”). Simply I am unable to get a SQL> prompt.

    thx

    • @pogacsa:
      You complete network config at the very end when you done installing everything – not in parallel with the installer. You would need to login as oracle Unix user, set your SID (export ORACLE_SID=XE for you), and start sqlplus as “sqlplus / as sysdba”.
      Feel free to suggest Oracle add the link. And you can actually modify the wiki yourself if you’d like – http://wiki.oracle.com/

      • pogacsa says:

        thanks. SID, sqlplus working, but oracle is not running (I guess only). How can I launch it, and check it?
        my terminal output:
        imac:lib oracle$ export ORACLE_SID=XE
        imac:lib oracle$ sqlplus / as sysdba
        SQL*Plus: Release 10.2.0.4.0 – Production on Wed Jul 7 10:54:19 2010
        Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
        Connected to an idle instance.
        SQL> show parameter listener
        ORA-01034: ORACLE not available

        • pogacsa says:

          more details: java installer completed “Oracle Net Configuration Assistant: success”, and unable to complete “Oracle Database Configuration Assistant”. It fails at approx 2%, with error message: “ORA-03113: end-of-file on communication channel”. During install process selected “General Purpose”, db name “XE”, password set the same as oracle users, all other values left on default ones.

          many thanks

          • You database is not created. You can do it manually after the installation using dbca utility (or even manually but that’s beyond basic skills).

            Seek above fir ORA-03113 cases. You will need to troubleshoot your issue in the logs.

  • JulesLt says:

    Thanks for all the hints here – it’s a shame Oracle haven’t been a little more timely in fixing their installer to support 10.6 – it’s not as if it is ‘new’ any more.

    Installing and getting XE running as a Linux VM took me about 15 minutes, but I’d always preferred the idea of wholly native.

  • Châu H?ng L?nh says:

    I don’t know if this will help.
    I followed this instruction and was able to install on Leopard.

    When I change a new MacBookPro with Snow Leopard, follow the exact instruction (including the Snow Leopard specific in this article), but it comes only to the point “ORA-03113: end-of-file on communication channel” when I run dbca.

    Then I just copy everything in the ‘oracle’ directory from the Leopard machine, and it works fine on my Snow Leopard machine now.

  • Manu says:

    Hi,
    I am at the step where I want to run the installer, I have gone ahead and installed JDK 1.4.2 on my Mac SL and changed the preferences so that 1.4.2 is on the top, but I still keep seeing the error below. Can you please help resolve this?

    Cheers,
    Manu

    MK:Disk1 oracle$ ./runInstaller
    Starting Oracle Universal Installer…

    No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2010-08-08_01-00-04PM. Please wait …Manu:Disk1 oracle$ java.lang.UnsatisfiedLinkError: /private/tmp/OraInstall2010-08-08_01-00-04PM/oui/lib/mac_osx/liboraInstaller.dylib: no suitable image found. Did find: /private/tmp/OraInstall2010-08-08_01-00-04PM/oui/lib/mac_osx/liboraInstaller.dylib: mach-o, but wrong architecture
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1861)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1741)
    at java.lang.Runtime.load0(Runtime.java:770)
    at java.lang.System.load(System.java:1020)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:404)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:127)
    at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:203)
    at oracle.sysman.oii.oiix.OiixEnvironmentOps.getEnv(OiixEnvironmentOps.java:62)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.getHomeLoc(OiocOneClickInstaller.java:774)
    at oracle.sysman.oio.oioc.OiocOneClickDB.createSubCenterPanel(OiocOneClickDB.java:409)
    at oracle.sysman.oio.oioc.OiocOneClickDB.createPanel1(OiocOneClickDB.java:301)
    at oracle.sysman.oio.oioc.OiocOneClickDB.createCenterPanel(OiocOneClickDB.java:252)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.init(OiocOneClickInstaller.java:365)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.createFrameElements(OiocOneClickInstaller.java:326)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:1333)
    Exception in thread “main” java.lang.UnsatisfiedLinkError: no oraInstaller in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1792)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1045)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:422)
    at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.(OiipuUnixOps.java:127)
    at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:203)
    at oracle.sysman.oii.oiix.OiixEnvironmentOps.getEnv(OiixEnvironmentOps.java:62)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.getHomeLoc(OiocOneClickInstaller.java:774)
    at oracle.sysman.oio.oioc.OiocOneClickDB.createSubCenterPanel(OiocOneClickDB.java:409)
    at oracle.sysman.oio.oioc.OiocOneClickDB.createPanel1(OiocOneClickDB.java:301)
    at oracle.sysman.oio.oioc.OiocOneClickDB.createCenterPanel(OiocOneClickDB.java:252)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.init(OiocOneClickInstaller.java:365)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.createFrameElements(OiocOneClickInstaller.java:326)
    at oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:1333)

  • Manu says:

    Ok I got past that error by supplying the installer with -d 32 argument. But then during the install got this error then

    INFO: Command = /Users/oracle/product/10.2.0/db_1/bin/netca /orahome /Users/oracle/product/10.2.0/db_1 /orahnam OraDb10g_home1 /instype typical /inscomp client,oraclenet,javavm,server,ano /insprtcl tcp /cfg local /authadp NO_VALUE /nodeinfo NO_VALUE /responseFile /Users/oracle/product/10.2.0/db_1/network/install/netca_typ.rsp

    UnsatisfiedLinkError exception loading native library: njni10

    Command = /Users/oracle/product/10.2.0/db_1/bin/netca has failed
    Execution Error :

    java.lang.UnsatisfiedLinkError: oracle.net.common.NetGetEnv.jniGetOracleHome()Ljava/lang/String;
    at oracle.net.common.NetGetEnv.jniGetOracleHome(Native Method)
    at oracle.net.common.NetGetEnv.getOracleHome(Unknown Source)
    at oracle.net.ca.NetCA.main(Unknown Source)
    Oracle Net Services configuration failed. The exit code is -1

    INFO: Configuration assistant “Oracle Net Configuration Assistant” failed
    —————————————————————————–
    *** Starting OUICA ***

    My Env looks like:
    Manu:~ oracle$ env
    TERM_PROGRAM=Apple_Terminal
    TERM=xterm-color
    SHELL=/bin/bash
    TMPDIR=/var/folders/KG/KG5m+qimF7qCNP5UTq1jXE+++ZU/-Tmp-/
    Apple_PubSub_Socket_Render=/tmp/launch-fEseTR/Render
    TERM_PROGRAM_VERSION=273
    USER=oracle
    ORACLE_SID=mac10g
    COMMAND_MODE=unix2003
    ORACLE_BASE=/Users/oracle
    SSH_AUTH_SOCK=/tmp/launch-2hY7jx/Listeners
    __CF_USER_TEXT_ENCODING=0x258:0:0
    PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/manukaul/Downloads/astyle/build/mac/bin:/usr/local/git/bin:/usr/texbin:/usr/X11/bin://Users/oracle/product/10.2.0/db_1/bin
    PWD=/Users/oracle
    LANG=en_GB.UTF-8
    SHLVL=1
    HOME=/Users/oracle
    DYLD_LIBRARY_PATH=/Users/oracle/product/10.2.0/db_1/lib
    LOGNAME=oracle
    DISPLAY=/tmp/launch-YKStQW/org.x:0
    ORACLE_HOME=/Users/oracle/product/10.2.0/db_1
    _=/usr/bin/env

  • Bruce says:

    Great tutorial! Thanks – took me about an hour and all done :-)

  • Bruce says:

    Ach, spoke too soon – I also get the error:

    UnsatisfiedLinkError exception loading native library: njni10

    just like the poster above..

    • Paolo says:

      Edit the $ORACLE_HOME/jdk/bin/java file in order to add the option -d32

      This is necessary to force netca and dbca utilities to run in 32-bit mode

  • […] MacOS bracht uitkomst. (Het kostte wel wat moeite, maar er staan goede handleidingen op een aantal blogs, die zelfs via OTN te vinden zijn.) Nu is er zonder de Windows VM meer dan 3GB vrij op MacOS, en nu […]

  • Oracle 10g on Snow Leopard? Drija says:

    […] have found a couple of pages on how to get this configured on Leopard (link and link), and then apparently an upgrade to Snow Leopard does not seem to complicate matters much. However, […]

  • Vinod says:

    Hi Alex

    Thanks a lot for this information. The installation worked like a charm following your steps.

    -Vinod

  • sang-suan says:

    Hi Alex,

    thanks for writing this up, i was able to oracle
    installed.

    however, at the network config part, i encountered the
    following error:

    > [oracle]$ sqlplus / as sysdba
    >
    > SQL*Plus: Release 10.2.0.4.0 – Production on Fri Jan 7 12:11:11 2011
    >
    > Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
    >
    >
    > Connected to:
    > Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – Production
    > With the Partitioning, Oracle Label Security, OLAP, Data Mining Scoring Engine
    > and Real Application Testing options
    >
    > SQL> show parameters listener
    >
    > NAME TYPE VALUE
    > ———————————— ———– ——————————
    > local_listener string
    > remote_listener string
    > SQL>
    >
    > SQL> alter system set local_listener=’localhost';
    > alter system set local_listener=’localhost’
    > *
    > ERROR at line 1:
    > ORA-02097: parameter cannot be modified because specified value is invalid
    > ORA-00119: invalid specification for system parameter LOCAL_LISTENER
    > ORA-00132: syntax error or unresolved network name ‘localhost’
    >
    >
    > SQL>

    My listener.ora and output from running “lsnrctl start” is
    as follows:

    > [oracle]$ cat listener.ora
    > # listener.ora Network Configuration File: /Users/oracle/product/10.2.0/db_1/network/admin/listener.ora
    > # Generated by Oracle configuration tools.
    >
    > SID_LIST_LISTENER =
    > (SID_LIST =
    > (SID_DESC =
    > (SID_NAME = PLSExtProc)
    > (ORACLE_HOME = /Users/oracle/product/10.2.0/db_1)
    > (PROGRAM = extproc)
    > )
    > )
    >
    > LISTENER =
    > (DESCRIPTION_LIST =
    > (DESCRIPTION =
    > (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    > (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    > )
    > )
    >
    > [oracle]$ lsnrctl start
    >
    > LSNRCTL for MacOS X Server: Version 10.2.0.4.0 – Production on 07-JAN-2011 12:18:55
    >
    > Copyright (c) 1991, 2007, Oracle. All rights reserved.
    >
    > Starting /Users/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait…
    >
    > TNSLSNR for MacOS X Server: Version 10.2.0.4.0 – Production
    > System parameter file is /Users/oracle/product/10.2.0/db_1/network/admin/listener.ora
    > Log messages written to /Users/oracle/product/10.2.0/db_1/network/log/listener.log
    > Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
    > Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
    >
    > Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
    > STATUS of the LISTENER
    > ————————
    > Alias LISTENER
    > Version TNSLSNR for MacOS X Server: Version 10.2.0.4.0 – Production
    > Start Date 07-JAN-2011 12:18:55
    > Uptime 0 days 0 hr. 0 min. 0 sec
    > Trace Level off
    > Security ON: Local OS Authentication
    > SNMP OFF
    > Listener Parameter File /Users/oracle/product/10.2.0/db_1/network/admin/listener.ora
    > Listener Log File /Users/oracle/product/10.2.0/db_1/network/log/listener.log
    > Listening Endpoints Summary…
    > (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
    > (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
    > Services Summary…
    > Service “PLSExtProc” has 1 instance(s).
    > Instance “PLSExtProc”, status UNKNOWN, has 1 handler(s) for this service…
    > The command completed successfully
    > [oracle]$
    >

    it appears that the listener is already set to localhost ?

    thanks again,
    sam

  • sang-suan says:

    And another question …

    during the install process, the installer mentioned that the oracle enterprise manager is not installed, is that a different package ?

  • Dito says:

    hi Alex,
    i want to deinstall but i cant run /oui/bin/runInstaller
    how to run it?
    thx

  • Peter Steinheuser says:

    Is there a way to run Enterprise Manager DB Console on Mac w/ Snow Leopard? I have followed the above instructions and have Oracle 10g working and Application Express working. When I try to run emca -config dbcontrol db -repos create it fails –

    INFO: Repository successfully created
    Mar 27, 2011 2:29:04 PM oracle.sysman.emcp.EMReposConfig createOutOfBoxJobs
    WARNING: Error initializing SQL connection. SQL operations cannot be performed
    Mar 27, 2011 2:29:04 PM oracle.sysman.emcp.EMReposConfig invoke
    SEVERE: Failed to unlock all EM-related accounts
    Mar 27, 2011 2:29:04 PM oracle.sysman.emcp.EMConfig perform

    I notice the sysman schema is never created, which emca should do. The database is up and running and I can connect as sys and dbsnmp

  • “I use 4200 as GUI and UID so checking if they are available”

    Maybe GID instead of GUI?

  • swapna says:

    I got this error while vi /etc/sysctl.conf ..

    E325: ATTENTION
    Found a swap file by the name “/var/tmp/sysctl.conf.swp”
    dated: Thu Jun 30 00:58:15 2011
    [cannot be opened]
    While opening file “/etc/sysctl.conf”

    (1) Another program may be editing the same file.
    If this is the case, be careful not to end up with two
    different instances of the same file when making changes.
    Quit, or continue with caution.

    (2) An edit session for this file crashed.
    If this is the case, use “:recover” or “vim -r /etc/sysctl.conf”
    to recover the changes (see “:help recovery”).
    If you did this already, delete the swap file “/var/tmp/sysctl.conf.swp”
    to avoid this message.

    Swap file “/var/tmp/sysctl.conf.swp” already exists!
    [O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

    I understand that I did not close/quit properly. So how can i delete this .swp file ?? Any help..

  • swapna says:

    I am thru with my earlier error and everything went fine with the installation and Worked fine at the end of installation before rebooting.

    After rebooting When trying to use sqlplus, I get the following:

    sqlplus system@orcl

    SQL*Plus: Release 10.2.0.4.0 – Production on Wed Sep 8 12:12:12 2010

    Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

    Enter password:
    ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Mac OS X Error: 2: No such file or directory

    Also I tried somebody’s suggestion about changin N to Y in /etc/oratab [which i missed to do earlier] but still the same issue.

    Could anybody help me out.

    Thanks ..

    • You initial problem was vi. I assumed you Googled it. You last problem is that the database instance doesn’t start automatically in OSX even if you update /etc/oratab. In my first comment I have a link to another post that includes auto-start configuration or just start it manually – see questions from RSG_Shyam above.

  • Matt says:

    Any Thoughts on doing a guide for OSX Lion? With the new release of OSX I have been hearing that some changes made to the OS have cause oracle 10g to break. Are there any plans for a OSX 10.7 guide for oracle 10g

  • […] have found a couple of pages on how to get this configured on Leopard (link and link), and then apparently an upgrade to Snow Leopard does not seem to complicate matters much. However, […]

  • Oracle Client and SqlDeveloper on Mac « Siebel CRM says:

    […] Client and SqlDeveloper on Mac Toad Alternative: Oracle client intallation: http://www.pythian.com/news/1937/quick-install-guide-for-oracle-10g-release-2-on-mac-os-x-leopard-in… For SQL Developer, search google SQLDeveloper and go to Oracle page Tweet Share […]

  • sam says:

    i’am tryign to install oracle 10g on snow leopard (mac os x 10.6).
    i have installed the software, but when i run ./dbca i get the following:
    ./dbca -J-d32
    Invalid memory access of location 0x102100004 rip=0x7fff80fd6b7d

    ./dbca: line 176: 6087 Bus error $JRE_DIR/bin/java -Dsun.java2d.font.DisableAlgorithmicStyles=true -DORACLE_HOME=$OH -DDISPLAY=$DISPLAY -DJDBC_PROTOCOL=thin -mx128m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS

    any ideas?

  • Rob says:

    Great article. Just referenced this again today to update my local DB.

  • Bino says:

    Is there a version of oracle for mac that can still be downloaded, I can’t find anything on oracle.com

  • Samar says:

    Good Day
    I need to know if can install oracle on OS X 10.5.8?
    thank u

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>