首页 > Oracle > MAC OS X安装Oracle 10.2.0.4简要[更新至OS X 10.6]

MAC OS X安装Oracle 10.2.0.4简要[更新至OS X 10.6]

2009年4月26日 ern 发表评论 阅读评论

今天突发奇想在苹果上安装个Oracle数据库,到OTN主页一查,居然Oracle 10.2.0.4 for MAC还刚刚发布不及,立刻下载按照文档动手。结果还是发现不少问题,简单记录一下吧。

第一个步骤自然是下载db.zip,然后解压缩。

之后就是为安装Oracle建立用户组和用户。一般需要建立一个安装用户组oinstall,一个DBA用户组dba,用户oracle,它们都应当具有admin组的权限。在官方文档和一些帖子里都是推荐用dscl增加用户,这需要root权限。更简单的方法就是在系统偏好设置——账户里添加,可以看看下面的图,分别是增加群组和对用户进行设置。
图片 1 图片 2
安装过Linux平台Oracle的可能知道Oracle对组件和Java环境有一些要求。Leopard上就简单很多,只需要安装DVD里自带的Xcode(当然也可以下载最新版本),并将Java 1.4.2环境放到Java应用程序第一优先顺序就可以了。[MAC OS X 10.6以后没有了1.4.2,后续需要修改一些内容,将在方括号中提示]

下面就是准备系统内核参数了。这里建议大家还是开启root用户。在应用程序——实用工具——目录实用工具——编辑中启用。命令行su到root用户,然后建立/etc/sysctl.conf:
kern.sysv.shmmax=1073741824
kern.sysv.shmall=2097152
kern.maxfiles=65536
kern.maxfilesperproc=65536
kern.maxproc=2068
kern.maxprocperuid=2068
net.inet.ip.portrange.first=1024

重新启动系统就生效了。其他参数在Leopard(10.5.6)下不用更改。具体还可以参考安装文档(在下载的db.zip里就有)。特别提醒一点,如果真的完全按照安装文档上进行修改,有可能会出现这个错误:
TNS-01114: LSNRCTL could not perform local OS authentication with the listener
TNS-01115: OS error 22 creating shared memory segment of 127 bytes with key xxxxxxx

这个问题困扰了我很久,最后进行广泛搜索,受到一个Linux安装求助贴的启发,将kern.sysv.shmmin重新修改为1,就恢复了(文档上要求修改为4096)。

继续看文档,又会发现IPServices是找不到的,不管了,改/etc/rc.common咯,在最后增加:
ulimit -Hu 2068
ulimit -Su 2068
ulimit -Hn 65536
ulimit -Sn 65536

现在把db.zip解压的文件夹放到oracle用户下,并chown给oracle,su – oracle。给自己建立一个.bash_profile吧,可以参照下面内容设定环境参数:
ORACLE_BASE=/Users/oracle/oracle
ORACLE_SID=macora
ORACLE_HOME=/Users/oracle/oracle/product/10.2.0
PATH=/usr/local/bin:/Users/oracle/oracle/product/10.2.0/bin:$PATH
export ORACLE_BASE
export ORACLE_SID
export ORACLE_HOME
export PATH
DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
export DYLD_LIBRARY_PATH
DISPLAY=127.0.0.1:0
export DISPLAY
ulimit -Hn 65536
ulimit -Sn 65536
export NLS_LANG="AMERICAN_AMERICA.UTF8"

如果最后不设置DISPLAY,就会在启动runInstaller的时候报错,提示无法创建窗口。如果不设置DYLD_LIBRARY_PATH就会在创建数据库中提示没有监听器等错误。这些参数需要重启shell环境生效,比如重新su – oracle。

到这里基本就完成了准备工作,命令行进入目录,运行./runInstaller[10.6以后,请手工修改runInstaller,将其中的/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2改为/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0。另一种解决思路是

sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0 /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2
./runInstaller -J-d32

]。后面就和其他平台安装一样了,安装到最后,需要开一个窗口以root权限运行$ORACLE_HOME/root.sh。

