好久没有弄 oracle 了,今天有机会又折腾了一天 oracle 的安装,本来觉得是挺简单的事情,没想到也折腾了挺长时间的,我觉得可能主要是因为使用的系统比较新,而 oracle 是 10g 有比较老的缘故。
1 配置 x11forward
我这安装了 xauth 和 libXtst,然后使用 ssh -Y user@host 连接的。使用 -X 好像从来没成功过,也不知道怎么回事,懒得研究了。
2 运行安装程序
解压什么的就没什么好说的了,主要是运行的时候他会检测是不是他支持的发行版,可以使用 -ignoreSysPrereqs,跳过系统检测。
然后其他正常,就是到最后运行 dbca 的时候,会 hung 卡在那,等多久都完成不了。这一步做的操作是会给你 create database,建 init 文件等,没这个的话 oracle 是不可用的。如果你知道手动操作这些后续步骤也可以不理会这个。
dbca 卡住后,可以点那个取消,然后再开一个 term, ps 找到 dbca 然后 kill 掉,前面那个界面应该就会有反应了,就可以继续往下走了。到最后 exit 了事。
然后就是单独启动 dbca 来完成后面的工作。执行 dbca 命令(需要你提前配置好 path),会启动一个窗口,要注意的是,在这时候能看到一个关于字体的错误,据说这个错误就是上面 huang 住的原因,如果看到了这个错误,那么 dbca 的最后一步可能是会执行不了的。。。
我尝试了 n 种方法解决这个问题,发现最简单的是装一个 jdk 1.6 然后把 java 命令链接覆盖 oracle 安装的那个 jdk 1.4 的 $ORACLE_HOME/jdk/jre/bin/java 命令。等于就是说使用 1.6 的 java 来启动 dbca。如果这么做还不行,那可能需要装一些字体相关的东西,比如 xorg-x11-fonts-truetype。如果还不行那就不知道怎么弄了。
dbca 启动后,还遇到了 ora-27102 out of memery 和 ora-01034 oracle not aviliable。后面这个是在遇到前面那个的时候点 ignore 出来的。主要是前面那个。前面那个是因为 kernel 参数关于内存的配置配置的有问题,最大共享内存太大导致的。如果遇到这个问题就去改那些参数吧。
dbca 配置好后,oracle 应该就启动了。你可以连上去看看了。
3 导入导出
导出使用 exp,导入 imp,一般不需要加什么参数。据说加那个 full=y 后,导入的时候会建立用户,不用你操心。