我正在尝试将 Oracle 10g 安装到 OS X Lion 上。我之前在 Snow Leopard 上用以下方法实现了此操作教程。
我遇到的问题是oracle/.bash_profile
无法修改其中的 ulimit 设置。
我在bash_profile中有以下内容:
export DISPLAY=:0.0
export ORACLE_BASE=$HOME
umask 022
# must match `sysctl kern.maxprocperuid`
ulimit -Hu 512
ulimit -Su 512
# must match `sysctl kern.maxfilesperproc`
ulimit -Hn 10240
ulimit -Sn 10240
应用 bash_profile 设置后,. ~/.bash_profile
出现以下错误:
-bash: ulimit: max user processes: cannot be modify limit: Invalid argument
这会导致$ sqlplus / as sysdba
无法正常运行Segmentation fault: 11
输出$ ulimit -a
core file size (blocks, -c) 0
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) 10240
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 512
virtual memory (kbytes, -v) unlimited
如果有人知道如何将这些 ulimit 设置应用于我创建的 oracle 用户以允许我安装 sqlplus 并从而创建一个 db,那就太好了。
答案1
尝试在 leopard 上编译并安装 oracle 和 sqlplus,然后将这些部分移到 lion 上,怎么样?例如 bin 文件夹中的 sqlplus、tnsnames、oracle 等?
我发现了一个这里也有类似的解决方案对于雪豹(分割的问题是二进制物以32位模式在豹子下汇编,然后移植到64位雪豹或类似的东西。)
答案2
ulimit 问题是由于kern.maxprocperuid
内核参数在 Lion 中将其默认值更改为 709(至少这是我的 MacBook Air 上的默认值)。正如配置文件脚本中的注释所指出的那样,以下值:
ulimit -Hu 512
ulimit -Su 512
必须kern.maxprocperuid
与内核参数值匹配。您可以使用以下命令检查此值:
$ sysctl kern.maxprocperuid
在我的例子中,默认值是 709,因此我在.bash_profile
脚本中输入了以下内容:
ulimit -Hu 709
ulimit -Su 709
至于运行时出现分段错误sqlplus
,我还没有找到解决办法。我也无法netca
正常运行。这些似乎是更严重的问题!
答案3
我有发表了博客这可能会有帮助。
它应该可以在 Snow Leopard 上运行,希望也可以在 LION 上运行。