[继续补充10.6一些问题:
如果链接时遇到调用目标 ‘all_no_orcl ipc_g ihsodbc32' 错误,那么不要退出安装程序,直接打开终端,修改文件$ORACLE_HOME/rdbms/lib/ins_rdbms.mk,用#号注释掉$(HSODBC_LINKLINE)开头的行,然后返回安装程序,点击 “Retry”。

Java GUI工具(NETCA和DBCA)运行时也可能出错。那么修改 $ORACLE_HOME/jdk/bin/java脚本,将"java -Xbootclasspath…"改成"java -d32 -Xbootclasspath…"

安装时还可能提示ORA-3113错误,此问题Raimonds Simanovskis通过提供补丁文件解决了。

cd $ORACLE_HOME/bin
curl -O http://rayapps.com/downloads/oracle_ee.zip
unzip oracle_se.zip
chmod ug+s oracle
rm oracle_se.zip

]

最后再提供一些安装帮助:

在 Mac OS X 上安装 Oracle 数据库 10g 和 PHP by Matt Rohrerhttp://www.oracle.com/technology/global/cn/pub/articles/rohrer_macosx_10g.html

how to install oracle 10.2.0.4 on mac os x by Ronald Rood: http://ronr.blogspot.com/2009/04/how-to-install-oracle-10204-on-intel.html

另一个英文版安装指南,on MAC Intel,推荐:http://blog.rayapps.com/2009/04/12/how-to-install-oracle-database-10g-on-mac-os-x-intel/

最后提供两个版本上的快速安装指南 by Raimonds Simanovskis[本文关于10.6的修改就是来源于此,当然,感谢留言的网友Alan,促使我更新此文档,并提供了最新进展]:http://www.pythian.com/news/1937/quick-install-guide-for-oracle-10g-release-2-on-mac-os-x-leopard-intel/

