Oracle运行在32位/64位内核模式的AIX 5L操作系统上_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 5341 | 回复: 1   主题: Oracle运行在32位/64位内核模式的AIX 5L操作系统上        下一篇 
紫狐狸988
注册用户
等级:上士
经验:261
发帖:29
精华:0
注册:2012-3-5
状态:离线
发送短消息息给紫狐狸988 加好友    发送短消息息给紫狐狸988 发消息
发表于: IP:您无权察看 2012-3-5 10:44:51 | [全部帖] [楼主帖] 楼主

Oracle运行在32/64位内核模式的AIX 5L操作系统上

目标

-------------

此文章根据32/64位硬件和32/64位内核,说明AIX 4LAIX 5L之间的区别。本文解释了如何在64位的硬件上的AIX 5L系统上运行328.1.7版本和649.0.2版本。

应用范围

-----------------

Oracle用户在AIX 5L平台安装Oracle

AIX 5L系统和oracle的兼容性

-------------------------------------------------

简介:

-----------

AIX 5L是来自IBM最新的操作系统版本。它的设计利用先进的64位系统和软件架构。AIX 5L中的L代表其与LINXU的密切关系。这也就说明AIX 5L的这个版本支持一些LINUXAPI和工具。

内核模式:

--------------------------

AIX 5L中的一个新的功能是可以运行在64位或者32位内核模式。但是在64位内核模式运行需要64位的硬件支持。

AIX 5.2版本中默认安装的是32位内核,JFS2拥有64位内核(增强journaled文件系统),在安装时被激活。

使用下面的命令检查出机器是否可以运行在64位内核模式:

$ /usr/sbin/bootinfo –p


如果仅仅能运行在32位内核上,则执行命令后返回字符串“32”,如果既能运行在64位又能运行在32位内核模式,则执行命令后会返回“chrp”。

查看当前内核运行模式适用如下命令:

$ /usr/sbin/bootinfo –k


如果当前是32位内核,则返回“32”,如果返回“64”,则说明当前为64位内核。

内核模式间的转换:

---------------------------------

在不重装系统的情况下,在32位和64位内核之间转换时可能的。

请参考注释:1694261—关于如何改变AIX 5L系统的内核模式更多的信息:

注释:不要在一个mp系统上启动unix_up 内核,或者在32-bit h/w上启动64位内核。这样做的话会导致失败,之后你不得不使用维护模式去修复它。

不同内核模式的兼容性:

-------------------------------------------------

应用程序的开发和编译使用32位的内核模式,在大多数情况下,在64位内核模式下也能良好的运行。

唯一的情况是,32位的应用程序不能运行在64位的内核模式下,如果一个应用程序只能运行在32位内核模式,那他就需要使用内核扩展(一个可以扩展内核的应用程序,例如,提供一个新的系统响应应用程序)。

一个例子就是Oracle 8.1.7,它只能在32位模式具有内核扩展功能。然而,Oracle 9.2.0没有这样的限制,它可以运行在64位模式下。

OracleAIX 5L的兼容性:

------------------------------------------------

就像在前面所提到的,Oracle 8.1.7使用最低32位内核扩展。在默认的媒介中没有提供对64位内核模式的版本兼容,但是可以打补丁2896876,这个补丁必须在使用64位内核模式之前被安装。

内核可以运行在32位或64位模式。在Oracle 8.1.7Oracle 9.2.0版本不要求在之前使用补丁。如果随后要用到Oracle8i版本,那要求打补丁2896876

另一方面,针对AIX 5L系统的Oracle 9.2.0版本,不用使用任何这样的32位内核扩展,因此它可以运行在任何内核模式。

因此,我们可以将Oracle 9.2.0运行在32位和64位内核模式。

综上所述,如果用户需要在AIX 5L上运行Oracle 8.1.7Oracle 9.2.0,它或者必须将内核运行在32位模式,或者安装允许使用32位和64位模式的补丁—2896876。如果你要将内核模式改变到32位并且在这台服务器上运行6.2.0 版本,那么下面一行应该被包含在/etc/inittab:

Load64bit:2:wait:/etc/methods/cfg64 >/dev/console 2 >&1 #Enable 64-bit execs


它运行64位应用程序运行在32内核上。

下面的注释可能是有用的:

注释:2426781,“如何在AIX 5L上检验应用补丁2896876rootpre.sh)”

针对AIX 4.3.3AIX 5LOracle版本;

----------------------------------------------------------------------------

AIX 4.3.3版本中的64ABI,在AIX 5L下是不被支持的。

将现有的64位应用程序从现有的AIX 4.3.x迁移的AIX 5L上要求重新编译源代码,并可能改变应用程序源代码以确保被使用的数据类型的一致性和正确性。

基于这种限制,从9.2.0版本开始,Oracle 针对AIX4.3.3AIX 5L使用不同的CD。对此,用户应该谨慎,以防使用错误的CD,因为这两个版本是不兼容的。这也是为什么64位的版本9.0.18.0.7/64不能再AIX 5L上运行。

对于AIX 5L-CD,产品编号是A99331-01A99334-01

对于AIX 4.3.3-CD,产品编号是A99342-01A99345-01

其它有用的指令:

------------------------------------

检查Oracle32位还是64:

$ORACLE_HOME/bin> file oracle


如果是32位:

Oracle:executable (RISC System/6000) or object module not stripped.


如果是64位:

Oracle:64-bit AIX executable or object module not stripped.


检查64位扩展是否被装载:

$lslpp –l bos.64bit


如果是32位:

Lslpp: 0504-132 fileset bos.64bit not installed.


AIX 4.3.3,如果是64位:

文件集水平状态描述

-----------------------------------------------------------
Path: /usr/lib/objrepos bos.64bit 4.3.3.78 COMMITTED Base Operating System 64 bit
Runtime


AIX 5.1,如果和64位:

文件集水平状态描述:

------------------------------------------------------------
Path:/usr/lib/objrepos bos.64bit 5.1.0.35 COMMITTED B ase Operating System 64 bit
Runtime


检查操作系统是32位还是64位:

$locale64


如果是32位:

Exec():0509-036 Cannot load program locale64 because of the following errors:
0509-032 Cannot run a 64-bit program on a 32-bit machine.


如果是64位:

LANG=en_US
LC_COLLATE=”en_US”
LC_CTPE=”en_US”
LC_NUMERIC=”en_US”
LC_TIME=”en_US”
LC_MESSAGES=”en_US”
LC_ALL=


检查内核是32位的还是64位的:

$ls –l /unix


如果是32;

Lrwxrwxrwx 1 root system 21 Mar 25 2002 /unix@ -> /usr/lib/boot/unix_mp


如果是64位的:

Rwxrwxrwx 1 root system 21 Jun 04 2002 /unix -> /usr/lib/boot/unix_64


对于AIX 5.2 64位版本:

-----------------------------------------------

检查硬件是32位的还是64位的:

$getconf HARDWARE_BITMODE
64(如果硬件是64)


检查内核是32位还是64位:

Command: getconf KERNES_BITMODE
64(
如果内核在32位模式中启动)




赞(0)    操作        顶端 
紫狐狸988
注册用户
等级:上士
经验:261
发帖:29
精华:0
注册:2012-3-5
状态:离线
发送短消息息给紫狐狸988 加好友    发送短消息息给紫狐狸988 发消息
发表于: IP:您无权察看 2012-3-5 10:45:33 | [全部帖] [楼主帖] 2  楼

北京联动北方科技有限公司



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论