10.6上:http://blog.rayapps.com/2009/09/14/how-to-install-oracle-database-10g-on-mac-os-x-snow-leopard/

  1. zero
    2009年5月7日22:13 | #1

    下面就是准备系统内核参数了。这里建议大家还是开启root用户。在应用程序——实用工具——目录实用工具——编辑中启用。命令行su到root用户,然后建立/etc/sysctl.conf:

    这里不明白??
    希望能够指点一下,谢谢

  2. admin
    2009年5月9日11:52 | #2

    修改内存参数等等需要root权限,MAC OS X 10.5.6默认是关闭root用户的,也可以用管理员帐户通过sudo来临时提升自己权限,但是这样很麻烦,所以建议在安装过程中临时打开root用户,也就是“应用程序——实用工具——目录实用工具——编辑”,这个界面就可以启用root用户了。
    “建立/etc/sysctl.conf”就是新建文本文件并保存成这个文件名(系统默认也是没有的),然后写入后续的内容并保存,系统重新启动后会自动调用这里的设置。这个步骤需要用root用户,也就是你启动命令行,然后su – root,输入你设置的密码就可以了。
    不知道这样解释你是不是明白?

  3. neil
    2009年8月26日02:00 | #3

    很开心看到这篇文章,因为介绍在mac上装oracle都文章是在是太少了,
    不过,我安装你介绍都步骤安装后 运行sqlplus 是没有反应的 完全没反应
    这个问题很苦恼

  4. 2009年8月26日08:50 | #4

    运行sqlplus没有反应?你是在命令行输入么?要启动数据库应该要:
    sqlplus /nolog
    conn / as sysdba
    startup
    看看会报错么?如果提示sqlplus是非法指令,那应该是你环境变量里PATH问题

  5. neil
    2009年8月26日14:12 | #5

    我用的是 mac os x 10.5.8
    sqlplus /nolog 是什么提示都没有
    不报任何错 就过去了

  6. 2009年8月26日15:35 | #6

    就过去了?不出现比如
    SQL >
    这样的提示符,和SQLPlus的版本说明之类的?你安装过程中没有报错么?

  7. neil
    2009年8月26日19:03 | #7

    MAC-BOOK:~ oracle$ sqlplus
    MAC-BOOK:~ oracle$

    就这样才郁闷,有提示还好.都不知道什么问题?
    安装是没有提示错误

  8. 2009年8月26日20:02 | #8

    嗯?这个确实很奇怪哦,我上面写的你是不是都做了?

  9. neil
    2009年8月26日20:32 | #9

    @admin

    是呀 只是我系统上没有/etc/rc
    只有 rc.common rc.netboot
    我就新建了一个rc 添加上去
    第一次安装忘记先装xcode了 装了 xcode后 再安装就没有再抛错了

  10. 2009年8月26日20:43 | #10

    那真的很奇怪了,你试下重装看看?

  11. neil
    2009年8月26日21:49 | #11

    我发了个邮件 到你gmail

  12. neil
    2009年8月27日01:02 | #12

    删除用户/组和文件夹后 重启机器后 再安装成功了.
    好像一定要重启,要不安装程序不跑.
    哈哈 太谢谢你,
    本来仲打算为oracle装个linux嘅.现在唔使再搞啦.

  13. 2009年8月27日09:28 | #13

    哈哈,是啊,那些设置重启以后比较好点,用户那些好像注销也是可以的
    能搞定就好啦

  14. alan
    2009年12月3日13:51 | #14

    求助博主,我在使用snow leopard安装时,前面都设置好了,到了最后,运行runInstall时出现了找不到JRE的错误,我不知道是设置错误还是真缺乏(MAC难道不是自带JRE)吗?
    错误提示:“在 /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/bin/java 中未找到 Java 运行时环境。因此, 无法运行 Oracle Universal Installer。
    请访问 http://www.javasoft.com 并安装 JRE 版本 1.3.1 或更高版本, 然后重试”

  15. 2009年12月3日21:29 | #15

    你看看实用工具里的Java偏好设置中优先顺序对不对

  16. alan
    2009年12月11日03:53 | #16

    @admin
    楼主,有一个问题,你是在是snow leopard下装好的ORACLE吗?还是装好了之后升级到SL的?
    现在好像纯的SL装ORACLE还是会有问题。
    详见http://blog.rayapps.com/2009/09/14/how-to-install-oracle-database-10g-on-mac-os-x-snow-leopard/

  17. 2009年12月11日08:46 | #17

    目前我是在升级到SL的。我先看下你的帖子,然后看有没有办法找个虚拟机或者新的硬盘测试。

  18. Alan
    2009年12月11日14:10 | #18

    呵呵,多谢了,唉,我昨天折腾到4点半发现这个问题,我google的结果重暂时没有任何答案,简直崩溃了~
    还有,你或许应该在帖子里更新一下,
    1,在全新安装的snow leopard下装oracle,在运行./runInstaller时,应该先打开修改./runInstaller,里面默认的使用的是JRE 1.4.2,但是全新安装的SL里没有1.4.2了,将./runInstaller中的1.4.2改为1.5.0。并且在运行./runInstaller时,后面要加上参数,如“./runInstaller -J -d32″
    2,在安装过重,某个地方进度走到59%的时候会卡住,这个时候需要修改一个文件,这个在我#16楼的回复中的帖子里有提到,可以去看看。
    3,数据库软件安装成功之后,在创建数据库的时候,会出现ORA-03113问题,目前我还没有搜索到解决方法。

  19. 2009年12月11日20:04 | #19

    @Alan
    看到一个帖子说:
    modify $ORACLE_HOME/jdk/bin/java script and change …java -Xbootclasspath… to …java -d32 -Xbootclasspath…“.
    你看看是不是有用。
    另外找到一个帖子:http://www.pythian.com/news/1937/quick-install-guide-for-oracle-10g-release-2-on-mac-os-x-leopard-intel/

  20. Alan
    2009年12月14日15:43 | #20

    @admin
    呵呵,这个我也看过,对于最后出现的ORA-03113问题解决没有什么帮助

  21. Alan
    2009年12月14日21:59 | #21

    终于在SL里装上ORACLE了。
    Raimonds Simanovskis在今天放出了一个新的帖子,里面针对我提到的ORA-03113问题提出了一个解决方案,具体的就在这个帖子里(他提供了一个下载包来解决这个问题)
    http://blog.rayapps.com/2009/09/14/how-to-install-oracle-database-10g-on-mac-os-x-snow-leopard/

  22. 2009年12月15日09:10 | #22

    多谢提供最新消息,已经重新修改了文章

  23. colin
    2010年6月2日12:57 | #23

    很高兴能读到这篇文章,帮助我顺利的安装完成,这里还是有几个问题想请教,我在启动lsnrctl的时候,说坚挺程序不支持服务不知到事什么意思呢,而且,我sqlplus /nolog,然后conn / as sysdba,然后报错ERROR:
    ORA-01031: insufficient privileges很希望得到你的回答

  24. 2010年6月2日13:29 | #24

    你要检查一下你当前用户的用户组等权限,文章中提到的用户组你增加了么?你打算运行sqlplus /nolog的这个用户有这个dba用户组的权限么?
    lsnrctl启动错误,可能你要看看listener.ora里面的配置对不对。

  25. 老四
    2010年6月24日22:45 | #25

    困扰了好久。
    安装时总是提示下面的错误提示,请问是什么原因。先谢谢了。

    正在从 /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/bin/java 初始化 Java 虚拟机。请稍候…
    chen-ninrinmatoiMac:Disk1 oracle$ Exception in thread “main” java.lang.NoClassDefFoundError:
    Caused by: java.lang.ClassNotFoundException:
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

  26. 2010年6月25日11:16 | #26

    @老四
    是否10.6的系统?有没有按照我帖子里方括号的部分修改?

  27. 老四
    2010年6月25日22:59 | #27

    谢谢回答。
    是10.6的系统。我是直接修改runInstaller文件为1.5.0的。按照方框里的也做过。大致一样的错误提示。
    xcode的安装是不是有问题?

  28. 2010年6月26日13:34 | #28

    @老四
    照理应该不是Xcode问题,主要只是引用JRE。
    我记得http://ronr.blogspot.com/2009/04/how-to-install-oracle-10204-on-intel.html的贴主提供了一个修改了的runInstaller,你到那里看看,不过可能需要FQ。
    我最近也没装了,不知道在最新的10.6.4上是不是又有改变。

  29. 老四
    2010年6月26日15:54 | #29

    提示信息中没有URLClassLoader.java,ClassLoader.java等文件。在mac中查找了,确实未发现此文件。是不是JAVA安装得有问题?

  30. bobo
    2010年7月4日09:30 | #30

    Oracle无法下载啊.

  31. 2010年7月4日09:44 | #31

    到官方网站下载啊,不行的话多试几次,另外我记得VeryCD上有网友发布过

  32. bobo
    2010年7月4日12:37 | #32

    @ern
    什么时候弄个图文教程啊?这方面的资料太少了.
    操作起来有点困难啊,最后稀里胡 途还是没成功.
    谢谢!

  33. lc
    2010年8月28日01:01 | #33

    安装到最后出现oui-25031的错误,是是什么原因

    信息: 开始执行 Configuration Assistant
    信息: Command = /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

    UnsatisfiedLinkError exception loading native library: njni10

    Command = /Users/oracle/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 配置失败。退出代码是-1

  34. lc
    2010年8月28日01:09 | #34

    在最后出现oui-25031错误怎么解决

  35. 2010年8月28日09:30 | #35

    @lc
    你的系统参数设置了没有?就是.bash_profile,特别是其中的DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
    还有,你找下libnjni10.so这个编译是否成功了?就是是否有这个文件?

  36. 2010年8月28日09:31 | #36

    @lc
    还有个方法,你试试设置参数:
    export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32

  1. 2009年8月30日21:13 | #1