本站首页    管理页面    写新日志    退出


«October 2025»
1234
567891011
12131415161718
19202122232425
262728293031


公告

数据仓库&数据挖掘

  对某一件事需要坚持方能真正完成这件事

            薛 峰  

           2009.02.03


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:数据仓库与数据挖掘
日志总数:85
评论数量:14
留言数量:0
访问次数:723660
建立时间:2005年3月17日




AIX常见问题整理
文章收藏,  网上资源

薛 峰 发表于 2005/7/22 12:46:15

创建时间:2002-08-17
文章属性:原创
文章来源:www.cnsafe.net
文章提交:mayi (mayi99_at_263.net)

by:ciline
来自:www.cnsafe.net

提纲:
用feprom_update升级Firmware 2002-07-24
CHRPSystems系统启动过程的LEDE1DC报错提示 2002-07-24
怎样在AIX5.1中建立热后备(hotspare)磁盘? 2002-07-24
如何让非root用户有权限执行sar命令 2002-07-24
使用errpt命令,产生0315-171错误 2002-07-24
普通用户执行su命令时产生错误:Authenticationdenied. 2002-07-24
查找文件或命令对应的文件集 2002-07-24
AIX5L新特性(一):如何确认CPU的主频? 2002-07-24
如何记录ftplog? 2002-07-24
目前哪些RS/6000支持逻辑分区(LPAR)? 2002-07-11
在移植安装(Migrationinstallation)中都有那些文件和数据保留下来? 2002-07-11
如何在保留安装(Preservationinstallation)方式下自定义需要保留的文件? 2002-07-11
PTF与APAR的区别? 2002-07-11
将man命令查看的内容转换成普通文本文件 2002-07-11
查看bootlog 2002-07-11
inetd.conf文件的恢复 2002-07-11
如何立刻断掉一个已经login的用户? 2002-07-11
使用errdemon客户化系统错误日志文件 2002-07-11
什么版本的Oracle数据库支持AIX5.1 2002-07-11
IBMpSeries和RS/6000哪些型号可以安装SuSElinux? 2002-07-11
如何监控裸设备I/O? 2002-07-11
在AIX上安装RPM格式软件包 2002-07-11
gated 进程介绍和应用 2002-03-25
如何处理 mountd 和 nfsd 无法正常启动 2002-03-25
如何在图形登录和命令行登录方式见切换? 2002-01-29
如何阻止某些用户远程登录,telnet,rlogin? 2002-01-29
如何拒绝某些用户的ftp访问? 2002-01-29
如何查看某用户共启动了多少进程? 2002-01-29
如何在清理/tmp文件系统时找到过大的文件? 2002-01-29
如何限制某用户在特定 pty 的访问。 2002-01-28
如何打开锁死的帐户 2002-01-28
如何下载RS/6000相关的补丁(Fix,PTF),维护包及微码(Microcode) 2002-01-03
如果想将linux应用移植到pSeries和RS/6000上,哪里有参考资源? 2002-01-03
Aix 4.3上支持超过2GB的文件吗? 2002-01-03
IBM INFORMIX数据库级备份都备份了哪些内容? 2001-12-31
在RS6000系列机器上如何配置IBM INFORMIX数据库临时数据库空间? 2001-12-31
如何改变主机IP地址解析顺序 2001-12-30
AIX无线系统管理器 2001-12-30
不能增加用户,错误信息为3004-687 2001-12-20
如何改变上传ftp文件的缺省读写属性? 2001-12-19
AIX中的 rmss 命令的用途 2001-12-19
在AIX 4.x如何清除挂起的tty 2001-12-18
在AIX中扩展卡的逻辑名和它所在插槽的对应关系 2001-12-14
如何对系统做镜像以提高系统高可用性和性能 2001-12-11
Debug mode 引导AIX 2001-12-10
kdb command 2001-12-10
在AIX中如何为一块网卡,配多个IP地址? 2001-12-03
AIX内核参数调整之vmtune -p -P(2)? 2001-11-30
AIX内核参数调整之vmtune -f -F(3)? 2001-11-30
Linux 与 Pseries/RS6000 2001-11-30
AIX内核参数调整之vmtune -M(5)? 2001-11-30
AIX内核参数调整之vmtune -r -R(4)? 2001-11-30
如何在命令行下运行update_all? 2001-11-29
如何确定一文件系统是Large File Enabled的文件系统? 2001-11-29
手工删除smit菜单 2001-11-29
6230 SSA卡上快写缓存的设置? 2001-11-29
支持Xwindows最少需要安装那些文件集(Fileset)? 2001-11-29
如何改动IP地址 2001-11-27
启动sendmail 2001-11-27
如何显示格林威治时间 2001-11-27
看SSA逻辑盘与物理盘之间对应关系 2001-11-27
登录失败次数过多 2001-11-27
用户名长度问题 2001-11-27
如何判断引起core文件的应用程序 2001-11-27
inittab中引用的环境变量 2001-11-27
解锁卷组 2001-11-27
在一个磁带上备份多个文件 2001-11-27
夏时制问题 2001-11-27
passwd文件的备份 2001-11-27
如何限制某个用户使用FTP服务 2001-11-27
在AIX系统中,如何得到一些偏僻的汉字 2001-11-27
AIX 是否支持 ramdisk 2001-11-15
什么是 inline log 2001-11-15
什么是X-window 2001-09-29
如何增加文件系统中的inode数目 2001-09-28
如何为调试应用程序性能 定制系统内存环境 2001-09-28
关于AIX 4.3.3的内核问题。 2001-09-28
如何在AIX上实现象doskey一样的功能 2001-09-28
如何修改终端的属性以适应特殊需要 2001-09-28
另一种让vi编辑超大文本文件的方法 2001-09-28
如何利用grep的一些高级选项更好地管理系统 2001-09-28
IBM RS/6000 CPU 与IBM INFORMIX数据库CPU虚处理器的设置 2001-08-28
AIX 与 LINUX 的结盟 2001-08-17
哪里可以下载AIX上的JDK? 2001-08-02
如何在 AIX 中设置 tftp server 2001-07-31
为什么用CD-ROM有时不能引导AIX 5L 2001-07-16
AIX 5L 5.1中的64位内核 2001-07-12
怎样在AIX 5L 5.1中进行64位和32位内核的切换? 2001-07-12
何谓EtherChannel?在AIX 5L中,它有何增强? 2001-07-12
JFS2 与 JFS的比较 2001-07-11
AIX 5L V5.1介绍 2001-07-10
如何确定pSeries和RS/6000 CPU的主频? 2001-07-04
利用mksysb进行系统备份有什么好处 2001-07-01
如何平稳地停止AIX系统运行? 2001-07-01
如何解决AIX上不能增加新用户,错误讯息 3004-687 2001-07-01
/var/adm/wtmp档案太大怎么办 2001-07-01
在Korn Shell中要如何设定 prompt 才会显示出目前所在的目录? 2001-07-01
2001/06 AIX安全防范有关的补丁(APAR) 2001-06-26
当运行mksysb时,系统报错:“rootvg is locked”(根卷组被锁定) 2001-06-25
如何在Documentation Search Service中删除文档? 2001-06-25
CDE 不能启动解疑(一) 2001-06-25
只有root用户可以登录Xwindows,但普通用户不能登录, 如何处理? 2001-06-25
CDE 不能启动解疑(二) 2001-06-25
执行execd时出现错误0826-604 2001-06-12
如何配置AIX 5L 中的 Processor Entitlement 2001-06-12
AIX 5L 的特点 2001-06-12
怎样镜像rootvg 2001-06-08
AIX 5L v5.1在网络方面增加了那些新功能? 2001-06-08
什么是Dead Gateway Detection(DGD, 失效网关检测)? 2001-06-08
Virtual IP Address (VIPA)虚拟IP地址 2001-06-08
AIX支持的最大socket数 2001-06-08
建立第二个root用户 2001-06-05
如何查看系统的telnetd daemon已启动 2001-05-31
如何使用dd命令备份裸设备 2001-05-31
使用ls或mv *命令时, 产生"Arguments too long"或"Array list too long"的错误信息 2001-05-31
普通用户无法执行su命令 2001-05-31
Aix 版本号介绍 2001-05-31
在AIX4.3.3系统中,为什么oslevel命令的输出不是4.3.3.0 2001-05-31
如何查看CPU的时间片的大小 2001-05-30
恢复文件系统超级块 2001-05-30
tar备份链接文件 2001-05-30
在同网段内同步时间 2001-05-30
在RS6000上,当使用新的7210-025 DVD-RAM 来备份卷组时,可以跨多个CD写文件吗? 2001-05-29
运行iostat -d 命令系统返回警告提示" Disk history since boot not available. " 2001-05-23
设置以太网卡时选择全双工还是半双工? 2001-05-23
怎样确定当前系统是32位或64位? 2001-05-23
AIX Version 4.3 Bonus Pack - 2001年4月版 2001-05-23
AIX V4.3支持超过2GB大文件 2001-05-22
如何在AIX4.3.3中启动或停止dhcpcd 2001-05-22
编辑超大文本文件 2001-05-22
在根目录(/)下执行了rm *,如何恢复系统 2001-05-22
如何解决License Server 启动时的错误 GRL-2050: Fatal error from I4LLMD 2001-05-22
怎样创建固定大小的临时大文件 2001-05-22
smit.log 与 smit.script 文件 2001-05-21
如何减少文件系统中的碎块 2001-05-21
AIX中对软盘操作的DOS兼容命令 2001-05-21
查看系统启动信息(alog) 2001-05-21
如何查看多用户系统中其它终端的属性 2001-05-21
查看SSA磁盘中pdisk与hdisk的对应关系 2001-05-21
如何看机器内的卡及硬盘的微码级别(microcode level) 2001-05-21
如何在dtterm中使用PageUp/PageDown 上下翻页 2001-04-30
如何禁止动态路由 2001-04-30
无法删除文件系统 2001-04-30
如何限制某些用户无法ftp至RS/6000服务器 2001-04-30
如何增加文件系统的空间 2001-04-29
PCI 两口多协议卡(2-Port Multiprotocol PCI Adapter 9-L)的配置方法 2001-04-28
用户转换错误 2001-04-28
杀进程的shell程序 2001-04-25
怎样在AIX中Mount Redhat Linux上的nfs文件系统? 2001-04-25
如何限制用户改变密码 2001-04-24
AIX4.3 的维护包(Maintenance Level) 及推荐维护包(Recommended Maintenance) 2001-03-15
如何自动启动和关闭软件的运行 2001-01-18
光盘驱动器错误0514-062: 指定的设备忙. 2001-01-18
AIX4.3.2下安装显卡GXT130P 2001-01-15
/var/adm/wtmp文件太大 2001-01-15
显示设置启动引导顺序 2001-01-15
安装MAN 2001-01-15
改变主机IP地址解析顺序 2001-01-15
telnet提示"所有的网络端口已用" 2001-01-15
LED 223-229故障的解决 2001-01-05
LED 553故障的解决 2001-01-05
AIX版本号释疑 2001-01-05
/etc/preserve.list文件有什么用? 2001-01-05
LED 201故障的解决 2001-01-05
LED 551,555和557故障的解决 2001-01-05
LED 552,554和556故障的解决 2001-01-05
如何替换损坏的镜像卷组硬盘? 2001-01-05
RS/6000液晶显示屏上显示代码(LED)的含义 2001-01-02
不能增加新用户,错误信息 3004-687 2000-12-29
拨号访问RS/6000的快速配置方法 2000-12-29
解决 10/2000 和 11/2000版的 Update CDs引起的NFS及NIM 错误 2000-12-29
解决升级(Migration) 到 AIX 4.3.3时 可能会遇到的启动失败 2000-12-29
改变磁盘名顺序 2000-12-29
如何确定一个备份带的块大小(Block Size)和类型(Type)? 2000-12-29
如何创建/dev/null文件? 2000-12-28
Netscape Communicator无法正常启动 2000-12-28
如何查找系统中某个文件或命令所对应的文件集? 2000-12-28
从"卷组被锁定"的报错信息中恢复 2000-12-28
从LED C31中恢复 2000-12-28
查看操作系统中是否安装了某个补丁程序的简便方法 2000-12-28
.sh_history文件被破坏了怎么办? 2000-12-28
如何屏蔽某一用户的ftp访问? 2000-12-28
AIX的安装方法及其特点 2000-12-28
无单点故障的SSA卡及7133配置案例 2000-12-28
非root用户的登录问题 2000-12-28
怎样查看RS/6000的物理内存? 2000-12-27
关于2000年10、11月的UPDATE CD 中NFS和NIS的错误 2000-12-27
Communications Server无法启动 2000-12-27
如何在AIX 4.3中安装联机手册? 2000-12-27
何为AIX 5L 2000-12-27
AIX中如何解决不能释放光驱的问题 2000-12-27
使用ftp自动传输文件 2000-12-27
如何快速安装AIX补丁程序? 2000-12-27
如何监控AIX的单个file/lv/pv的繁忙程度? 2000-12-27
检查AIX上的病毒 2000-12-27
定制自己的AIX Login 画面 2000-12-27
系统停在 LED C33 2000-12-26
如何查看物理内存的大小 2000-12-12
使用命令行安装删除文件包 2000-12-12
远程客户可通过"login, ftp"登录, 但不可通过"telnet"登录 2000-12-12
AIX 的许可权限 2000-12-12
如何解决"device busy"问题 2000-12-12
IPCS Limitation(AIX 3.2.5 --- AIX 4.3.2) 2000-12-12
AIX 用户的系统资源使用限制 2000-12-12
AIX 4.3.3 监控系统活动的新命令--TOPAS 2000-12-05
在AIX中设置中文环境 2000-12-04
"Volume Group Locked" 恢复步骤 2000-11-30
如何在CDE中添加图标? 2000-11-28
如何创建 /dev/null 文件 2000-11-27
如何减小 /var/adm/wtmp 文件的大小? 2000-11-27
如何查找系统中的某个文件存在于哪个文件集中? 2000-11-27
怎样使用CDE环境? 2000-11-17
怎样保存当前的CDE环境 2000-11-17
如何使.profile文件在CDE中生效? 2000-11-17
怎样创建共享库? 2000-11-17
何谓COSE? 2000-11-16
进程kproc 2000-11-14
如何管理Paging Space 2000-11-14
异步I/O (aio) 2000-11-14
裸设备(Raw Device) 2000-11-14
在AIX4.3.3系统中,为什么oslevel命令的输出不是4.3.3.0? 2000-11-13
AIX 4.3.3 的中文输入 2000-11-13
libc.a 文件恢复 2000-11-13
何为AIX/Montery 2000-11-13
如何使用 IBM HTTP Server 支持AIX 联机文档? 2000-11-13
7133硬盘连接验证"good" 及"reserved" 2000-11-13
如何从 LED 553 恢复 2000-11-13
RAID 技术简介 2000-11-10
如何减小hd6页面空间 2000-11-09
在做RS/6000 AIX 订单配置时, 需要配置用户数么? 2000-08-04
如何下载 RS/6000 PTF(Fixes) 及 Firmware? 2000-06-13





FAQ:

怎样在AIX 5.1中建立热后备(hot spare)磁盘?

环境  AIX 5.1
问题  怎样在AIX 5.1中建立热后备(hot spare)磁盘?
解答 在AIX 5.1中可以在操作系统的级别上建立hot spare磁盘。
如需要在某一卷组(VG)中建立hot spare磁盘,必须满足如下条件:
1. 逻辑卷(LV)在此卷组中必须进行镜像(mirror)。
2. 作为hot spare的磁盘上不能有任何的逻辑卷或文件系统。
3. hot spare盘的容量应大于或等于此卷组中最大磁盘的容量。

当满足以上条件后,可采用以下步骤(此处假设卷组名为testvg,
磁盘为hdisk6):


1. # exptendvg testvg hdisk6
将hdisk6加入卷组testvg。


2. # chpv -hy hdisk6
将hdisk6标记为hot spare磁盘。


3. #chvg -hy -sy testvg
将testvg标记为使用hot spare盘的卷组,并且当发生磁盘失效
时自动进行磁盘的替换并同步。

 


用feprom_update升级 Firmware

环境  平台: RS/6000
问题  用feprom_update升级 Firmware
解答 在AIX 4.3,命令feprom_update会得到报错:
1734-009 cannot write in FEPROM

一旦得到此提示,表示firmware坏了,系统将无法启动。
此问题可能会在以604e为处理器的SMP系统上(也包括SP高结点)出现。在升级Firmware之前,应先检查APAR IX84560是否已装到系统中。
请从下面网址得到此补丁包:
http://techsupport.services.ibm.com/rs6k/fixes.html


CHRP Systems系统启动过程的LED E1DC 报错提示

环境  平台: RS/6000
版本: AIX 4.3
问题  CHRP Systems系统启动过程的LED E1DC 报错提示
解答 用比硬盘上安装的AIX版本还低的AIX 安装盘或诊断光盘启动CHRP结构的RS/6000机器,往往会遇到E1DC LED报错提示.

确定一个机器是否为CHRP结构,可用如下命令:
lslpp -L devices.chrp.base.rte

如果devices.chrp.base.rte文件包存在,则是CHRP结构;
如果没有此文件存在,此问题不会发生.
要防止此问题的办法是打补丁包:APAR IX79693.
它包含在AIX 4.3.2和4.3.2 diagnostics CD中(P/N 08L1427 or 08L1430)。
如果发生这个问题,唯一的方法是在系统下电后取下电池,10-15分钟后装回即可。


普通用户执行su命令时产生错误:Authentication denied.

环境  产品:AIX
平台:RS
软件版本:4.3
问题  当普通用户执行su命令su到root或其它普通用户时,产生错误:Authentication denied。
解答 使用命令 ls -l /usr/bin/su检查su文件的权限,正确的权限应为:-r-sr-xr-x root security ...
如果权限不正确,使用以下命令修改:
# cd /usr/bin
# chmod 4555 su


如何让非root用户有权限执行sar命令

环境  产品:AIX
平台:RS
软件版本:4.3
问题  如何让非root用户有权限执行sar命令
解答 可通过smit --> Security & Users --> Users --> Change/Show Characteristics of a User 修改用户的属性,将“adm”组加入该用户的Primary GROUP中即可。


使用errpt命令,产生0315-171错误

环境  产品:AIX
平台:RS
软件版本:4.3
问题  当使用命令errpt -a查看系统的错误报告时,产生错误:0315-171: 不能处理错误日志文件/var/adm/ras/errlog
解答 该错误的产生是由于/var/adm/ras/errlog文件被破坏导致的,可以用如下步骤删除现有文件,使系统自动生成一个新的/var/adm/ras/errlog文件:

1. /usr/lib/errstop
2. rm /var/adm/ras/errlog
3. /usr/lib/errdemon


如何记录ftp log?

环境  RS6000 & pSeries
AIX 4.3 和 AIX 5L
问题  如何记录ftp log?
解答 缺省情况下, 系统不会记录使用FTP连接和传输文件的日志(log). 这会对系统造成安全隐患,尤其在用户使用匿名ftp方式时。为了避免这种情况发生, 可用如下的步骤使系统记录FTP的日志:
1.修改/etc/syslog.conf文件,并加入一行:
daemon.info FileName
其中FileName是日志文件的名字, 它会跟踪FTP的活动,包括匿名和其他用户ID. FileName文件必须在做下一步骤前创建。

2.运行"refresh -s syslogd"命令刷新syslogd 后台程序。

3.修改/etc/inetd.conf文件,修改下面的数据行:
ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd -l

4.运行“refresh -s inetd”命令刷新inetd后台程序。


查找文件或命令对应的文件集

环境  产品:AIX
平台:RS
软件版本:4.3
问题  查找文件或命令对应的文件集
解答 1. 确认系统中已安装了文件集:bos.content_list

2. 查找文件或命令所对应的文件集,使用命令:
# /usr/sbin/which_fileset <filename>
如:/usr/sbin/which_fileset iostat

3. 查看指定的文件集包含哪些文件,使用命令:
# lslpp -f <fileset>
如:lslpp -f bos.acct


AIX 5L 新特性(一):如何确认CPU的主频?

环境  硬件平台:rs6000 & pSeries
操作系统:AIX 5L
问题  AIX 5L 新特性(一):如何确认CPU的主频?
解答 在AIX 5L中可以非常方便的确认CPU的主频,使用如下命令:
lsattr -El proc0
在命令输出的最后一行中"frequency"所指的值既为CPU的主频。
在AIX 4.3版本中无此功能。


目前哪些RS/6000支持逻辑分区(LPAR)?

环境  RS/6000 AIX 5L
问题  目前哪些RS/6000支持逻辑分区(LPAR)?
解答 支持逻辑分区的RS/6000型号:
P630(1,2,4-way CPU)
P670(4,8,16-way CPU)
P690(8,16,24,32-way CPU


PTF 与APAR的区别?

环境   产品: pSeries, RS6000
软件版本: AIX4.3 AIX 5L
问题  PTF 与APAR的区别?
解答 PTF是Program Temporary Fix的简称。 一个PTF是指一个升级的文件束(fileset)或着一个修正了以前操作系统问题的文件束。使用installp命令安装。

APAR是Authorized Program Analysis Report的简称。 一个APAR指的是一个特殊的或着紧急的fix、e-fix, 对操作系统而言是单一性的错误问题。APAR有可能经过测试和认证后成为PTT。 APAR使用instfix命令安装。


如何在保留安装(Preservation installation)方式下自定义需要保留的文件?

环境   产品: pSeries,RS6000
问题  如何在保留安装(Preservation installation)方式下自定义需要保留的文件?
解答 使用保留安装(Preservation installation)方式在安装了BOS时保留根(root)卷组的数据,但是/usr,/tmp 和/var及/(根)文件系统将被覆盖。因此在上面的文件系统下的数据将丢失。如果想保留这些文件系统,可以在/etc/preserve.list文件中加入想保留的文件系统。例如如果想保留/var下的文件,可以将/var目录加到/etc/preserve.list文件中。


查看boot log

环境   产品:AIX
平台:RS
软件版本:4.3
问题  如何查看系统上次启动的log?
解答 # alog -o -t boot


将man命令查看的内容转换成普通文本文件

环境   产品:AIX
平台:RS
软件版本:4.3
问题  如何将man命令查看的内容转换成普通文本文件,供打印或进一步查看?
解答 可使用下面的命令将用man查看的ls命令的内容转换为文本文件man.txt:
# man ls | col -b > man.txt


inetd.conf 文件的恢复

环境   产品:AIX
平台:RS
软件版本:4.3
问题  inetd.conf 文件的恢复
解答 有时由于某种原因, /ETC/INETD。CONF文件损坏。
会对机器带来TCP/IP方面问题: 如 FTP
可用以下步骤来恢复INETD。CONF 文件。

# vi /etc/inetd.conf
# stopsrc -s inetd
#mv /etc/inetd.conf /etc/inetd.conf.old
#cd /usr/lpp/bos.net/inst_root/etc
#cp inetd.conf /etc/inetd.conf
#startsrc -s inetd


如何立刻断掉一个已经login的用户?

环境   产品:AIX
平台:RS
软件版本:4.3
问题  如果想要立刻断掉一个已经login的用户,如何做
解答 可使用命令 fuser -k <用户的主目录>
如:fuser -k /home/guest


使用errdemon客户化系统错误日志文件

环境   产品: pSeries, RS/6000
软件版本: AIX 4.3, AIX 5L
问题  如何使用errdemon客户化系统错误日志文件?
解答 首先列出系统错误日志文件当前配置数据:

#/usr/lib/errdemon -l

Error Log Attributes
--------------------------------------------
Log File /var/adm/ras/errlog
Log Size 1048576 bytes
Memory Buffer Size 8192 bytes

如果希望改变系统错误日志文件的大小, 输入:

#/usr/lib/errdemon -s 2000000

如果希望改变系统错误日志文件buffer的大小, 输入:

#/usr/lib/errdemon -B 16384


什么版本的Oracle数据库支持AIX 5.1

环境   oracel, aix
问题  什么版本的Oracle数据库支持AIX 5.1
解答   AIX 4.3.3 AIX 5L
8.1.7 32-bit  Yes Yes
  now (Production) now (Production)
     
8.1.7 64-bit Yes  
  now (Production)  
     
9.0.1 64-bit Yes Yes
  now (Production) now (Developer's Release)
     
9.2 64-bit  Yes Yes
  now (Production) now (Production)
     

 


如何监控裸设备I/O?

环境   产品:pSeries,RS/6000
软件版本:AIX 4.3 AIX 5.1
问题  如何监控裸设备I/O?
解答 sar命令中的“-b”选项可以用于监控裸设备I/O。裸设备一般用于存放数据库数据。

# sar -b 1 3

AIX 6f1 3 4 00023A0F4C00 06/19/02

18:16:30 bread/s  lread/s  %rcache  bwrit/s  lwrit/s  %wcache  pread/s  pwrit/s
18:16:31  0 0 0 0 0 0 0 0
18:16:32  0 0 0 0 0 0 0 0
18:16:33  0 0 0 0 0 0 0 0
                 
Average  0 0 0 0 0 0 0 0

其中bread/s 和bwrit/s显示了块裸设备(block raw device)I/O操作的数目。pread/s 和pwrit/s显示了字符裸设备(character raw device)I/O操作的数目

  


在AIX上安装RPM格式软件包

环境  AIX 4.3.3/5L
问题  在AIX上安装RPM格式软件包
解答 1.从Linux Application Toolbox CD安装Redhat Package Manager - rpm.rte

2.安装RPM格式软件
#rpm -ivh fileset_name

3.检查按装结果
#rpm -q fileset_name

 


gated 进程介绍和应用

内容
提要  我们知道在AIX操作系统中,gated 进程可以支持RIP, RIPng, EGP, BGP, OSPF等协议,甚至还支持SNMP协议。通常来讲,gated进程不能和routed进程同时使用,否则会导致不可预见的错误。
1.如何启动和停止gated
2.gated进程的工作模式
  1) 配置 /etc/gated.conf 支持 RIP 协议
  2)配置 /etc/gated.conf 支持 OSPF 协议

正文 我们知道在AIX操作系统中,gated 进程可以支持RIP, RIPng, EGP, BGP, OSPF等协议,甚至还支持SNMP协议。通常来讲,gated进程不能和routed进程同时使用,否则会导致不可预见的错误。

1. 如何启动和停止gated

gated进程是AIX中系统资源控制系统(SRC)的一个子系统,因此,我们可以用以下命令来启动和停止gated:
startsrc -s gated -- 启动
stopsrc -s gated -- 停止

top

2. gated进程的工作模式
当gated启动时,gated进程会自动查找 /etc/gated.conf 文件,根据 /etc/gated.conf 的配置启动相应的服务。因此,正确地配置 /etc/gated.conf 文件对于gated进程能否正常地启动和工作是至关重要的。

以下就本人的经验对如何配置 /etc/gated.conf 文件,从而启动最经常使用的 RIP 协议和 OSPF 协议,进行介绍:

top

1) 配置 /etc/gated.conf 支持 RIP 协议

# 该 gated.conf 文件将RIP信息的更新通知系统的所有网络接口。同时,当gated进程没有启动或路由信息没有更新时,保留路由表中的静态路由信息。

# /etc/gated.conf

traceoptions "/tmp/gated.trace" all ;

redirect yes ;

rip yes {
interface all ripin ripout;
};

static {
default gw 172.16.1.1 retain ;
};

top

2)配置 /etc/gated.conf 支持 OSPF 协议

# 该 gated.conf 文件使 gated 进程在ent0端口使用OSPF 协议。并从9.185.40.1(路由器端口)接收更新的路由信息。如果要侦听多个路由器端口,就把这些端口的地址放入 eligible 项中。



################# gated configuration for CLIENT ############

traceoptions "/var/tmp/gated.log" all ;
routerid 1
rip no ;
ripng no;
hello no;

ospf yes {
traceoptions state detail packets ;
area 0.0.0.1 {
interface ent0 nonbroadcast cost 1 {
pollinterval 10 ;
routers {
9.185.40.1 eligible;
} ;

retransmitinterval 5;
hellointerval 10;
priority 50;
routerdeadinterval 40;
};
};
};
export proto ospfase {
proto static;
proto kernel;
proto direct;
} ;


 

 


如何拒绝某些用户的ftp访问?

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  出于安全考虑,需要拒绝某些用户的ftp访问?
解答 请编辑
/etc/ftpusers
添加需要拒绝的用户,每用户一行 For example:
#more /etc/ftpusers
ql
当尝试 ftp 登录时,系统报错:
Name (localhost:root): ql
530 User ql access denied.
Login failed

如何查看某用户共启动了多少进程?

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  用户需要查看某个用户是否启动了过多的进程,影响了系统性能
解答 请用
#ps -ef|grep username|wc -l

备注:
这是利用wc -l统计行数的功能来对用户进程数的一个估计,并不是非常准确的值。
但完全可用于参考。

如何在清理/tmp文件系统时找到过大的文件?

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题   /tmp文件系统已满,如何找到哪些文件过大,并释放空间。
解答 请用
For Example, 哪些文件大于5M字节.
#cd /tmp
#find . -size +10000 -exec ls -l {} \;
备注:
删除这些过大文件时,请确认其无用


如何限制某用户在特定 pty 的访问。

环境   产品: AIX
平台: RS
软件版本: AIX V4
问题  用户想限制某些端口的访问。
解答 用户可以编辑/etc/security/user. For example:


test:
admin = false
admgroups = system
ttys = !/dev/pts/0,ALL


结果是用户test可以在除了pts/0以外的所有端口登录,当test在pts/0登录时,
系统报错You are not allowed to access the system via this terminal.


IBM pSeries和 RS/6000 哪些型号可以安装SuSE linux?

环境   平台:RS
问题  IBM pSeries和 RS/6000 哪些型号可以安装SuSE linux?
解答 到2002年6月4日为止,RS6/6000 B50,150 和F50可以安装SuSE Linux for PowerPC Version 6.4 (支持32位内核);目前pSeries 和 RS/6000 中除p680外均可安装SuSE Linux Enterprise Server (SLES) Version 7(支持64位内核)。

更多信息可查看:

http://www.suse.com
http://www.suse.com/us/products/suse_business
/sles/sles_iSeries_pSeries/index.html


如何在图形登录和命令行登录方式间切换?

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  用户需要在 CDE 的两种登录方式中切换。
解答 请用
#/usr/dt/bin/dtconfig -e 激活图形登录方式
#/usr/dt/bin/dtconfig -d 激活命令行登录方式

如何处理 mountd 和 nfsd 无法正常启动

环境  S/390或zSeries;OS/390
问题  网络文件系统(NFS)是UNIX的通用网络协议,允许文件或打印机通过网络实现共享。在AIX操作系统中,对 NFS 的管理有5个进程,分别是biod, nfsd, rpc.mountd, rpc.statd 和rpc.lockd. 本文将就如何处理nfsd和mountd无法正常启动的问题加以简单介绍,因为在实际工作中,经常会遇到这类情况。
1. mountd 和 nfsd 进程的介绍
2. mountd 进程没有启动
3. nfsd 进程没有启动

解答 1. mountd 和 nfsd 进程的介绍

mountd 进程是一个远程过程调用 (RPC) ,其作用是对客户端要求安装(mount)文件系统的申请作出响应。mountd进程通过查找 /etc/xtab文件来获知哪些文件系统可以被远程客户端使用。另外,通过mountd进程,用户可以知道目前有哪些文件系统已被远程文件系统装配,并得知远程客户端的列表。

nfsd 进程运行在服务器端,负责处理远程客户端对本机文件系统的操作。每一个nfsd进程同时只处理一个客户端的操作申请,因此在一台NFS服务器上可能会启动多个 nfsd进程。

2. mountd 进程没有启动

如果mountd进程没有启动,我们需要检查以下内容: 1)99%的可能性是loopback的名字解析不正确所导致。换句话说,必须保证loopback所对应的 IP 地址是127.0.0.1;同时127.0.0.1所对应的名字是loopback,而不是localhost。我们可以用 "host 127.0.0.1"和 "host loopback"命令来检查。

以下输出结果是正确的:

#host 127.0.0.1
loopback is 127.0.0.1, Aliases: localhost
#host loopback
loopback is 127.0.0.1, Aliases: localhost

以下输出结果是错误的:

#host 127.0.0.1
loopback.cn.ibm.com is 127.0.0.1, Aliase: localhost.cn.ibm.com
#host loopback
loopback.cn.ibm.com is 127.0.0.1, Aliase: localhost.cn.ibm.com

如果 host 命令的输出结果是错误的,则需要检查 /etc/hosts 文件以及名字解析的顺序 -- 通常在 /etc/netsvc.conf 文件中加入 hosts=local,bind。

2)使用命令
lslpp -l bos.adt.lib
检查该文件集是否存在,否则需要安装。

3)安装最新的 bos.rte.tty, bos.rte.streams 和 bos.net.nfs.client 文件集。
运行 rpcinfo -p =>应当返回 portmap的注册进程列表。
若进程列表没有返回,则需要启动或重新启动 portmap 进程。
若进程列表返回,则运行 rpcinfo -u localhost mountd 命令,如果有错误,则运行 /usr/sbin/rpc.mountd,从返回的错误信息中获取可能的错误原因。

3. nfsd 进程没有启动

如果 nfsd 进程没有启动,我们需要检查以下内容:

1)首先要确认 NFS 输出列表存在,否则 nfsd 不会启动。可用 exportfs 命令来检查,如果 exportfs 命令没有结果返回或返回不正确,则需要检查 /etc/exports 文件。

2)运行 scls 命令,确保 timod 和 tirdwr 存在 --

#scls              
bufcal fi  ptc sc sna_v5ro  tcp6  tr  udp6
echo ldterm pts sf  snasxm timod ttyp unixdg
en lft0 ptyp sixp spx tioc udp unixst
et nuls sad slog  tcp tirdwr    

否则需要检查 /etc/pse.conf 文件,并取消对它们的注释。

3) 检查名字解析,参见 “mountd 进程没有启动”的第一项。

4)确保以下输出数值不大于 "no -o sb_max"的数值 (尤其在SP系统中)。

# no -a
udp_sendspace
udp_recvspace
tcp_sendspace
tcp_recvspace

#nfso -a
nfs_soketsize
nfs_tcp_socketsize

 


在移植安装(Migration installation)中都有那些文件和数据保留下来?

环境   产品 pSeries,RS6000
问题  在移植安装(Migration installation)中都有那些文件和数据保留下来?
解答 操作系统使用移植安装(Migration installation)的方式升级AIX版本,例如: AIX 3.2, AIX 4.1, AIX 4.2, 或者 AIX 4.3 到 AIX 5L 5.1 。 除了/tmp目录将被覆盖外,此方式将保留所有文件系统,包括根(root)卷组的数据, 逻辑卷数据和系统配置文件。移值安装(Migration installation)的方式在AIX 3.2,AIX 4.1和 AIX 4.2 的机器上是缺省的安装方式。


如何阻止某些用户远程登录,telnet,rlogin?

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  出于安全考虑,需要使某些用户只能在控制台登录使用,而不允许远程使用
解答 请编辑
/etc/security/user
更改需要限制的用户属性 rlogin = false
当尝试远程登录时,系统报错:Remote logins are not allowed for this account

如果想将linux应用移植到pSeries和RS/6000上,哪里有参考资源?

环境  平台: pSeries, RS/6000
问题  如果想将linux应用移植到pSeries和RS/6000上,哪里有参考资源?
解答 用户如果想将linux应用移植到pSeries和RS/6000上,在Aix 4.3和Aix 5.1上都可以用AIX Toolbox for Linux Applications来重新编译应用。
书号为SG24-6033-00的红皮书对此有很好的阐述。
具体网址如下: http://www.redbooks.ibm.com/abstracts/sg246033.html

 

 


如何下载RS/6000相关的补丁(Fix,PTF),维护包及微码(Microcode)

环境  产品: pSeries, RS/6000
平台: Aix
问题  如何下载RS/6000相关的补丁(Fix,PTF),维护包及微码(Microcode)
解答 要下载RS/6000相关的补丁(Fix,PTF),维护包及微码(Microcode),可以先访问如下网址:


http://www-900.ibm.com/cn/support/r6download.shtml


先参考页面中的下载使用指南,然后点击相应的连接进行下载。

 


Aix 4.3上支持超过2GB的文件吗?

环境  平台: pSeries, RS/6000
版本: Aix 4.3
问题  Aix 4.3上支持超过2GB的文件吗?
解答 Aix 4.3上最大能支持64GB的文件尺寸,这需要在创建文件系统时(运行crfs)选中支持大文件(large file enabled)选项.
如果这一选项没有被选中,Aix 4.3支持的最大文件尺寸是2GB.

 

 


AIX无线系统管理器

内容
提要  本篇文章阐述了所有可能解决系统空间不足的方法,您并不需要按照所列的步骤全部执行,选取其中最有效的一种或几种方法即可。
说明 在今天的7X24小时不断运行的商业环境中,工作和生活的界限已变得越来越模糊。普及计算使得人们可以随时进行商务活动,与同事沟通,并接收有关信息----不论是在办公室还是在别的地方。
WSMA通过使用无线设备把移动服务器管理带进了一个新天地。使用标准的WAP手机,系统管理员可以通过使用AIX用户认证登录到AIX系统中,监视系统并执行一些关键业务的管理功能。用“推”技术实施的按条件进行的服务器报警功能把IT人员从控制台上解放出来。它也可以把短消息发送到管理员的手机上来通知他预先定义的条件已经被触发。  
说明 背景
自从1994年Sprint 推出了个人通信系统(PCS)---电话服务以来,美国无线工业在北美的企业和消费市场上几乎无所不在。尽管在西欧和亚太地区有些滞后,无线数据通信的营业收入还是预计比无线话音通信的营业收入增长快。

移动Internet是需要基于标准的无线协议和数据表示的无线互联的网络。据Dataquest的预计,最通用的无线协议是WAP,到2002年,基于WAP的手机销量会达到2.5亿台。事实上,Gartner Group预计,到2004年,95%的新手机都会是能使用WAP的。

对WAP的支持并不限于无线手机。目前在市场上有许多可用的WAP浏览器,最著名的是那些基于Palm OS的PDA。也有的是基于LINUX 的无线嵌入式设备,作为通用的标准WAP浏览器在某些地方流行。随着对3G高速载运服务的承诺,将会把速度提高到每秒传递一百万比特信息,可以想象在将来,移动用户可以用手机连接到所有需要连接的移动设备上!在无线网络上将会有开放的基于标准的安全措施来保证完成可信的、保密的端到端的电子商务。

高速的可靠的移动网络使得移动用户或IT人员能够使用一个无线的构架来管理其应用和系统。AIX无线系统管理器(Wireless System Manager for AIX [WSMA])就是一个无线的系统服务,它允许对系统资源进行安全的和保密的管理(如 CPU, 磁盘, 设备和应用)。


AIX无线系统管理器---WSMA
在今天的7X24小时不断运行的商业环境中,工作和生活的界限已变得越来越模糊。普及计算使得人们可以随时进行商务活动,与同事沟通,并接收有关信息----不论是在办公室还是在别的地方。
WSMA通过使用无线设备把移动服务器管理带进了一个新天地。使用标准的WAP手机,系统管理员可以通过使用AIX用户认证登录到AIX系统中,监视系统并执行一些关键业务的管理功能。用“推”技术实施的按条件进行的服务器报警功能把IT人员从控制台上解放出来。它也可以把短消息发送到管理员的手机上来通知他预先定义的条件已经被触发。


与其他类型系统管理的关系
传统的企业管理软件(如Tivoli的TME)是从一个控制台上管理企业中的资源。监视、报告并执行对所管理资源的一些动作是由操作员在一个中央地点进行的。在企业管理系统中,服务器、网络和客户端(包括无线设备)都是被收集、分类和查看的管理工具。如果一个网络问题出现并报警,操作员是要出现场来排错并解决问题的。

WSMA只是帮助一次管理一个服务器。它假设无线网络或设备本身如果出错,仍要用现有的网络和企业管理工具来处理。


认证、保密、授权
WSMA与IBM Everyplace Wireless Gateway在网络上提供了如下的安全功能:


鉴别 ? 用户如何被识别和认证

保密 ? 通过Wireless Transport Layer Security(WTLS) 和 Secure Socket Layer (SSL)协议加密数据

授权 - 根据用户权限允许其相应的动作

这个安全的桥梁用在WTLS和SSL通道之间解密和加密数据的方式在基于WAP的客户端和HTTP服务器端之间提供了很大的灵活性。但是这也显出了一个潜在的敏感数据暴露问题:发送到数据网关本身的数据有安全隐患!因为数据的加解密是在数据网关上进行的。在进行总体网络安全规划和配置时把无线网关置于受保护的地点是一个很重要的考虑事项。


WSMA 组件
WSMA通过使用安全的WAP设备提供对服务器和应用的管理。它使用了一个标准的软件组件集合和无线设备:


一个WAP浏览器, 它必须被载入到一个手机或PDA中

在网络上的一个无线网关

WSMA 设备, 它作为一个标准的HTTP 服务器插件运行在被管理的服务器上

连接层的安全是通过利用PPP协议的Remote Access Service (RAS)来访问企业的intranet。请参考如下的示意图来理解不同的协议、安全组件、WAP手机间的关系、网关和在无线网络中的被管理的服务器。



无线网关
无线网关是一个用于在 WAP 客户端和WSMA间通讯的必需的组件。 它监听从客户端来的数据和消息并翻译 Wireless Session Protocol (WSP) 请求到 HTTP请求,然后再转发到HTTP 服务器。应答报头被从HTTP转换为WSP 应答报头, 内容从WML 和/或 WMLScript 转换成二进制 XML (wbxml),再转发到WAP客户端。 IBM Everyplace Wireless Gateway (EWG) 是一个强壮的、可扩展的 WAP 网关,它可以在企业的网络中配置。


由 WSMA管理的资源
分成以下三类:


查看 - 列出通用的系统信息如 Vital Product Data, 错误日志;

调查 - 通过查看各种系统资源条件确定问题所在;

修正 - 通过启/停系统资源和应用来管理系统和应用。

因为WAP手机的有限的屏幕尺寸,用户接口必须简明,集中。有了这样的意识,对于不同的类别和由WSMA执行的行动请参考下表:

系统信息 VPD/错误: 显示或清除系统错误日志
RAM/CPU/磁盘: CPU使用率,列出磁盘的总空间和空闲空间,列出总的和空闲的页交换空间
问题确定 Ping 主机: 用主机名或IP地址ping主机
进程管理: 通过所有者,所有CPU或当前CPU管理进程
设备管理: 列出在线或离线的设备
管理任务 对用户发wall命令: 发送标准的或客户化的信息给所有登录中的用户;
文件/文件系统/页交换空间:清除或扩展文件系统,mount/unmount 文件系统,查看页交换空间;
进程/子系统:列出或杀死进程,列出/查询/启动/停止/刷新/跟踪子系统;启动/停止/刷新/跟踪子服务器
应用/打印:启动/停止应用;启动/停止/取消打印作业;
重启/停机:重启/停止系统。

 




管理员通过预定义的通知或查看任何异常条件就知道需要做特定的行动,并通过预见某一场景(如计划停机等)来修正系统。
WSMA 的目的并不是替换系统管理控制台,而是在发生错误时帮助处理关键的系统和应用。如果需要,完全的错误诊断和改正可以以后在服务器上执行。


WSMA系统工作过程
以下场景描述了用WSMA的顺序的行动:
1. 管理员配置何种条件需要通知,并输入通知目的地的手机号码或短信息地址
2. 一个短信息出现在管理员的手机上,表示某种条件值得注意。
3. 管理员用WAP设备和密码登录服务器,这个设备跟是接收短信息的设备可能是同一个。.
4. 管理员会看到主菜单,他浏览并执行一个与收到的短信息有关的改正错误的动作。如果该信息是一个动作的通知,如一个作业完成了,管理员可以检查这个作业的状态。
5. 管理员退出,中断会话,挂断手机。



对服务器管理的发送通知赋予了管理员实时响应的能力。连接是安全的,而且是随时随地。这种管理对公共载体的依赖很小,在今天就已经可用的标准的安全协议可以保证我们获得安全的交易和操作,所以通过无线设备管理服务器是不仅可能的,也是现实的。






如何改变上传ftp文件的缺省读写属性?

环境  AIX 4
问题  如何改变上传ftp文件的缺省读写属性?
解答 在AIX环境中,当用户从Windows上传文件到AIX服务器时
所传文件的缺省读写属性为640(rw-r-----)。如想改变
缺省读写属性为644,首先用vi编辑器打开/etc/inetd.conf
文件,在"ftp"定义行的末尾加上"-u 033",然后刷新inetd进程:

refresh -s inetd

这就改变了ftp文件的缺省属性。

 


AIX中的 rmss 命令的用途

环境  产品,平台,机型, RS6000, Pseries
软件版本, AIX v4
问题  AIX中的 rmss 命令的用途是什么? 如何使用 rmss 命令?
解答 rmss 是在现有物理内存大小的基础上模拟服务器的物理内存大小的命令, 而无需拔出或替换内存芯片. 通过在不同的内存下运行同一应用,可以确定应用在正常运行时所需内存的尺寸.
例如:

#rmss -c 2048  :模拟2GB的内存
#rmss -p  :显示当前模拟内存的大小
#rmss -r  :重置内存,使之恢复到实际内存尺寸

 

 

 


在AIX 4.x如何清除挂起的tty(-)

环境  RS6000, AIX 4.x
问题  在AIX 4.x如何清除挂起的tty
解答 为了说明方便,下面的例子假设挂起的tty端口为tty0.

1.确定当前挂起的tty正在操作的进程:

ps -ef | grep tty0

该命令假设返回内容如下:

root 12345 1 0 Aug 29 0 /path/program_name

进程ID (PID) 是"12345". 杀掉该进程:

kill -9 12345

再次运行ps -ef | grep tty0 命令去查看该进程是否被杀掉。

不要使用“-9”的选项去杀掉slattach进程,因为它可能导致AIX操作系统挂起。
注意:如果进程是“getty”, 使用下面命令去杀掉进程:
pdisable tty0
如果上面命令不能成功的杀掉进程,而tty仍然是挂起的,可以使用第二步。


2. 执行下面的命令:

fuser -k /dev/tty0

该命令将杀掉运行在此端口的所有进程,并且显示其PID (进程 ID).
如果上面命令不能成功的杀掉进程,而tty仍然是挂起的,可以使用第三步。


3. 在被挂起的终端的键盘上,键入“Ctrl+Q”. 如果tty仍然挂起,使用第四步。


4. 物理的断开连接端口的设备(连线). 在某些情况下可以释放端口.

注意:前面的一些命令也许不会生效并且报”设备忙“的错误。这是由于一些进程正运行在tty上。如果上面的步骤仍不能释放挂起的tty,最后可以通过重起AIX释放内核去清除此进程。

 

 


在AIX中扩展卡的逻辑名和它所在插槽的对应关系

环境  产品, Pseries, RS6000
软件版本, AIX
问题  在IBM的Pseries 服务器中,相同类型的扩展卡可以插多块,但是AIX如何确定每一块卡所在的插槽?
解答 可用以下步骤来确定它们的关系:

1. 检查相同类型的卡的逻辑名及个数.

例如确定服务器中以太网卡的名称:
# lsdev -Cc adapter |grep en
ent0 Available 1A-08 IBM 10/100 Mbps Ethernet PCI Adapter (23100020)
ent1 Available 21-08 IBM 10/100 Mbps Ethernet PCI Adapter (23100020)

2. 通过查看Device Specific. 的值,确定其所对应的插槽.
如:


# lscfg -vl ent0  DEVICE            LOCATION          DESCRIPTION  ent0              1A-08             IBM 10/100 Mbps Ethernet PCI Adapter                                      (23100020)        Serial Number...............22010344        FRU Number..................091H0397        Part Number.................091H0397        Network Address.............000629DC698C        Displayable Message.........PCI Ethernet Adapter (23100020)        Device Specific.(YL)........P1-I3/E1            I3 表示此网卡插在第三槽上.# lscfg -vl ent1  DEVICE            LOCATION          DESCRIPTION  ent1              10-80             IBM 10/100 Mbps Ethernet PCI Adapter                                      (23100020)        Network Address.............0004ACE4AF6D        Displayable Message.........PCI Ethernet Adapter (23100020)        Device Specific.(YL)........P2/E1    是集成在主板上的网卡.
 

 


如何对系统做镜像以提高系统高可用性和性能

环境  RS6000
问题  如何对系统做镜像以提高系统高可用性和性能
解答    通常情况下, 对系统做镜像会提高系统的高可用性, 即当其中一块盘损坏或数据区不可用时,系统会自动使用其镜像盘或镜像数据区进行正常的业务操作. 在以RS/6000系统为基础的数据库应用中做镜像有三种方式, 第一种方式是通过做RAID10直接对硬盘做镜像, 需要增加相应的适配卡支持. 可以对裸设备或文件系统做镜像. 第二种方式是通过AIX操作系统做RAID1, 只能对文件系统做镜像. 第三种方式是通过数据库系统做镜像,可以对裸设备或文件系统做镜像. 对于这三种方式一般建议大家采取前两种方式会取得比较好的系统性能和高可用性.本文主要讨论使用RAID1做镜像时系统拥有的盘数对性能的影响.

   做RAID1镜像时,可以对卷组中指定的逻辑卷单独做镜像, 也可以对整个卷组做镜像. 对卷组中指定的逻辑卷做镜像时, 最好要求该卷组有三块或三块以上的硬盘以保证数据高可用性. 若对整个卷组做镜像则没有对卷组内硬盘个数的限制.此外要求镜像最好位于不同的硬盘, 当其中某块硬盘损坏时其镜像盘仍可工作, 以提高系统的高可用性.

   下面介绍为什么对卷组中指定的逻辑卷做镜像时, 最好要求该卷组有三块或三块以上的硬盘。

在RS/6000系统中, 每个在VG(卷组)中的物理硬盘都至少有一个VGDA(卷组描述区, 既对该硬盘上的物理和逻辑卷进行描述). VGDA在硬盘的数量有如下规则:


一个卷组只有一块硬盘: 该硬盘有两个VGDA.

一个卷组有两块硬盘: 第一块硬盘有两个VGDA, 第二块硬盘有一个VGDA.

一个卷组有三块或三块以上硬盘: 每块硬盘有一个VGDA.
   在AIX系统中, quorum(一个卷组中的可用VGDA的比率)必须高于51%, 该卷组才可用. 对于只有两块硬盘的卷组, 若第一块硬盘损坏, 则只有33%的VGDA可用, 若第二块硬盘损坏, 则有66%的VGDA可用. 对于有三块或三块以上硬盘的卷组, 若损坏一块硬盘, 至少有66%的VGDA可用.

   对卷组中指定的逻辑卷做镜像时, 若该卷组中只有两块硬盘, 当第一块硬盘损坏时, 其VGDA只有33%可用, 会导致该卷组不可用,这样就使得镜像失去保证硬盘高可用性的功能.

   若该卷组只有两块硬盘又一定要做镜像时, 可以关掉quorum, 即使第一块硬盘损坏也不会使整个卷组不可用,此时系统使用第二块硬盘,但是第二块硬盘的数据将不能镜像. 由此有可能带来数据丢失的风险,第二块硬盘损坏时会导致该卷组不可
用从而引起数据丢失.

   因此, 对卷组中指定的逻辑卷做镜像时, 最好要求该卷组有三块或三块以上的硬盘以保证数据高可用性.

 

 


Debug mode 引导AIX

环境  RS/6000 AIX V5.1
问题  Debug mode 引导AIX
解答 1. 系统要求配置有tty console
2. #bosbot -aI /dev/ipldevice
3. #shutdown -Fr

 

 


kdb command

环境  RS/6000 AIX 5L
问题  启动sendmail
解答 AIX 5L中kdb替代AIX V4的crash命令,作为系统debugger和dump分析工具

 

 


在AIX中如何为一块网卡,配多个IP地址?

环境  产品, Pseries, RS6000,
软件版本, AIX4.3.3
问题  由于应用的环境要求,需在一块网卡上配置多个IP地址,AIX中可以实现吗?
解答 可以。 使用命令ifconfig 即可.其语法为:
ifconfig network_interface second_ip_address netmask your_netmask alias
在ODM中未记录此定义,所以关机后该定义会丢失,若需要的话,可将该命令加在启动文件(/etc/rc.net)中.

如第二个IP地址是 9.185.43.135 可用
# ifconfig en0 9.185.43.135 netmask 255.255.255.0 alias

当该IP地址不再需要时,可从系统中删除.
#ifconfig en0 9.185.43.135 netmask 255.255.255.0 delete
或从/etc/rc.net文件中删除。

 

 


AIX内核参数调整之vmtune -p -P(2)?

环境  AIX 4
问题  AIX内核参数调整之vmtune -p -P(2)?
解答 -p minperm
如果在物理内存中的文件页面数量(file pages)低于此值,页面替换算法将替换文件页和程序页(computational pages),minperm的缺省值约为20%的物理内存。

-P maxperm
如果在物理内存中的文件页面数量(file pages)高于于此值,页面替换算法将只替换文件页,maxperm的缺省值约为80%的物理内存。

如果在物理内存中的文件页面数量在这两个值之间,页面替换算法通常只替换文件页,但是当文件页面的再替换率(repaging rate)高于程序页面时页面替换算法将同时替换文件页和程序页。

 

 


AIX内核参数调整之vmtune -f -F(3)?

环境  AIX 4
问题  AIX内核参数调整之vmtune -f -F(3)?
解答 -f minfree
指出内存在free list中内存页的最低值,此值的范围从8到204800。

-F maxfree
当系统中的空闲内存小于minfree时,系统进行换页操作增加空闲内存页,当空闲内存页的数量大于等于maxfree时,系统换页操作停止。

maxfree的缺省值为minfree+8。maxfree-minfree的差值应大于等于maxpgahead。

注:一个页面的大小为4K。

 

 


Linux 与 Pseries/RS6000

环境  产品, Pseries, RS6000
软件版本, AIX, linux
问题  RS6000/Pseries 服务器上可安装Linux 吗? 应用程序该如何移植?
解答 1. RS6000/Pseries 的低端服务器(B80,270,170,150)可以安装Linux 操作系统. 所使用的系统版本应为 XX Linux on Pseries (由不同的 Linux公司提供) . 其上编译的Linux 应用程序使用的是 Linux 核心.

2. Pseries中的中高端服务器目前不可安装Linux, 但可以安装 AIX Toolbox for Linux Applications for Power System, 该工具箱提供了Linux API 接口, 在其上编译的Linux 应用程序使用的是AIX核心.

3. 在 XX Linux on Pseries环境下编译的程序,移植到AIX Toolbox for Linux Applications 中需重新编译,反之亦然.

 

 


AIX内核参数调整之vmtune -M(5)?

环境  AIX 4
问题  AIX内核参数调整之vmtune -M(5)?
解答 -M maxpin
此值指出系统中能够常驻(pin)在内存中的最大的内存页的数量缺生值为80%的物理内存,应保证至少有4M的内存不被常驻,以供内核使用。

 

 


AIX内核参数调整之vmtune -r -R(4)?

环境  AIX 4
问题  AIX内核参数调整之vmtune -r -R(4)?
解答 -r minpgahead
指出何时启动提前读的功能,此值应为2的倍数,缺省值为2。

-R maxpgahead
指出最大的提前读的页数,此值应为2的倍数,缺省值为8,此值应大于minpgabead,最大值为512。maxfree-minfree的差值应大于等于maxpgahead。

 

 


如何确定一文件系统是Large File Enabled的文件系统?

环境  平台, Pseries, RS6000,
软件版本, AIX 4.3.3
问题  在AIX 4.3.3中既支持standard filesytem,也支持Large File Enabled file system, 如何确定一文件系统是Large File Enabled file system 还是 standard filesytem?
解答 可使用 lsfs -q filesystem_name 命令来查看.

例如:
#lsfs -q /home


Name  Nodename Mount Pt VFS Size Options  Auto  Accounting
/dev/hd1 --  /home  jfs 131072 --  yes no

(lv size: 131072, fs size: 131072, frag size: 512, nbpi: 4096, compress: no, bf: false, ag: 8)

bf:false 表示是standard filesystem
bf:true 表示是Large File Enabled file system.

 

 


如何在命令行下运行update_all?

环境  AIX 4.3
问题  如何在命令行下运行update_all?
解答 在系统升级时可在SMIT中运行update_all,如果需要在命令行下运行
可用如下方法:
用lslpp -l命令产生一个系统中已安装文件集的列表,将此列表存入一个
文本文件,编辑此文件使其具有以下形式:

bos.rte.install
bos.sysmgt.sysbr
......

用以下命令安装:

installp -agXd /dev/cd0 -e /tmp/install.log -f /<path>/<file>

其中<file>位所生成的文本文件,<path> 为<file>所在的路径。





手工删除smit菜单

环境  AIX V4
问题  手工删除smit菜单
解答 手工删除smit菜单的步骤如下:

1、export ODMDIR=/usr/lib/objrepos
2、rm $HOME/smit.log
3、smit -D并执行想删除的一些菜单命令,查看smit.log中id的值
4、odmget -q id=*** sm_menu_opt >/tmp/smit
5、odmdelete -q id=*** -o sm_menu_opt
6、vi /tmp/smit
7、odmadd /tmp/smit

 

 


6230 SSA卡上快写缓存的设置?

环境  AIX 4.3
问题  6230 SSA卡上快写缓存的设置?
解答 对于使用SSA卡的用户,卡上的快写缓存可以极大的提高磁盘的I/O性能,用户应首先检查SSA卡上是否配置了快写缓存。


# lscfg -vl ssa0  DEVICE            LOCATION          DESCRIPTION  ssa0              11-08             IBM SSA 160 SerialRAID Adapter                                      (14109100)        Part Number................. 27H1204        FRU Number.................. 34L5388        Serial Number...............S1072088        EC Level....................    E28793        Manufacturer................IBM053        ROS Level and ID............8300    0000        Loadable Microcode Level....05        Device Driver Level.........00        Displayable Message.........SSA-ADAPTER*       Device Specific.(Z0)........SDRAM=128*       Device Specific.(Z1)........CACHE=32        Device Specific.(Z2)........UID=006094BF00003CDC        Device Specific.(YL)........U0.1-P1-I1/Q1        此卡配置了128MB的读缓存和32MB的快写缓存。如果配置了快写缓存,改变SSA磁盘的配置,使其使用快写缓存# smitty device    SSA Disks      SSA Logical Disks         Change/Show Characteristics of an SSA Logical Disk             hdisk? Available 11-08-L SSA Logical Disk Drive                Enable Fast-Write                         yes  如果'Enable Fast-Write' 是no,将其改为yes。




支持Xwindows最少需要安装那些文件集(Fileset)?

环境  AIX 4.3 OR AIX 5.1
问题  支持Xwindows最少需要安装那些文件集(Fileset)?
解答 支持Xwindows需要以下文件集:

X11.apps.*
X11.base.*
X11.compat.*
X11.fnt.*
X11.motif.*

运行CDE, 需要安装

X11.Dt.*

如果希望远程使用CDE仿真,需要安装

X11.fnt.fontServer

 

 


如何改动IP地址

环境  RS6000,AIX V4
问题  如何改动IP地址
解答 如果用smit mktcpip去改动IP地址,就会在/etc/hosts中加一项,而且以前的地址仍保留,正确的做法是smit tcpip---Further configuration---Network interface----Network Interface Selection----Change/Show characteristics of a Network interface 去改动

 

 


启动sendmail

环境  RS6000,AIX V4
问题  启动sendmail
解答 如果用startsrc -s sendmail 启动,sendmail不会做为守护进程被启动,必须用startsrc -s sendmail -a "-bd"来启动

 

 


如何显示格林威治时间

环境  RS6000,AIX V4
问题  如何显示格林威治时间
解答 用date -u可以显示格林威治时间

 

 


如何打开锁死的帐户

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  用户设置某帐户如果连输3次错误的密码就把帐户锁死,但不知如何打开。
解答 用户错误登陆信息记录在/etc/security/lastlog文件中。
只要将 unsuccessful_login_count = 3 改为 unsuccessful_login_count = 0
即可打开锁死帐户。

IBM INFORMIX数据库级备份都备份了哪些内容?

环境  RS6000, IBM INFORMIX
问题  IBM INFORMIX数据库级备份都备份了哪些内容?
解答 在IBM RS6000系列机器上,系统管理员一般要定期做操作系统的备份和数据库系统的备份。那么做IBM INFORMIX数据库级备份时都备份了哪些内容呢?

一般IBM INFORMIX数据库备份分为系统备份和逻辑日志备份。有的客户认为在做系统备份时系统会将逻辑日志文件一起备份,这种理解是不正确的。

系统备份将备份数据库系统的数据,包括对根dbspace(rootdbs)和数据dbspace(datadbs)的数据的备份,它不会备份临时dbspace(tempdbs)、逻辑日志和未分配使用的根dbspace和数据dbspace的空间。

逻辑日志备份将备份系统的逻辑日志文件。

由此可见系统备份和逻辑日志备份是完全不同的,它们不可以相互替代。

 

 


在RS6000系列机器上如何配置IBM INFORMIX数据库临时数据库空间?

环境  RS6000, IBM INFORMIX
问题  在RS6000系列机器上如何配置IBM INFORMIX数据库临时数据库空间?
解答 在RS6000系列机器上安装IBM INFORMIX数据库时,一般会配置临时数据库空间以提高系统性能。那么为什么要配置及如何配置这些临时数据库空间呢?

例如在IBM INFORMIX数据库中若执行了下面的操作,将会产生临时文件或临时表:
1.建立索引或使用排序方式的连接时;
2.使用"order by"或“gruop by”语句时;
3.使用“select ...into temp...”语句创建临时表时;

这些临时表或文件最好放在临时数据库空间中以提高系统性能。
如果数据库系统频繁进行上面的操作,最好创建三个或三个以上大小相同临时数据库空间

 

 


如何改变主机IP地址解析顺序

环境  产品: RS/6000
软件: AIX
问题  如何改变主机IP地址解析顺序
解答 一般主机IP地址的解析顺序依次是DNS,NIS,本机host档案。
要改变这个顺序, 可以建立一个/etc/netsvc.conf文件,并在这个档案中加一行:
hosts=local,bind,nis


这样主机IP地址就先从本地档案(/etc/hosts)开始搜索,其次再去DNS server,最後是NIS server。
也可通过执行
export NSORDER=local,bind,nis
改变环境变量NSORDER 来改变顺序

 

 


不能增加用户,错误信息为3004-687

环境  RS6000, AIX 3.2 -- 4.x
问题  不能增加用户,错误信息为3004-687
解答
检查:

在/etc/passwd文件中是否有错误的语法.
丢失“nobody”用户条目或其格式有错误. 其条目应为:

nobody:!:4294967294:4294967294::/:


 

 


登录失败次数过多

环境  RS6000
问题  登录失败次数过多
解答 在用户登录失败次数过多时,超过了失败次数限制,用户将不能继续登录,需修改/etc/security/lastlog中的失败登录次数参数(unsuccessful_login_count)才可。

 

 


看SSA逻辑盘与物理盘之间对应关系

环境  RS6000
问题  看SSA逻辑盘与物理盘之间对应关系
解答 用ssaxlate -l hdisk#或ssaxlate -l pdisk#可以看SSA逻辑盘与物理盘之间对应关系

 

 


用户名长度问题

环境  RS6000
问题  用户名长度问题
解答 用户名长度最长为八位,这个限制无法改动

 

 


如何判断引起core文件的应用程序

环境  RS6000
问题  如何判断引起core文件的应用程序
解答 core文件是在应用崩溃时记录的内存影象,可以用命令lquerypv -h core 6b0 64可以看出是哪个应用引起了core文件的产生。

 

 


解锁卷组

环境  RS000
问题  解锁卷组
解答 当卷组被锁住时,可通过命令chvg -u vg#来解锁

 

 


inittab中引用的环境变量

环境  RS6000
问题  inittab中引用的环境变量
解答 问题产生原因是由于客户有很多几百k的小文件,将所有的文件系统inode用尽。
在inittab中启动的程序,只引用了/etc/environment中的环境变量,并不引用/etc/profile或/.profile中的变量,所以在用户自定义脚本中如需引用这些变量,需在脚本中加入对它们的引用

 

 


在一个磁带上备份多个文件

环境  RS6000
问题  在一个磁带上备份多个文件
解答 需要用到 tctl来卷带备份,例子如下:


1. dd if=/tmp1 of=/dev/rmt0.1
2. tctl -f /dev/rmt0 rewind
3. tctl fsf 1
4. dd if=/tmp2 of=/dev/rmt0.1
5. tctl -f /dev/rmt0 rewind
6. tctl fsf 2
7.......


恢复步骤相反。

 

 


夏时制问题

环境  RS6000
问题  夏时制问题
解答 每年四月到八月,AIX会缺省使用夏时制,可以用echo $TZ看时区来判断,时区以DT结尾的就使用了夏时制。如果不想用,可以通过smit--system environment--change show date and time---change time zone using system defined values来改变,在弹出的USE DAYTIME SAVING对话框中选择No,选好相应的时区后重启机器既可。

 

 


passwd文件的备份

环境  RS6000
问题  passwd文件的备份
解答 如果误删除了/etc/passwd文件,可以用/etc/opasswd文件恢复,/etc下o开头的文件是相应文件的备份文件。

 

 


如何限制某个用户使用FTP服务

环境  AIX
问题  在AIX中,如何限制某个用户使用FTP服务?
解答 编辑/etc/ftpusers文件,把要限制使用的用户名加进此文件里,这样就限制了此用户使用FTP服务。

 

 


在AIX系统中,如何得到一些偏僻的汉字

环境  AIX  
问题  在AIX 系统中,如何得到一些比较偏僻的汉字?
解答 在AIX的中文汉字库中,zh_CN 中有6763个汉字,而ZH_CN中有20902个汉字。如果用户要用到一些比较偏僻的汉字,建议用户安装中文环境时选择ZH_CN。

 

 


AIX 是否支持 ramdisk

环境   RS6000, AIX
问题  AIX 是否支持 ramdisk? 可否将内存当硬盘来使用,以提高访问速度。
解答 可以. AIX 操作系统支持ramdisk. 可使用mkramdisk命令来创建一个ramdisk. 其文件名为 /dev/rramdisk. 通过命令mkfs在其上建立文件系统来使用它. 用rmramdisk 命令或重新开机来删除ramdisk.

 

 


什么是 inline log

环境  产品, AIX
平台, RS6000, Pseries  
问题  什么是 inline log
解答 在AIX5L 中可以为JFS2的文件系统创建一种新的日志类型。 这就是JFS2所特有的 inline log -- 日志与文件系统在同一逻辑卷上。

通过使用 inline log , 每个JFS2的文件系统可有独立日志设备,而不是整个卷组共享一个日志设备。 在文件系统数量较多的环境下,能够提高系统的RAS(Reliability Availability Serviceability)特性:在系统共享日志设备时, 日志设备的损坏会影响与之相关的所有文件系统。而使用inline log , 则不会出现此种情况。

创建JFS2文件系统时,缺省日志是放在共享的日志设备上, 将 "inline log ? "选项设为 "YES", 则建立了使用inline log 的JFS2 文件系统。


 

 


如何增加文件系统中的inode数目

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  用户需要生成新的文件时,系统报告空间不够,但df -k输出显示空间使用为43%
解答 问题产生原因是由于客户有很多几百k的小文件,将所有的文件系统inode用尽。
解决方案


find / -size 0 -print 删除不必要的0字节文件

增加文件系统大小(鉴于客户的%used是43%,这样会浪费很多空间,不建议使用)

备份文件,重建文件系统,其中参数NBPI(number of bytes per inode)要尽量
小,这样就能在同样大小的文件系统中获得更多的inode
备注:

文件系统中inode的多少由文件系统大小和NBPI(number of bytes per inode)决定
文件系统越大,NBPI越小,那么inode越多,意味能产生的文件和目录越多。

 

 


什么是X-window

环境  产品, RS6000
平台, UNIX
问题  什么是X-window
解答 X-window 是UNIX中功能强大的图形用户接口(GUI),是基于客户-服务器的一种应用技术. 表现为应用可运行在一个功能强大,易与维护的服务器上,而屏幕的输出则显示在另一个工作站上. X-window 技术包括两个成员: X-server 和 Window Manager. X-server 控制图像和窗口的显示, 跟踪鼠标和键盘的操作.一个X-server可控制多个窗口.Window Manager 则用于显示窗口的菜单和边界,提供窗口的移动,转换,最大,最小化操作.

 


如何为调试应用程序性能 定制系统内存环境

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  用户需要为调试应用程序在不同的内存配置下的性能。
解答 操作系统提供了这样的应用来满足客户的需求。
rmss -c memsize (设置需要调试的内存)
rmss -p 显示当前的内存配置
rmss -r 重新恢复至系统的实际内存大小

举例:
#rmss -p
Simulated memory size is 512 Mb.
#rmss -c 128
Simulated memory size changed to 128 Mb.
#svmon -G


  size  inuse free  pin  virtual  stolen
memory  131061  121681 9380 9417  31604  95584
pg space  264192  17306        


其中stolen的内存就是512Mb和128Mb的差。
当在128Mb内存下调试完程序后,恢复系统实际内存大小。
#rmss -r
#svmon -G


  size  inuse  free pin virtual
memory  131061  26245  104816 9417  31604
pg space  264192  17306      

free的内存已经恢复如初。

 

 


关于AIX 4.3.3的内核问题。

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  1.我目前的操作系统运行在多少位的内核上?
2.我目前的机器能支持64bit应用吗?
解答 bootinfo -K
32 操作系统运行在32位内核
64 操作系统运行在64位内核

bootinfo -y
64 你的机器可以支持64位和32位应用
32 你的机器只支持32位应用
备注:

当bootinfo -K为32,bootinfo -y为64时,可以通过smit激活对64位应用的支持
SMIT
System Environments
Change / Show Characteristics of Operating System


 

 


如何在AIX上实现象doskey一样的功能

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  客户需要实现类似doskey一样的功能
解答 在AIX操作系统中可以利用 set -o vi来实现类似功能。
当用户想重复上一个很长的命令时,只需按ESC+k就行,再按k就上滚一条命令,
而按j就可以后滚一条命令,然后回车就可以完成了。更好的是,你可以利用类似
使用vi的方法来编辑你所看到的命令,来达到随意调整的目的。
只一条简单的命令,就节约了宝贵的时间。需要时可以把set -o vi加入到.profile中。

 

 


另一种让vi编辑超大文本文件的方法

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  vi缺省能编辑的最大文件不能超过1,048,560行
解答 在用户目录下生成文件.exrc其中写入
set linelimit=xx000000
这样,就不用每回启动vi时都敲入vi -y xx000000

 

 


如何修改终端的属性以适应特殊需要

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  客户有一个自己开发的应用,其中需要对ctrl+y的响应,来完成特定功能。
但当客户实现时,却发现一按ctrl+y程序就退出了。
解答 客户使用的是telnet终端,其中需要对pty的属性进行修改。
#smit pty
Change / Show Characteristics of the PTY
STATE to be configured at boot time ---------------available -----+
Maximum number of Pseudo-Terminals ---------[256]---------------- #
Maximum number of BSD Pseudo-Terminals -----[16]
其中并没有象tty一样的许多选项:
#smit tty
POSIX special control characters:

INTERRUPT character ------------------------[^c]
QUIT character -----------------------------[^\]
ERASE character ----------------------------[^h]
KILL character -----------------------------[^u]
END OF FILE character ----------------------[^d]
END OF LINE character ----------------------[^@]
2nd END OF LINE character ------------------[^?]
DELAY SUSPEND PROCESS character ------------


阅读全文(4118) | 回复(0) | 编辑 | 精华 | 删除
 


AIX常见问题整理
文章收藏,  网上资源

薛 峰 发表于 2005/7/22 12:46:15

创建时间:2002-08-17
文章属性:原创
文章来源:www.cnsafe.net
文章提交:mayi (mayi99_at_263.net)

by:ciline
来自:www.cnsafe.net

提纲:
用feprom_update升级Firmware 2002-07-24
CHRPSystems系统启动过程的LEDE1DC报错提示 2002-07-24
怎样在AIX5.1中建立热后备(hotspare)磁盘? 2002-07-24
如何让非root用户有权限执行sar命令 2002-07-24
使用errpt命令,产生0315-171错误 2002-07-24
普通用户执行su命令时产生错误:Authenticationdenied. 2002-07-24
查找文件或命令对应的文件集 2002-07-24
AIX5L新特性(一):如何确认CPU的主频? 2002-07-24
如何记录ftplog? 2002-07-24
目前哪些RS/6000支持逻辑分区(LPAR)? 2002-07-11
在移植安装(Migrationinstallation)中都有那些文件和数据保留下来? 2002-07-11
如何在保留安装(Preservationinstallation)方式下自定义需要保留的文件? 2002-07-11
PTF与APAR的区别? 2002-07-11
将man命令查看的内容转换成普通文本文件 2002-07-11
查看bootlog 2002-07-11
inetd.conf文件的恢复 2002-07-11
如何立刻断掉一个已经login的用户? 2002-07-11
使用errdemon客户化系统错误日志文件 2002-07-11
什么版本的Oracle数据库支持AIX5.1 2002-07-11
IBMpSeries和RS/6000哪些型号可以安装SuSElinux? 2002-07-11
如何监控裸设备I/O? 2002-07-11
在AIX上安装RPM格式软件包 2002-07-11
gated 进程介绍和应用 2002-03-25
如何处理 mountd 和 nfsd 无法正常启动 2002-03-25
如何在图形登录和命令行登录方式见切换? 2002-01-29
如何阻止某些用户远程登录,telnet,rlogin? 2002-01-29
如何拒绝某些用户的ftp访问? 2002-01-29
如何查看某用户共启动了多少进程? 2002-01-29
如何在清理/tmp文件系统时找到过大的文件? 2002-01-29
如何限制某用户在特定 pty 的访问。 2002-01-28
如何打开锁死的帐户 2002-01-28
如何下载RS/6000相关的补丁(Fix,PTF),维护包及微码(Microcode) 2002-01-03
如果想将linux应用移植到pSeries和RS/6000上,哪里有参考资源? 2002-01-03
Aix 4.3上支持超过2GB的文件吗? 2002-01-03
IBM INFORMIX数据库级备份都备份了哪些内容? 2001-12-31
在RS6000系列机器上如何配置IBM INFORMIX数据库临时数据库空间? 2001-12-31
如何改变主机IP地址解析顺序 2001-12-30
AIX无线系统管理器 2001-12-30
不能增加用户,错误信息为3004-687 2001-12-20
如何改变上传ftp文件的缺省读写属性? 2001-12-19
AIX中的 rmss 命令的用途 2001-12-19
在AIX 4.x如何清除挂起的tty 2001-12-18
在AIX中扩展卡的逻辑名和它所在插槽的对应关系 2001-12-14
如何对系统做镜像以提高系统高可用性和性能 2001-12-11
Debug mode 引导AIX 2001-12-10
kdb command 2001-12-10
在AIX中如何为一块网卡,配多个IP地址? 2001-12-03
AIX内核参数调整之vmtune -p -P(2)? 2001-11-30
AIX内核参数调整之vmtune -f -F(3)? 2001-11-30
Linux 与 Pseries/RS6000 2001-11-30
AIX内核参数调整之vmtune -M(5)? 2001-11-30
AIX内核参数调整之vmtune -r -R(4)? 2001-11-30
如何在命令行下运行update_all? 2001-11-29
如何确定一文件系统是Large File Enabled的文件系统? 2001-11-29
手工删除smit菜单 2001-11-29
6230 SSA卡上快写缓存的设置? 2001-11-29
支持Xwindows最少需要安装那些文件集(Fileset)? 2001-11-29
如何改动IP地址 2001-11-27
启动sendmail 2001-11-27
如何显示格林威治时间 2001-11-27
看SSA逻辑盘与物理盘之间对应关系 2001-11-27
登录失败次数过多 2001-11-27
用户名长度问题 2001-11-27
如何判断引起core文件的应用程序 2001-11-27
inittab中引用的环境变量 2001-11-27
解锁卷组 2001-11-27
在一个磁带上备份多个文件 2001-11-27
夏时制问题 2001-11-27
passwd文件的备份 2001-11-27
如何限制某个用户使用FTP服务 2001-11-27
在AIX系统中,如何得到一些偏僻的汉字 2001-11-27
AIX 是否支持 ramdisk 2001-11-15
什么是 inline log 2001-11-15
什么是X-window 2001-09-29
如何增加文件系统中的inode数目 2001-09-28
如何为调试应用程序性能 定制系统内存环境 2001-09-28
关于AIX 4.3.3的内核问题。 2001-09-28
如何在AIX上实现象doskey一样的功能 2001-09-28
如何修改终端的属性以适应特殊需要 2001-09-28
另一种让vi编辑超大文本文件的方法 2001-09-28
如何利用grep的一些高级选项更好地管理系统 2001-09-28
IBM RS/6000 CPU 与IBM INFORMIX数据库CPU虚处理器的设置 2001-08-28
AIX 与 LINUX 的结盟 2001-08-17
哪里可以下载AIX上的JDK? 2001-08-02
如何在 AIX 中设置 tftp server 2001-07-31
为什么用CD-ROM有时不能引导AIX 5L 2001-07-16
AIX 5L 5.1中的64位内核 2001-07-12
怎样在AIX 5L 5.1中进行64位和32位内核的切换? 2001-07-12
何谓EtherChannel?在AIX 5L中,它有何增强? 2001-07-12
JFS2 与 JFS的比较 2001-07-11
AIX 5L V5.1介绍 2001-07-10
如何确定pSeries和RS/6000 CPU的主频? 2001-07-04
利用mksysb进行系统备份有什么好处 2001-07-01
如何平稳地停止AIX系统运行? 2001-07-01
如何解决AIX上不能增加新用户,错误讯息 3004-687 2001-07-01
/var/adm/wtmp档案太大怎么办 2001-07-01
在Korn Shell中要如何设定 prompt 才会显示出目前所在的目录? 2001-07-01
2001/06 AIX安全防范有关的补丁(APAR) 2001-06-26
当运行mksysb时,系统报错:“rootvg is locked”(根卷组被锁定) 2001-06-25
如何在Documentation Search Service中删除文档? 2001-06-25
CDE 不能启动解疑(一) 2001-06-25
只有root用户可以登录Xwindows,但普通用户不能登录, 如何处理? 2001-06-25
CDE 不能启动解疑(二) 2001-06-25
执行execd时出现错误0826-604 2001-06-12
如何配置AIX 5L 中的 Processor Entitlement 2001-06-12
AIX 5L 的特点 2001-06-12
怎样镜像rootvg 2001-06-08
AIX 5L v5.1在网络方面增加了那些新功能? 2001-06-08
什么是Dead Gateway Detection(DGD, 失效网关检测)? 2001-06-08
Virtual IP Address (VIPA)虚拟IP地址 2001-06-08
AIX支持的最大socket数 2001-06-08
建立第二个root用户 2001-06-05
如何查看系统的telnetd daemon已启动 2001-05-31
如何使用dd命令备份裸设备 2001-05-31
使用ls或mv *命令时, 产生"Arguments too long"或"Array list too long"的错误信息 2001-05-31
普通用户无法执行su命令 2001-05-31
Aix 版本号介绍 2001-05-31
在AIX4.3.3系统中,为什么oslevel命令的输出不是4.3.3.0 2001-05-31
如何查看CPU的时间片的大小 2001-05-30
恢复文件系统超级块 2001-05-30
tar备份链接文件 2001-05-30
在同网段内同步时间 2001-05-30
在RS6000上,当使用新的7210-025 DVD-RAM 来备份卷组时,可以跨多个CD写文件吗? 2001-05-29
运行iostat -d 命令系统返回警告提示" Disk history since boot not available. " 2001-05-23
设置以太网卡时选择全双工还是半双工? 2001-05-23
怎样确定当前系统是32位或64位? 2001-05-23
AIX Version 4.3 Bonus Pack - 2001年4月版 2001-05-23
AIX V4.3支持超过2GB大文件 2001-05-22
如何在AIX4.3.3中启动或停止dhcpcd 2001-05-22
编辑超大文本文件 2001-05-22
在根目录(/)下执行了rm *,如何恢复系统 2001-05-22
如何解决License Server 启动时的错误 GRL-2050: Fatal error from I4LLMD 2001-05-22
怎样创建固定大小的临时大文件 2001-05-22
smit.log 与 smit.script 文件 2001-05-21
如何减少文件系统中的碎块 2001-05-21
AIX中对软盘操作的DOS兼容命令 2001-05-21
查看系统启动信息(alog) 2001-05-21
如何查看多用户系统中其它终端的属性 2001-05-21
查看SSA磁盘中pdisk与hdisk的对应关系 2001-05-21
如何看机器内的卡及硬盘的微码级别(microcode level) 2001-05-21
如何在dtterm中使用PageUp/PageDown 上下翻页 2001-04-30
如何禁止动态路由 2001-04-30
无法删除文件系统 2001-04-30
如何限制某些用户无法ftp至RS/6000服务器 2001-04-30
如何增加文件系统的空间 2001-04-29
PCI 两口多协议卡(2-Port Multiprotocol PCI Adapter 9-L)的配置方法 2001-04-28
用户转换错误 2001-04-28
杀进程的shell程序 2001-04-25
怎样在AIX中Mount Redhat Linux上的nfs文件系统? 2001-04-25
如何限制用户改变密码 2001-04-24
AIX4.3 的维护包(Maintenance Level) 及推荐维护包(Recommended Maintenance) 2001-03-15
如何自动启动和关闭软件的运行 2001-01-18
光盘驱动器错误0514-062: 指定的设备忙. 2001-01-18
AIX4.3.2下安装显卡GXT130P 2001-01-15
/var/adm/wtmp文件太大 2001-01-15
显示设置启动引导顺序 2001-01-15
安装MAN 2001-01-15
改变主机IP地址解析顺序 2001-01-15
telnet提示"所有的网络端口已用" 2001-01-15
LED 223-229故障的解决 2001-01-05
LED 553故障的解决 2001-01-05
AIX版本号释疑 2001-01-05
/etc/preserve.list文件有什么用? 2001-01-05
LED 201故障的解决 2001-01-05
LED 551,555和557故障的解决 2001-01-05
LED 552,554和556故障的解决 2001-01-05
如何替换损坏的镜像卷组硬盘? 2001-01-05
RS/6000液晶显示屏上显示代码(LED)的含义 2001-01-02
不能增加新用户,错误信息 3004-687 2000-12-29
拨号访问RS/6000的快速配置方法 2000-12-29
解决 10/2000 和 11/2000版的 Update CDs引起的NFS及NIM 错误 2000-12-29
解决升级(Migration) 到 AIX 4.3.3时 可能会遇到的启动失败 2000-12-29
改变磁盘名顺序 2000-12-29
如何确定一个备份带的块大小(Block Size)和类型(Type)? 2000-12-29
如何创建/dev/null文件? 2000-12-28
Netscape Communicator无法正常启动 2000-12-28
如何查找系统中某个文件或命令所对应的文件集? 2000-12-28
从"卷组被锁定"的报错信息中恢复 2000-12-28
从LED C31中恢复 2000-12-28
查看操作系统中是否安装了某个补丁程序的简便方法 2000-12-28
.sh_history文件被破坏了怎么办? 2000-12-28
如何屏蔽某一用户的ftp访问? 2000-12-28
AIX的安装方法及其特点 2000-12-28
无单点故障的SSA卡及7133配置案例 2000-12-28
非root用户的登录问题 2000-12-28
怎样查看RS/6000的物理内存? 2000-12-27
关于2000年10、11月的UPDATE CD 中NFS和NIS的错误 2000-12-27
Communications Server无法启动 2000-12-27
如何在AIX 4.3中安装联机手册? 2000-12-27
何为AIX 5L 2000-12-27
AIX中如何解决不能释放光驱的问题 2000-12-27
使用ftp自动传输文件 2000-12-27
如何快速安装AIX补丁程序? 2000-12-27
如何监控AIX的单个file/lv/pv的繁忙程度? 2000-12-27
检查AIX上的病毒 2000-12-27
定制自己的AIX Login 画面 2000-12-27
系统停在 LED C33 2000-12-26
如何查看物理内存的大小 2000-12-12
使用命令行安装删除文件包 2000-12-12
远程客户可通过"login, ftp"登录, 但不可通过"telnet"登录 2000-12-12
AIX 的许可权限 2000-12-12
如何解决"device busy"问题 2000-12-12
IPCS Limitation(AIX 3.2.5 --- AIX 4.3.2) 2000-12-12
AIX 用户的系统资源使用限制 2000-12-12
AIX 4.3.3 监控系统活动的新命令--TOPAS 2000-12-05
在AIX中设置中文环境 2000-12-04
"Volume Group Locked" 恢复步骤 2000-11-30
如何在CDE中添加图标? 2000-11-28
如何创建 /dev/null 文件 2000-11-27
如何减小 /var/adm/wtmp 文件的大小? 2000-11-27
如何查找系统中的某个文件存在于哪个文件集中? 2000-11-27
怎样使用CDE环境? 2000-11-17
怎样保存当前的CDE环境 2000-11-17
如何使.profile文件在CDE中生效? 2000-11-17
怎样创建共享库? 2000-11-17
何谓COSE? 2000-11-16
进程kproc 2000-11-14
如何管理Paging Space 2000-11-14
异步I/O (aio) 2000-11-14
裸设备(Raw Device) 2000-11-14
在AIX4.3.3系统中,为什么oslevel命令的输出不是4.3.3.0? 2000-11-13
AIX 4.3.3 的中文输入 2000-11-13
libc.a 文件恢复 2000-11-13
何为AIX/Montery 2000-11-13
如何使用 IBM HTTP Server 支持AIX 联机文档? 2000-11-13
7133硬盘连接验证"good" 及"reserved" 2000-11-13
如何从 LED 553 恢复 2000-11-13
RAID 技术简介 2000-11-10
如何减小hd6页面空间 2000-11-09
在做RS/6000 AIX 订单配置时, 需要配置用户数么? 2000-08-04
如何下载 RS/6000 PTF(Fixes) 及 Firmware? 2000-06-13





FAQ:

怎样在AIX 5.1中建立热后备(hot spare)磁盘?

环境  AIX 5.1
问题  怎样在AIX 5.1中建立热后备(hot spare)磁盘?
解答 在AIX 5.1中可以在操作系统的级别上建立hot spare磁盘。
如需要在某一卷组(VG)中建立hot spare磁盘,必须满足如下条件:
1. 逻辑卷(LV)在此卷组中必须进行镜像(mirror)。
2. 作为hot spare的磁盘上不能有任何的逻辑卷或文件系统。
3. hot spare盘的容量应大于或等于此卷组中最大磁盘的容量。

当满足以上条件后,可采用以下步骤(此处假设卷组名为testvg,
磁盘为hdisk6):


1. # exptendvg testvg hdisk6
将hdisk6加入卷组testvg。


2. # chpv -hy hdisk6
将hdisk6标记为hot spare磁盘。


3. #chvg -hy -sy testvg
将testvg标记为使用hot spare盘的卷组,并且当发生磁盘失效
时自动进行磁盘的替换并同步。

 


用feprom_update升级 Firmware

环境  平台: RS/6000
问题  用feprom_update升级 Firmware
解答 在AIX 4.3,命令feprom_update会得到报错:
1734-009 cannot write in FEPROM

一旦得到此提示,表示firmware坏了,系统将无法启动。
此问题可能会在以604e为处理器的SMP系统上(也包括SP高结点)出现。在升级Firmware之前,应先检查APAR IX84560是否已装到系统中。
请从下面网址得到此补丁包:
http://techsupport.services.ibm.com/rs6k/fixes.html


CHRP Systems系统启动过程的LED E1DC 报错提示

环境  平台: RS/6000
版本: AIX 4.3
问题  CHRP Systems系统启动过程的LED E1DC 报错提示
解答 用比硬盘上安装的AIX版本还低的AIX 安装盘或诊断光盘启动CHRP结构的RS/6000机器,往往会遇到E1DC LED报错提示.

确定一个机器是否为CHRP结构,可用如下命令:
lslpp -L devices.chrp.base.rte

如果devices.chrp.base.rte文件包存在,则是CHRP结构;
如果没有此文件存在,此问题不会发生.
要防止此问题的办法是打补丁包:APAR IX79693.
它包含在AIX 4.3.2和4.3.2 diagnostics CD中(P/N 08L1427 or 08L1430)。
如果发生这个问题,唯一的方法是在系统下电后取下电池,10-15分钟后装回即可。


普通用户执行su命令时产生错误:Authentication denied.

环境  产品:AIX
平台:RS
软件版本:4.3
问题  当普通用户执行su命令su到root或其它普通用户时,产生错误:Authentication denied。
解答 使用命令 ls -l /usr/bin/su检查su文件的权限,正确的权限应为:-r-sr-xr-x root security ...
如果权限不正确,使用以下命令修改:
# cd /usr/bin
# chmod 4555 su


如何让非root用户有权限执行sar命令

环境  产品:AIX
平台:RS
软件版本:4.3
问题  如何让非root用户有权限执行sar命令
解答 可通过smit --> Security & Users --> Users --> Change/Show Characteristics of a User 修改用户的属性,将“adm”组加入该用户的Primary GROUP中即可。


使用errpt命令,产生0315-171错误

环境  产品:AIX
平台:RS
软件版本:4.3
问题  当使用命令errpt -a查看系统的错误报告时,产生错误:0315-171: 不能处理错误日志文件/var/adm/ras/errlog
解答 该错误的产生是由于/var/adm/ras/errlog文件被破坏导致的,可以用如下步骤删除现有文件,使系统自动生成一个新的/var/adm/ras/errlog文件:

1. /usr/lib/errstop
2. rm /var/adm/ras/errlog
3. /usr/lib/errdemon


如何记录ftp log?

环境  RS6000 & pSeries
AIX 4.3 和 AIX 5L
问题  如何记录ftp log?
解答 缺省情况下, 系统不会记录使用FTP连接和传输文件的日志(log). 这会对系统造成安全隐患,尤其在用户使用匿名ftp方式时。为了避免这种情况发生, 可用如下的步骤使系统记录FTP的日志:
1.修改/etc/syslog.conf文件,并加入一行:
daemon.info FileName
其中FileName是日志文件的名字, 它会跟踪FTP的活动,包括匿名和其他用户ID. FileName文件必须在做下一步骤前创建。

2.运行"refresh -s syslogd"命令刷新syslogd 后台程序。

3.修改/etc/inetd.conf文件,修改下面的数据行:
ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd -l

4.运行“refresh -s inetd”命令刷新inetd后台程序。


查找文件或命令对应的文件集

环境  产品:AIX
平台:RS
软件版本:4.3
问题  查找文件或命令对应的文件集
解答 1. 确认系统中已安装了文件集:bos.content_list

2. 查找文件或命令所对应的文件集,使用命令:
# /usr/sbin/which_fileset <filename>
如:/usr/sbin/which_fileset iostat

3. 查看指定的文件集包含哪些文件,使用命令:
# lslpp -f <fileset>
如:lslpp -f bos.acct


AIX 5L 新特性(一):如何确认CPU的主频?

环境  硬件平台:rs6000 & pSeries
操作系统:AIX 5L
问题  AIX 5L 新特性(一):如何确认CPU的主频?
解答 在AIX 5L中可以非常方便的确认CPU的主频,使用如下命令:
lsattr -El proc0
在命令输出的最后一行中"frequency"所指的值既为CPU的主频。
在AIX 4.3版本中无此功能。


目前哪些RS/6000支持逻辑分区(LPAR)?

环境  RS/6000 AIX 5L
问题  目前哪些RS/6000支持逻辑分区(LPAR)?
解答 支持逻辑分区的RS/6000型号:
P630(1,2,4-way CPU)
P670(4,8,16-way CPU)
P690(8,16,24,32-way CPU


PTF 与APAR的区别?

环境   产品: pSeries, RS6000
软件版本: AIX4.3 AIX 5L
问题  PTF 与APAR的区别?
解答 PTF是Program Temporary Fix的简称。 一个PTF是指一个升级的文件束(fileset)或着一个修正了以前操作系统问题的文件束。使用installp命令安装。

APAR是Authorized Program Analysis Report的简称。 一个APAR指的是一个特殊的或着紧急的fix、e-fix, 对操作系统而言是单一性的错误问题。APAR有可能经过测试和认证后成为PTT。 APAR使用instfix命令安装。


如何在保留安装(Preservation installation)方式下自定义需要保留的文件?

环境   产品: pSeries,RS6000
问题  如何在保留安装(Preservation installation)方式下自定义需要保留的文件?
解答 使用保留安装(Preservation installation)方式在安装了BOS时保留根(root)卷组的数据,但是/usr,/tmp 和/var及/(根)文件系统将被覆盖。因此在上面的文件系统下的数据将丢失。如果想保留这些文件系统,可以在/etc/preserve.list文件中加入想保留的文件系统。例如如果想保留/var下的文件,可以将/var目录加到/etc/preserve.list文件中。


查看boot log

环境   产品:AIX
平台:RS
软件版本:4.3
问题  如何查看系统上次启动的log?
解答 # alog -o -t boot


将man命令查看的内容转换成普通文本文件

环境   产品:AIX
平台:RS
软件版本:4.3
问题  如何将man命令查看的内容转换成普通文本文件,供打印或进一步查看?
解答 可使用下面的命令将用man查看的ls命令的内容转换为文本文件man.txt:
# man ls | col -b > man.txt


inetd.conf 文件的恢复

环境   产品:AIX
平台:RS
软件版本:4.3
问题  inetd.conf 文件的恢复
解答 有时由于某种原因, /ETC/INETD。CONF文件损坏。
会对机器带来TCP/IP方面问题: 如 FTP
可用以下步骤来恢复INETD。CONF 文件。

# vi /etc/inetd.conf
# stopsrc -s inetd
#mv /etc/inetd.conf /etc/inetd.conf.old
#cd /usr/lpp/bos.net/inst_root/etc
#cp inetd.conf /etc/inetd.conf
#startsrc -s inetd


如何立刻断掉一个已经login的用户?

环境   产品:AIX
平台:RS
软件版本:4.3
问题  如果想要立刻断掉一个已经login的用户,如何做
解答 可使用命令 fuser -k <用户的主目录>
如:fuser -k /home/guest


使用errdemon客户化系统错误日志文件

环境   产品: pSeries, RS/6000
软件版本: AIX 4.3, AIX 5L
问题  如何使用errdemon客户化系统错误日志文件?
解答 首先列出系统错误日志文件当前配置数据:

#/usr/lib/errdemon -l

Error Log Attributes
--------------------------------------------
Log File /var/adm/ras/errlog
Log Size 1048576 bytes
Memory Buffer Size 8192 bytes

如果希望改变系统错误日志文件的大小, 输入:

#/usr/lib/errdemon -s 2000000

如果希望改变系统错误日志文件buffer的大小, 输入:

#/usr/lib/errdemon -B 16384


什么版本的Oracle数据库支持AIX 5.1

环境   oracel, aix
问题  什么版本的Oracle数据库支持AIX 5.1
解答   AIX 4.3.3 AIX 5L
8.1.7 32-bit  Yes Yes
  now (Production) now (Production)
     
8.1.7 64-bit Yes  
  now (Production)  
     
9.0.1 64-bit Yes Yes
  now (Production) now (Developer's Release)
     
9.2 64-bit  Yes Yes
  now (Production) now (Production)
     

 


如何监控裸设备I/O?

环境   产品:pSeries,RS/6000
软件版本:AIX 4.3 AIX 5.1
问题  如何监控裸设备I/O?
解答 sar命令中的“-b”选项可以用于监控裸设备I/O。裸设备一般用于存放数据库数据。

# sar -b 1 3

AIX 6f1 3 4 00023A0F4C00 06/19/02

18:16:30 bread/s  lread/s  %rcache  bwrit/s  lwrit/s  %wcache  pread/s  pwrit/s
18:16:31  0 0 0 0 0 0 0 0
18:16:32  0 0 0 0 0 0 0 0
18:16:33  0 0 0 0 0 0 0 0
                 
Average  0 0 0 0 0 0 0 0

其中bread/s 和bwrit/s显示了块裸设备(block raw device)I/O操作的数目。pread/s 和pwrit/s显示了字符裸设备(character raw device)I/O操作的数目

  


在AIX上安装RPM格式软件包

环境  AIX 4.3.3/5L
问题  在AIX上安装RPM格式软件包
解答 1.从Linux Application Toolbox CD安装Redhat Package Manager - rpm.rte

2.安装RPM格式软件
#rpm -ivh fileset_name

3.检查按装结果
#rpm -q fileset_name

 


gated 进程介绍和应用

内容
提要  我们知道在AIX操作系统中,gated 进程可以支持RIP, RIPng, EGP, BGP, OSPF等协议,甚至还支持SNMP协议。通常来讲,gated进程不能和routed进程同时使用,否则会导致不可预见的错误。
1.如何启动和停止gated
2.gated进程的工作模式
  1) 配置 /etc/gated.conf 支持 RIP 协议
  2)配置 /etc/gated.conf 支持 OSPF 协议

正文 我们知道在AIX操作系统中,gated 进程可以支持RIP, RIPng, EGP, BGP, OSPF等协议,甚至还支持SNMP协议。通常来讲,gated进程不能和routed进程同时使用,否则会导致不可预见的错误。

1. 如何启动和停止gated

gated进程是AIX中系统资源控制系统(SRC)的一个子系统,因此,我们可以用以下命令来启动和停止gated:
startsrc -s gated -- 启动
stopsrc -s gated -- 停止

top

2. gated进程的工作模式
当gated启动时,gated进程会自动查找 /etc/gated.conf 文件,根据 /etc/gated.conf 的配置启动相应的服务。因此,正确地配置 /etc/gated.conf 文件对于gated进程能否正常地启动和工作是至关重要的。

以下就本人的经验对如何配置 /etc/gated.conf 文件,从而启动最经常使用的 RIP 协议和 OSPF 协议,进行介绍:

top

1) 配置 /etc/gated.conf 支持 RIP 协议

# 该 gated.conf 文件将RIP信息的更新通知系统的所有网络接口。同时,当gated进程没有启动或路由信息没有更新时,保留路由表中的静态路由信息。

# /etc/gated.conf

traceoptions "/tmp/gated.trace" all ;

redirect yes ;

rip yes {
interface all ripin ripout;
};

static {
default gw 172.16.1.1 retain ;
};

top

2)配置 /etc/gated.conf 支持 OSPF 协议

# 该 gated.conf 文件使 gated 进程在ent0端口使用OSPF 协议。并从9.185.40.1(路由器端口)接收更新的路由信息。如果要侦听多个路由器端口,就把这些端口的地址放入 eligible 项中。



################# gated configuration for CLIENT ############

traceoptions "/var/tmp/gated.log" all ;
routerid 1
rip no ;
ripng no;
hello no;

ospf yes {
traceoptions state detail packets ;
area 0.0.0.1 {
interface ent0 nonbroadcast cost 1 {
pollinterval 10 ;
routers {
9.185.40.1 eligible;
} ;

retransmitinterval 5;
hellointerval 10;
priority 50;
routerdeadinterval 40;
};
};
};
export proto ospfase {
proto static;
proto kernel;
proto direct;
} ;


 

 


如何拒绝某些用户的ftp访问?

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  出于安全考虑,需要拒绝某些用户的ftp访问?
解答 请编辑
/etc/ftpusers
添加需要拒绝的用户,每用户一行 For example:
#more /etc/ftpusers
ql
当尝试 ftp 登录时,系统报错:
Name (localhost:root): ql
530 User ql access denied.
Login failed

如何查看某用户共启动了多少进程?

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  用户需要查看某个用户是否启动了过多的进程,影响了系统性能
解答 请用
#ps -ef|grep username|wc -l

备注:
这是利用wc -l统计行数的功能来对用户进程数的一个估计,并不是非常准确的值。
但完全可用于参考。

如何在清理/tmp文件系统时找到过大的文件?

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题   /tmp文件系统已满,如何找到哪些文件过大,并释放空间。
解答 请用
For Example, 哪些文件大于5M字节.
#cd /tmp
#find . -size +10000 -exec ls -l {} \;
备注:
删除这些过大文件时,请确认其无用


如何限制某用户在特定 pty 的访问。

环境   产品: AIX
平台: RS
软件版本: AIX V4
问题  用户想限制某些端口的访问。
解答 用户可以编辑/etc/security/user. For example:


test:
admin = false
admgroups = system
ttys = !/dev/pts/0,ALL


结果是用户test可以在除了pts/0以外的所有端口登录,当test在pts/0登录时,
系统报错You are not allowed to access the system via this terminal.


IBM pSeries和 RS/6000 哪些型号可以安装SuSE linux?

环境   平台:RS
问题  IBM pSeries和 RS/6000 哪些型号可以安装SuSE linux?
解答 到2002年6月4日为止,RS6/6000 B50,150 和F50可以安装SuSE Linux for PowerPC Version 6.4 (支持32位内核);目前pSeries 和 RS/6000 中除p680外均可安装SuSE Linux Enterprise Server (SLES) Version 7(支持64位内核)。

更多信息可查看:

http://www.suse.com
http://www.suse.com/us/products/suse_business
/sles/sles_iSeries_pSeries/index.html


如何在图形登录和命令行登录方式间切换?

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  用户需要在 CDE 的两种登录方式中切换。
解答 请用
#/usr/dt/bin/dtconfig -e 激活图形登录方式
#/usr/dt/bin/dtconfig -d 激活命令行登录方式

如何处理 mountd 和 nfsd 无法正常启动

环境  S/390或zSeries;OS/390
问题  网络文件系统(NFS)是UNIX的通用网络协议,允许文件或打印机通过网络实现共享。在AIX操作系统中,对 NFS 的管理有5个进程,分别是biod, nfsd, rpc.mountd, rpc.statd 和rpc.lockd. 本文将就如何处理nfsd和mountd无法正常启动的问题加以简单介绍,因为在实际工作中,经常会遇到这类情况。
1. mountd 和 nfsd 进程的介绍
2. mountd 进程没有启动
3. nfsd 进程没有启动

解答 1. mountd 和 nfsd 进程的介绍

mountd 进程是一个远程过程调用 (RPC) ,其作用是对客户端要求安装(mount)文件系统的申请作出响应。mountd进程通过查找 /etc/xtab文件来获知哪些文件系统可以被远程客户端使用。另外,通过mountd进程,用户可以知道目前有哪些文件系统已被远程文件系统装配,并得知远程客户端的列表。

nfsd 进程运行在服务器端,负责处理远程客户端对本机文件系统的操作。每一个nfsd进程同时只处理一个客户端的操作申请,因此在一台NFS服务器上可能会启动多个 nfsd进程。

2. mountd 进程没有启动

如果mountd进程没有启动,我们需要检查以下内容: 1)99%的可能性是loopback的名字解析不正确所导致。换句话说,必须保证loopback所对应的 IP 地址是127.0.0.1;同时127.0.0.1所对应的名字是loopback,而不是localhost。我们可以用 "host 127.0.0.1"和 "host loopback"命令来检查。

以下输出结果是正确的:

#host 127.0.0.1
loopback is 127.0.0.1, Aliases: localhost
#host loopback
loopback is 127.0.0.1, Aliases: localhost

以下输出结果是错误的:

#host 127.0.0.1
loopback.cn.ibm.com is 127.0.0.1, Aliase: localhost.cn.ibm.com
#host loopback
loopback.cn.ibm.com is 127.0.0.1, Aliase: localhost.cn.ibm.com

如果 host 命令的输出结果是错误的,则需要检查 /etc/hosts 文件以及名字解析的顺序 -- 通常在 /etc/netsvc.conf 文件中加入 hosts=local,bind。

2)使用命令
lslpp -l bos.adt.lib
检查该文件集是否存在,否则需要安装。

3)安装最新的 bos.rte.tty, bos.rte.streams 和 bos.net.nfs.client 文件集。
运行 rpcinfo -p =>应当返回 portmap的注册进程列表。
若进程列表没有返回,则需要启动或重新启动 portmap 进程。
若进程列表返回,则运行 rpcinfo -u localhost mountd 命令,如果有错误,则运行 /usr/sbin/rpc.mountd,从返回的错误信息中获取可能的错误原因。

3. nfsd 进程没有启动

如果 nfsd 进程没有启动,我们需要检查以下内容:

1)首先要确认 NFS 输出列表存在,否则 nfsd 不会启动。可用 exportfs 命令来检查,如果 exportfs 命令没有结果返回或返回不正确,则需要检查 /etc/exports 文件。

2)运行 scls 命令,确保 timod 和 tirdwr 存在 --

#scls              
bufcal fi  ptc sc sna_v5ro  tcp6  tr  udp6
echo ldterm pts sf  snasxm timod ttyp unixdg
en lft0 ptyp sixp spx tioc udp unixst
et nuls sad slog  tcp tirdwr    

否则需要检查 /etc/pse.conf 文件,并取消对它们的注释。

3) 检查名字解析,参见 “mountd 进程没有启动”的第一项。

4)确保以下输出数值不大于 "no -o sb_max"的数值 (尤其在SP系统中)。

# no -a
udp_sendspace
udp_recvspace
tcp_sendspace
tcp_recvspace

#nfso -a
nfs_soketsize
nfs_tcp_socketsize

 


在移植安装(Migration installation)中都有那些文件和数据保留下来?

环境   产品 pSeries,RS6000
问题  在移植安装(Migration installation)中都有那些文件和数据保留下来?
解答 操作系统使用移植安装(Migration installation)的方式升级AIX版本,例如: AIX 3.2, AIX 4.1, AIX 4.2, 或者 AIX 4.3 到 AIX 5L 5.1 。 除了/tmp目录将被覆盖外,此方式将保留所有文件系统,包括根(root)卷组的数据, 逻辑卷数据和系统配置文件。移值安装(Migration installation)的方式在AIX 3.2,AIX 4.1和 AIX 4.2 的机器上是缺省的安装方式。


如何阻止某些用户远程登录,telnet,rlogin?

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  出于安全考虑,需要使某些用户只能在控制台登录使用,而不允许远程使用
解答 请编辑
/etc/security/user
更改需要限制的用户属性 rlogin = false
当尝试远程登录时,系统报错:Remote logins are not allowed for this account

如果想将linux应用移植到pSeries和RS/6000上,哪里有参考资源?

环境  平台: pSeries, RS/6000
问题  如果想将linux应用移植到pSeries和RS/6000上,哪里有参考资源?
解答 用户如果想将linux应用移植到pSeries和RS/6000上,在Aix 4.3和Aix 5.1上都可以用AIX Toolbox for Linux Applications来重新编译应用。
书号为SG24-6033-00的红皮书对此有很好的阐述。
具体网址如下: http://www.redbooks.ibm.com/abstracts/sg246033.html

 

 


如何下载RS/6000相关的补丁(Fix,PTF),维护包及微码(Microcode)

环境  产品: pSeries, RS/6000
平台: Aix
问题  如何下载RS/6000相关的补丁(Fix,PTF),维护包及微码(Microcode)
解答 要下载RS/6000相关的补丁(Fix,PTF),维护包及微码(Microcode),可以先访问如下网址:


http://www-900.ibm.com/cn/support/r6download.shtml


先参考页面中的下载使用指南,然后点击相应的连接进行下载。

 


Aix 4.3上支持超过2GB的文件吗?

环境  平台: pSeries, RS/6000
版本: Aix 4.3
问题  Aix 4.3上支持超过2GB的文件吗?
解答 Aix 4.3上最大能支持64GB的文件尺寸,这需要在创建文件系统时(运行crfs)选中支持大文件(large file enabled)选项.
如果这一选项没有被选中,Aix 4.3支持的最大文件尺寸是2GB.

 

 


AIX无线系统管理器

内容
提要  本篇文章阐述了所有可能解决系统空间不足的方法,您并不需要按照所列的步骤全部执行,选取其中最有效的一种或几种方法即可。
说明 在今天的7X24小时不断运行的商业环境中,工作和生活的界限已变得越来越模糊。普及计算使得人们可以随时进行商务活动,与同事沟通,并接收有关信息----不论是在办公室还是在别的地方。
WSMA通过使用无线设备把移动服务器管理带进了一个新天地。使用标准的WAP手机,系统管理员可以通过使用AIX用户认证登录到AIX系统中,监视系统并执行一些关键业务的管理功能。用“推”技术实施的按条件进行的服务器报警功能把IT人员从控制台上解放出来。它也可以把短消息发送到管理员的手机上来通知他预先定义的条件已经被触发。  
说明 背景
自从1994年Sprint 推出了个人通信系统(PCS)---电话服务以来,美国无线工业在北美的企业和消费市场上几乎无所不在。尽管在西欧和亚太地区有些滞后,无线数据通信的营业收入还是预计比无线话音通信的营业收入增长快。

移动Internet是需要基于标准的无线协议和数据表示的无线互联的网络。据Dataquest的预计,最通用的无线协议是WAP,到2002年,基于WAP的手机销量会达到2.5亿台。事实上,Gartner Group预计,到2004年,95%的新手机都会是能使用WAP的。

对WAP的支持并不限于无线手机。目前在市场上有许多可用的WAP浏览器,最著名的是那些基于Palm OS的PDA。也有的是基于LINUX 的无线嵌入式设备,作为通用的标准WAP浏览器在某些地方流行。随着对3G高速载运服务的承诺,将会把速度提高到每秒传递一百万比特信息,可以想象在将来,移动用户可以用手机连接到所有需要连接的移动设备上!在无线网络上将会有开放的基于标准的安全措施来保证完成可信的、保密的端到端的电子商务。

高速的可靠的移动网络使得移动用户或IT人员能够使用一个无线的构架来管理其应用和系统。AIX无线系统管理器(Wireless System Manager for AIX [WSMA])就是一个无线的系统服务,它允许对系统资源进行安全的和保密的管理(如 CPU, 磁盘, 设备和应用)。


AIX无线系统管理器---WSMA
在今天的7X24小时不断运行的商业环境中,工作和生活的界限已变得越来越模糊。普及计算使得人们可以随时进行商务活动,与同事沟通,并接收有关信息----不论是在办公室还是在别的地方。
WSMA通过使用无线设备把移动服务器管理带进了一个新天地。使用标准的WAP手机,系统管理员可以通过使用AIX用户认证登录到AIX系统中,监视系统并执行一些关键业务的管理功能。用“推”技术实施的按条件进行的服务器报警功能把IT人员从控制台上解放出来。它也可以把短消息发送到管理员的手机上来通知他预先定义的条件已经被触发。


与其他类型系统管理的关系
传统的企业管理软件(如Tivoli的TME)是从一个控制台上管理企业中的资源。监视、报告并执行对所管理资源的一些动作是由操作员在一个中央地点进行的。在企业管理系统中,服务器、网络和客户端(包括无线设备)都是被收集、分类和查看的管理工具。如果一个网络问题出现并报警,操作员是要出现场来排错并解决问题的。

WSMA只是帮助一次管理一个服务器。它假设无线网络或设备本身如果出错,仍要用现有的网络和企业管理工具来处理。


认证、保密、授权
WSMA与IBM Everyplace Wireless Gateway在网络上提供了如下的安全功能:


鉴别 ? 用户如何被识别和认证

保密 ? 通过Wireless Transport Layer Security(WTLS) 和 Secure Socket Layer (SSL)协议加密数据

授权 - 根据用户权限允许其相应的动作

这个安全的桥梁用在WTLS和SSL通道之间解密和加密数据的方式在基于WAP的客户端和HTTP服务器端之间提供了很大的灵活性。但是这也显出了一个潜在的敏感数据暴露问题:发送到数据网关本身的数据有安全隐患!因为数据的加解密是在数据网关上进行的。在进行总体网络安全规划和配置时把无线网关置于受保护的地点是一个很重要的考虑事项。


WSMA 组件
WSMA通过使用安全的WAP设备提供对服务器和应用的管理。它使用了一个标准的软件组件集合和无线设备:


一个WAP浏览器, 它必须被载入到一个手机或PDA中

在网络上的一个无线网关

WSMA 设备, 它作为一个标准的HTTP 服务器插件运行在被管理的服务器上

连接层的安全是通过利用PPP协议的Remote Access Service (RAS)来访问企业的intranet。请参考如下的示意图来理解不同的协议、安全组件、WAP手机间的关系、网关和在无线网络中的被管理的服务器。



无线网关
无线网关是一个用于在 WAP 客户端和WSMA间通讯的必需的组件。 它监听从客户端来的数据和消息并翻译 Wireless Session Protocol (WSP) 请求到 HTTP请求,然后再转发到HTTP 服务器。应答报头被从HTTP转换为WSP 应答报头, 内容从WML 和/或 WMLScript 转换成二进制 XML (wbxml),再转发到WAP客户端。 IBM Everyplace Wireless Gateway (EWG) 是一个强壮的、可扩展的 WAP 网关,它可以在企业的网络中配置。


由 WSMA管理的资源
分成以下三类:


查看 - 列出通用的系统信息如 Vital Product Data, 错误日志;

调查 - 通过查看各种系统资源条件确定问题所在;

修正 - 通过启/停系统资源和应用来管理系统和应用。

因为WAP手机的有限的屏幕尺寸,用户接口必须简明,集中。有了这样的意识,对于不同的类别和由WSMA执行的行动请参考下表:

系统信息 VPD/错误: 显示或清除系统错误日志
RAM/CPU/磁盘: CPU使用率,列出磁盘的总空间和空闲空间,列出总的和空闲的页交换空间
问题确定 Ping 主机: 用主机名或IP地址ping主机
进程管理: 通过所有者,所有CPU或当前CPU管理进程
设备管理: 列出在线或离线的设备
管理任务 对用户发wall命令: 发送标准的或客户化的信息给所有登录中的用户;
文件/文件系统/页交换空间:清除或扩展文件系统,mount/unmount 文件系统,查看页交换空间;
进程/子系统:列出或杀死进程,列出/查询/启动/停止/刷新/跟踪子系统;启动/停止/刷新/跟踪子服务器
应用/打印:启动/停止应用;启动/停止/取消打印作业;
重启/停机:重启/停止系统。

 




管理员通过预定义的通知或查看任何异常条件就知道需要做特定的行动,并通过预见某一场景(如计划停机等)来修正系统。
WSMA 的目的并不是替换系统管理控制台,而是在发生错误时帮助处理关键的系统和应用。如果需要,完全的错误诊断和改正可以以后在服务器上执行。


WSMA系统工作过程
以下场景描述了用WSMA的顺序的行动:
1. 管理员配置何种条件需要通知,并输入通知目的地的手机号码或短信息地址
2. 一个短信息出现在管理员的手机上,表示某种条件值得注意。
3. 管理员用WAP设备和密码登录服务器,这个设备跟是接收短信息的设备可能是同一个。.
4. 管理员会看到主菜单,他浏览并执行一个与收到的短信息有关的改正错误的动作。如果该信息是一个动作的通知,如一个作业完成了,管理员可以检查这个作业的状态。
5. 管理员退出,中断会话,挂断手机。



对服务器管理的发送通知赋予了管理员实时响应的能力。连接是安全的,而且是随时随地。这种管理对公共载体的依赖很小,在今天就已经可用的标准的安全协议可以保证我们获得安全的交易和操作,所以通过无线设备管理服务器是不仅可能的,也是现实的。






如何改变上传ftp文件的缺省读写属性?

环境  AIX 4
问题  如何改变上传ftp文件的缺省读写属性?
解答 在AIX环境中,当用户从Windows上传文件到AIX服务器时
所传文件的缺省读写属性为640(rw-r-----)。如想改变
缺省读写属性为644,首先用vi编辑器打开/etc/inetd.conf
文件,在"ftp"定义行的末尾加上"-u 033",然后刷新inetd进程:

refresh -s inetd

这就改变了ftp文件的缺省属性。

 


AIX中的 rmss 命令的用途

环境  产品,平台,机型, RS6000, Pseries
软件版本, AIX v4
问题  AIX中的 rmss 命令的用途是什么? 如何使用 rmss 命令?
解答 rmss 是在现有物理内存大小的基础上模拟服务器的物理内存大小的命令, 而无需拔出或替换内存芯片. 通过在不同的内存下运行同一应用,可以确定应用在正常运行时所需内存的尺寸.
例如:

#rmss -c 2048  :模拟2GB的内存
#rmss -p  :显示当前模拟内存的大小
#rmss -r  :重置内存,使之恢复到实际内存尺寸

 

 

 


在AIX 4.x如何清除挂起的tty(-)

环境  RS6000, AIX 4.x
问题  在AIX 4.x如何清除挂起的tty
解答 为了说明方便,下面的例子假设挂起的tty端口为tty0.

1.确定当前挂起的tty正在操作的进程:

ps -ef | grep tty0

该命令假设返回内容如下:

root 12345 1 0 Aug 29 0 /path/program_name

进程ID (PID) 是"12345". 杀掉该进程:

kill -9 12345

再次运行ps -ef | grep tty0 命令去查看该进程是否被杀掉。

不要使用“-9”的选项去杀掉slattach进程,因为它可能导致AIX操作系统挂起。
注意:如果进程是“getty”, 使用下面命令去杀掉进程:
pdisable tty0
如果上面命令不能成功的杀掉进程,而tty仍然是挂起的,可以使用第二步。


2. 执行下面的命令:

fuser -k /dev/tty0

该命令将杀掉运行在此端口的所有进程,并且显示其PID (进程 ID).
如果上面命令不能成功的杀掉进程,而tty仍然是挂起的,可以使用第三步。


3. 在被挂起的终端的键盘上,键入“Ctrl+Q”. 如果tty仍然挂起,使用第四步。


4. 物理的断开连接端口的设备(连线). 在某些情况下可以释放端口.

注意:前面的一些命令也许不会生效并且报”设备忙“的错误。这是由于一些进程正运行在tty上。如果上面的步骤仍不能释放挂起的tty,最后可以通过重起AIX释放内核去清除此进程。

 

 


在AIX中扩展卡的逻辑名和它所在插槽的对应关系

环境  产品, Pseries, RS6000
软件版本, AIX
问题  在IBM的Pseries 服务器中,相同类型的扩展卡可以插多块,但是AIX如何确定每一块卡所在的插槽?
解答 可用以下步骤来确定它们的关系:

1. 检查相同类型的卡的逻辑名及个数.

例如确定服务器中以太网卡的名称:
# lsdev -Cc adapter |grep en
ent0 Available 1A-08 IBM 10/100 Mbps Ethernet PCI Adapter (23100020)
ent1 Available 21-08 IBM 10/100 Mbps Ethernet PCI Adapter (23100020)

2. 通过查看Device Specific. 的值,确定其所对应的插槽.
如:


# lscfg -vl ent0  DEVICE            LOCATION          DESCRIPTION  ent0              1A-08             IBM 10/100 Mbps Ethernet PCI Adapter                                      (23100020)        Serial Number...............22010344        FRU Number..................091H0397        Part Number.................091H0397        Network Address.............000629DC698C        Displayable Message.........PCI Ethernet Adapter (23100020)        Device Specific.(YL)........P1-I3/E1            I3 表示此网卡插在第三槽上.# lscfg -vl ent1  DEVICE            LOCATION          DESCRIPTION  ent1              10-80             IBM 10/100 Mbps Ethernet PCI Adapter                                      (23100020)        Network Address.............0004ACE4AF6D        Displayable Message.........PCI Ethernet Adapter (23100020)        Device Specific.(YL)........P2/E1    是集成在主板上的网卡.
 

 


如何对系统做镜像以提高系统高可用性和性能

环境  RS6000
问题  如何对系统做镜像以提高系统高可用性和性能
解答    通常情况下, 对系统做镜像会提高系统的高可用性, 即当其中一块盘损坏或数据区不可用时,系统会自动使用其镜像盘或镜像数据区进行正常的业务操作. 在以RS/6000系统为基础的数据库应用中做镜像有三种方式, 第一种方式是通过做RAID10直接对硬盘做镜像, 需要增加相应的适配卡支持. 可以对裸设备或文件系统做镜像. 第二种方式是通过AIX操作系统做RAID1, 只能对文件系统做镜像. 第三种方式是通过数据库系统做镜像,可以对裸设备或文件系统做镜像. 对于这三种方式一般建议大家采取前两种方式会取得比较好的系统性能和高可用性.本文主要讨论使用RAID1做镜像时系统拥有的盘数对性能的影响.

   做RAID1镜像时,可以对卷组中指定的逻辑卷单独做镜像, 也可以对整个卷组做镜像. 对卷组中指定的逻辑卷做镜像时, 最好要求该卷组有三块或三块以上的硬盘以保证数据高可用性. 若对整个卷组做镜像则没有对卷组内硬盘个数的限制.此外要求镜像最好位于不同的硬盘, 当其中某块硬盘损坏时其镜像盘仍可工作, 以提高系统的高可用性.

   下面介绍为什么对卷组中指定的逻辑卷做镜像时, 最好要求该卷组有三块或三块以上的硬盘。

在RS/6000系统中, 每个在VG(卷组)中的物理硬盘都至少有一个VGDA(卷组描述区, 既对该硬盘上的物理和逻辑卷进行描述). VGDA在硬盘的数量有如下规则:


一个卷组只有一块硬盘: 该硬盘有两个VGDA.

一个卷组有两块硬盘: 第一块硬盘有两个VGDA, 第二块硬盘有一个VGDA.

一个卷组有三块或三块以上硬盘: 每块硬盘有一个VGDA.
   在AIX系统中, quorum(一个卷组中的可用VGDA的比率)必须高于51%, 该卷组才可用. 对于只有两块硬盘的卷组, 若第一块硬盘损坏, 则只有33%的VGDA可用, 若第二块硬盘损坏, 则有66%的VGDA可用. 对于有三块或三块以上硬盘的卷组, 若损坏一块硬盘, 至少有66%的VGDA可用.

   对卷组中指定的逻辑卷做镜像时, 若该卷组中只有两块硬盘, 当第一块硬盘损坏时, 其VGDA只有33%可用, 会导致该卷组不可用,这样就使得镜像失去保证硬盘高可用性的功能.

   若该卷组只有两块硬盘又一定要做镜像时, 可以关掉quorum, 即使第一块硬盘损坏也不会使整个卷组不可用,此时系统使用第二块硬盘,但是第二块硬盘的数据将不能镜像. 由此有可能带来数据丢失的风险,第二块硬盘损坏时会导致该卷组不可
用从而引起数据丢失.

   因此, 对卷组中指定的逻辑卷做镜像时, 最好要求该卷组有三块或三块以上的硬盘以保证数据高可用性.

 

 


Debug mode 引导AIX

环境  RS/6000 AIX V5.1
问题  Debug mode 引导AIX
解答 1. 系统要求配置有tty console
2. #bosbot -aI /dev/ipldevice
3. #shutdown -Fr

 

 


kdb command

环境  RS/6000 AIX 5L
问题  启动sendmail
解答 AIX 5L中kdb替代AIX V4的crash命令,作为系统debugger和dump分析工具

 

 


在AIX中如何为一块网卡,配多个IP地址?

环境  产品, Pseries, RS6000,
软件版本, AIX4.3.3
问题  由于应用的环境要求,需在一块网卡上配置多个IP地址,AIX中可以实现吗?
解答 可以。 使用命令ifconfig 即可.其语法为:
ifconfig network_interface second_ip_address netmask your_netmask alias
在ODM中未记录此定义,所以关机后该定义会丢失,若需要的话,可将该命令加在启动文件(/etc/rc.net)中.

如第二个IP地址是 9.185.43.135 可用
# ifconfig en0 9.185.43.135 netmask 255.255.255.0 alias

当该IP地址不再需要时,可从系统中删除.
#ifconfig en0 9.185.43.135 netmask 255.255.255.0 delete
或从/etc/rc.net文件中删除。

 

 


AIX内核参数调整之vmtune -p -P(2)?

环境  AIX 4
问题  AIX内核参数调整之vmtune -p -P(2)?
解答 -p minperm
如果在物理内存中的文件页面数量(file pages)低于此值,页面替换算法将替换文件页和程序页(computational pages),minperm的缺省值约为20%的物理内存。

-P maxperm
如果在物理内存中的文件页面数量(file pages)高于于此值,页面替换算法将只替换文件页,maxperm的缺省值约为80%的物理内存。

如果在物理内存中的文件页面数量在这两个值之间,页面替换算法通常只替换文件页,但是当文件页面的再替换率(repaging rate)高于程序页面时页面替换算法将同时替换文件页和程序页。

 

 


AIX内核参数调整之vmtune -f -F(3)?

环境  AIX 4
问题  AIX内核参数调整之vmtune -f -F(3)?
解答 -f minfree
指出内存在free list中内存页的最低值,此值的范围从8到204800。

-F maxfree
当系统中的空闲内存小于minfree时,系统进行换页操作增加空闲内存页,当空闲内存页的数量大于等于maxfree时,系统换页操作停止。

maxfree的缺省值为minfree+8。maxfree-minfree的差值应大于等于maxpgahead。

注:一个页面的大小为4K。

 

 


Linux 与 Pseries/RS6000

环境  产品, Pseries, RS6000
软件版本, AIX, linux
问题  RS6000/Pseries 服务器上可安装Linux 吗? 应用程序该如何移植?
解答 1. RS6000/Pseries 的低端服务器(B80,270,170,150)可以安装Linux 操作系统. 所使用的系统版本应为 XX Linux on Pseries (由不同的 Linux公司提供) . 其上编译的Linux 应用程序使用的是 Linux 核心.

2. Pseries中的中高端服务器目前不可安装Linux, 但可以安装 AIX Toolbox for Linux Applications for Power System, 该工具箱提供了Linux API 接口, 在其上编译的Linux 应用程序使用的是AIX核心.

3. 在 XX Linux on Pseries环境下编译的程序,移植到AIX Toolbox for Linux Applications 中需重新编译,反之亦然.

 

 


AIX内核参数调整之vmtune -M(5)?

环境  AIX 4
问题  AIX内核参数调整之vmtune -M(5)?
解答 -M maxpin
此值指出系统中能够常驻(pin)在内存中的最大的内存页的数量缺生值为80%的物理内存,应保证至少有4M的内存不被常驻,以供内核使用。

 

 


AIX内核参数调整之vmtune -r -R(4)?

环境  AIX 4
问题  AIX内核参数调整之vmtune -r -R(4)?
解答 -r minpgahead
指出何时启动提前读的功能,此值应为2的倍数,缺省值为2。

-R maxpgahead
指出最大的提前读的页数,此值应为2的倍数,缺省值为8,此值应大于minpgabead,最大值为512。maxfree-minfree的差值应大于等于maxpgahead。

 

 


如何确定一文件系统是Large File Enabled的文件系统?

环境  平台, Pseries, RS6000,
软件版本, AIX 4.3.3
问题  在AIX 4.3.3中既支持standard filesytem,也支持Large File Enabled file system, 如何确定一文件系统是Large File Enabled file system 还是 standard filesytem?
解答 可使用 lsfs -q filesystem_name 命令来查看.

例如:
#lsfs -q /home


Name  Nodename Mount Pt VFS Size Options  Auto  Accounting
/dev/hd1 --  /home  jfs 131072 --  yes no

(lv size: 131072, fs size: 131072, frag size: 512, nbpi: 4096, compress: no, bf: false, ag: 8)

bf:false 表示是standard filesystem
bf:true 表示是Large File Enabled file system.

 

 


如何在命令行下运行update_all?

环境  AIX 4.3
问题  如何在命令行下运行update_all?
解答 在系统升级时可在SMIT中运行update_all,如果需要在命令行下运行
可用如下方法:
用lslpp -l命令产生一个系统中已安装文件集的列表,将此列表存入一个
文本文件,编辑此文件使其具有以下形式:

bos.rte.install
bos.sysmgt.sysbr
......

用以下命令安装:

installp -agXd /dev/cd0 -e /tmp/install.log -f /<path>/<file>

其中<file>位所生成的文本文件,<path> 为<file>所在的路径。





手工删除smit菜单

环境  AIX V4
问题  手工删除smit菜单
解答 手工删除smit菜单的步骤如下:

1、export ODMDIR=/usr/lib/objrepos
2、rm $HOME/smit.log
3、smit -D并执行想删除的一些菜单命令,查看smit.log中id的值
4、odmget -q id=*** sm_menu_opt >/tmp/smit
5、odmdelete -q id=*** -o sm_menu_opt
6、vi /tmp/smit
7、odmadd /tmp/smit

 

 


6230 SSA卡上快写缓存的设置?

环境  AIX 4.3
问题  6230 SSA卡上快写缓存的设置?
解答 对于使用SSA卡的用户,卡上的快写缓存可以极大的提高磁盘的I/O性能,用户应首先检查SSA卡上是否配置了快写缓存。


# lscfg -vl ssa0  DEVICE            LOCATION          DESCRIPTION  ssa0              11-08             IBM SSA 160 SerialRAID Adapter                                      (14109100)        Part Number................. 27H1204        FRU Number.................. 34L5388        Serial Number...............S1072088        EC Level....................    E28793        Manufacturer................IBM053        ROS Level and ID............8300    0000        Loadable Microcode Level....05        Device Driver Level.........00        Displayable Message.........SSA-ADAPTER*       Device Specific.(Z0)........SDRAM=128*       Device Specific.(Z1)........CACHE=32        Device Specific.(Z2)........UID=006094BF00003CDC        Device Specific.(YL)........U0.1-P1-I1/Q1        此卡配置了128MB的读缓存和32MB的快写缓存。如果配置了快写缓存,改变SSA磁盘的配置,使其使用快写缓存# smitty device    SSA Disks      SSA Logical Disks         Change/Show Characteristics of an SSA Logical Disk             hdisk? Available 11-08-L SSA Logical Disk Drive                Enable Fast-Write                         yes  如果'Enable Fast-Write' 是no,将其改为yes。




支持Xwindows最少需要安装那些文件集(Fileset)?

环境  AIX 4.3 OR AIX 5.1
问题  支持Xwindows最少需要安装那些文件集(Fileset)?
解答 支持Xwindows需要以下文件集:

X11.apps.*
X11.base.*
X11.compat.*
X11.fnt.*
X11.motif.*

运行CDE, 需要安装

X11.Dt.*

如果希望远程使用CDE仿真,需要安装

X11.fnt.fontServer

 

 


如何改动IP地址

环境  RS6000,AIX V4
问题  如何改动IP地址
解答 如果用smit mktcpip去改动IP地址,就会在/etc/hosts中加一项,而且以前的地址仍保留,正确的做法是smit tcpip---Further configuration---Network interface----Network Interface Selection----Change/Show characteristics of a Network interface 去改动

 

 


启动sendmail

环境  RS6000,AIX V4
问题  启动sendmail
解答 如果用startsrc -s sendmail 启动,sendmail不会做为守护进程被启动,必须用startsrc -s sendmail -a "-bd"来启动

 

 


如何显示格林威治时间

环境  RS6000,AIX V4
问题  如何显示格林威治时间
解答 用date -u可以显示格林威治时间

 

 


如何打开锁死的帐户

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  用户设置某帐户如果连输3次错误的密码就把帐户锁死,但不知如何打开。
解答 用户错误登陆信息记录在/etc/security/lastlog文件中。
只要将 unsuccessful_login_count = 3 改为 unsuccessful_login_count = 0
即可打开锁死帐户。

IBM INFORMIX数据库级备份都备份了哪些内容?

环境  RS6000, IBM INFORMIX
问题  IBM INFORMIX数据库级备份都备份了哪些内容?
解答 在IBM RS6000系列机器上,系统管理员一般要定期做操作系统的备份和数据库系统的备份。那么做IBM INFORMIX数据库级备份时都备份了哪些内容呢?

一般IBM INFORMIX数据库备份分为系统备份和逻辑日志备份。有的客户认为在做系统备份时系统会将逻辑日志文件一起备份,这种理解是不正确的。

系统备份将备份数据库系统的数据,包括对根dbspace(rootdbs)和数据dbspace(datadbs)的数据的备份,它不会备份临时dbspace(tempdbs)、逻辑日志和未分配使用的根dbspace和数据dbspace的空间。

逻辑日志备份将备份系统的逻辑日志文件。

由此可见系统备份和逻辑日志备份是完全不同的,它们不可以相互替代。

 

 


在RS6000系列机器上如何配置IBM INFORMIX数据库临时数据库空间?

环境  RS6000, IBM INFORMIX
问题  在RS6000系列机器上如何配置IBM INFORMIX数据库临时数据库空间?
解答 在RS6000系列机器上安装IBM INFORMIX数据库时,一般会配置临时数据库空间以提高系统性能。那么为什么要配置及如何配置这些临时数据库空间呢?

例如在IBM INFORMIX数据库中若执行了下面的操作,将会产生临时文件或临时表:
1.建立索引或使用排序方式的连接时;
2.使用"order by"或“gruop by”语句时;
3.使用“select ...into temp...”语句创建临时表时;

这些临时表或文件最好放在临时数据库空间中以提高系统性能。
如果数据库系统频繁进行上面的操作,最好创建三个或三个以上大小相同临时数据库空间

 

 


如何改变主机IP地址解析顺序

环境  产品: RS/6000
软件: AIX
问题  如何改变主机IP地址解析顺序
解答 一般主机IP地址的解析顺序依次是DNS,NIS,本机host档案。
要改变这个顺序, 可以建立一个/etc/netsvc.conf文件,并在这个档案中加一行:
hosts=local,bind,nis


这样主机IP地址就先从本地档案(/etc/hosts)开始搜索,其次再去DNS server,最後是NIS server。
也可通过执行
export NSORDER=local,bind,nis
改变环境变量NSORDER 来改变顺序

 

 


不能增加用户,错误信息为3004-687

环境  RS6000, AIX 3.2 -- 4.x
问题  不能增加用户,错误信息为3004-687
解答
检查:

在/etc/passwd文件中是否有错误的语法.
丢失“nobody”用户条目或其格式有错误. 其条目应为:

nobody:!:4294967294:4294967294::/:


 

 


登录失败次数过多

环境  RS6000
问题  登录失败次数过多
解答 在用户登录失败次数过多时,超过了失败次数限制,用户将不能继续登录,需修改/etc/security/lastlog中的失败登录次数参数(unsuccessful_login_count)才可。

 

 


看SSA逻辑盘与物理盘之间对应关系

环境  RS6000
问题  看SSA逻辑盘与物理盘之间对应关系
解答 用ssaxlate -l hdisk#或ssaxlate -l pdisk#可以看SSA逻辑盘与物理盘之间对应关系

 

 


用户名长度问题

环境  RS6000
问题  用户名长度问题
解答 用户名长度最长为八位,这个限制无法改动

 

 


如何判断引起core文件的应用程序

环境  RS6000
问题  如何判断引起core文件的应用程序
解答 core文件是在应用崩溃时记录的内存影象,可以用命令lquerypv -h core 6b0 64可以看出是哪个应用引起了core文件的产生。

 

 


解锁卷组

环境  RS000
问题  解锁卷组
解答 当卷组被锁住时,可通过命令chvg -u vg#来解锁

 

 


inittab中引用的环境变量

环境  RS6000
问题  inittab中引用的环境变量
解答 问题产生原因是由于客户有很多几百k的小文件,将所有的文件系统inode用尽。
在inittab中启动的程序,只引用了/etc/environment中的环境变量,并不引用/etc/profile或/.profile中的变量,所以在用户自定义脚本中如需引用这些变量,需在脚本中加入对它们的引用

 

 


在一个磁带上备份多个文件

环境  RS6000
问题  在一个磁带上备份多个文件
解答 需要用到 tctl来卷带备份,例子如下:


1. dd if=/tmp1 of=/dev/rmt0.1
2. tctl -f /dev/rmt0 rewind
3. tctl fsf 1
4. dd if=/tmp2 of=/dev/rmt0.1
5. tctl -f /dev/rmt0 rewind
6. tctl fsf 2
7.......


恢复步骤相反。

 

 


夏时制问题

环境  RS6000
问题  夏时制问题
解答 每年四月到八月,AIX会缺省使用夏时制,可以用echo $TZ看时区来判断,时区以DT结尾的就使用了夏时制。如果不想用,可以通过smit--system environment--change show date and time---change time zone using system defined values来改变,在弹出的USE DAYTIME SAVING对话框中选择No,选好相应的时区后重启机器既可。

 

 


passwd文件的备份

环境  RS6000
问题  passwd文件的备份
解答 如果误删除了/etc/passwd文件,可以用/etc/opasswd文件恢复,/etc下o开头的文件是相应文件的备份文件。

 

 


如何限制某个用户使用FTP服务

环境  AIX
问题  在AIX中,如何限制某个用户使用FTP服务?
解答 编辑/etc/ftpusers文件,把要限制使用的用户名加进此文件里,这样就限制了此用户使用FTP服务。

 

 


在AIX系统中,如何得到一些偏僻的汉字

环境  AIX  
问题  在AIX 系统中,如何得到一些比较偏僻的汉字?
解答 在AIX的中文汉字库中,zh_CN 中有6763个汉字,而ZH_CN中有20902个汉字。如果用户要用到一些比较偏僻的汉字,建议用户安装中文环境时选择ZH_CN。

 

 


AIX 是否支持 ramdisk

环境   RS6000, AIX
问题  AIX 是否支持 ramdisk? 可否将内存当硬盘来使用,以提高访问速度。
解答 可以. AIX 操作系统支持ramdisk. 可使用mkramdisk命令来创建一个ramdisk. 其文件名为 /dev/rramdisk. 通过命令mkfs在其上建立文件系统来使用它. 用rmramdisk 命令或重新开机来删除ramdisk.

 

 


什么是 inline log

环境  产品, AIX
平台, RS6000, Pseries  
问题  什么是 inline log
解答 在AIX5L 中可以为JFS2的文件系统创建一种新的日志类型。 这就是JFS2所特有的 inline log -- 日志与文件系统在同一逻辑卷上。

通过使用 inline log , 每个JFS2的文件系统可有独立日志设备,而不是整个卷组共享一个日志设备。 在文件系统数量较多的环境下,能够提高系统的RAS(Reliability Availability Serviceability)特性:在系统共享日志设备时, 日志设备的损坏会影响与之相关的所有文件系统。而使用inline log , 则不会出现此种情况。

创建JFS2文件系统时,缺省日志是放在共享的日志设备上, 将 "inline log ? "选项设为 "YES", 则建立了使用inline log 的JFS2 文件系统。


 

 


如何增加文件系统中的inode数目

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  用户需要生成新的文件时,系统报告空间不够,但df -k输出显示空间使用为43%
解答 问题产生原因是由于客户有很多几百k的小文件,将所有的文件系统inode用尽。
解决方案


find / -size 0 -print 删除不必要的0字节文件

增加文件系统大小(鉴于客户的%used是43%,这样会浪费很多空间,不建议使用)

备份文件,重建文件系统,其中参数NBPI(number of bytes per inode)要尽量
小,这样就能在同样大小的文件系统中获得更多的inode
备注:

文件系统中inode的多少由文件系统大小和NBPI(number of bytes per inode)决定
文件系统越大,NBPI越小,那么inode越多,意味能产生的文件和目录越多。

 

 


什么是X-window

环境  产品, RS6000
平台, UNIX
问题  什么是X-window
解答 X-window 是UNIX中功能强大的图形用户接口(GUI),是基于客户-服务器的一种应用技术. 表现为应用可运行在一个功能强大,易与维护的服务器上,而屏幕的输出则显示在另一个工作站上. X-window 技术包括两个成员: X-server 和 Window Manager. X-server 控制图像和窗口的显示, 跟踪鼠标和键盘的操作.一个X-server可控制多个窗口.Window Manager 则用于显示窗口的菜单和边界,提供窗口的移动,转换,最大,最小化操作.

 


如何为调试应用程序性能 定制系统内存环境

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  用户需要为调试应用程序在不同的内存配置下的性能。
解答 操作系统提供了这样的应用来满足客户的需求。
rmss -c memsize (设置需要调试的内存)
rmss -p 显示当前的内存配置
rmss -r 重新恢复至系统的实际内存大小

举例:
#rmss -p
Simulated memory size is 512 Mb.
#rmss -c 128
Simulated memory size changed to 128 Mb.
#svmon -G


  size  inuse free  pin  virtual  stolen
memory  131061  121681 9380 9417  31604  95584
pg space  264192  17306        


其中stolen的内存就是512Mb和128Mb的差。
当在128Mb内存下调试完程序后,恢复系统实际内存大小。
#rmss -r
#svmon -G


  size  inuse  free pin virtual
memory  131061  26245  104816 9417  31604
pg space  264192  17306      

free的内存已经恢复如初。

 

 


关于AIX 4.3.3的内核问题。

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  1.我目前的操作系统运行在多少位的内核上?
2.我目前的机器能支持64bit应用吗?
解答 bootinfo -K
32 操作系统运行在32位内核
64 操作系统运行在64位内核

bootinfo -y
64 你的机器可以支持64位和32位应用
32 你的机器只支持32位应用
备注:

当bootinfo -K为32,bootinfo -y为64时,可以通过smit激活对64位应用的支持
SMIT
System Environments
Change / Show Characteristics of Operating System


 

 


如何在AIX上实现象doskey一样的功能

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  客户需要实现类似doskey一样的功能
解答 在AIX操作系统中可以利用 set -o vi来实现类似功能。
当用户想重复上一个很长的命令时,只需按ESC+k就行,再按k就上滚一条命令,
而按j就可以后滚一条命令,然后回车就可以完成了。更好的是,你可以利用类似
使用vi的方法来编辑你所看到的命令,来达到随意调整的目的。
只一条简单的命令,就节约了宝贵的时间。需要时可以把set -o vi加入到.profile中。

 

 


另一种让vi编辑超大文本文件的方法

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  vi缺省能编辑的最大文件不能超过1,048,560行
解答 在用户目录下生成文件.exrc其中写入
set linelimit=xx000000
这样,就不用每回启动vi时都敲入vi -y xx000000

 

 


如何修改终端的属性以适应特殊需要

环境  产品: AIX
平台: RS
软件版本: AIX V4
问题  客户有一个自己开发的应用,其中需要对ctrl+y的响应,来完成特定功能。
但当客户实现时,却发现一按ctrl+y程序就退出了。
解答 客户使用的是telnet终端,其中需要对pty的属性进行修改。
#smit pty
Change / Show Characteristics of the PTY
STATE to be configured at boot time ---------------available -----+
Maximum number of Pseudo-Terminals ---------[256]---------------- #
Maximum number of BSD Pseudo-Terminals -----[16]
其中并没有象tty一样的许多选项:
#smit tty
POSIX special control characters:

INTERRUPT character ------------------------[^c]
QUIT character -----------------------------[^\]
ERASE character ----------------------------[^h]
KILL character -----------------------------[^u]
END OF FILE character ----------------------[^d]
END OF LINE character ----------------------[^@]
2nd END OF LINE character ------------------[^?]
DELAY SUSPEND PROCESS character ------------


阅读全文(3704) | 回复(0) | 编辑 | 精华 | 删除
 


[综合]ESQL/C资料(完全版)四
文章收藏,  网上资源

薛 峰 发表于 2005/7/18 10:34:55

5.3 嵌入SQL的处理过程
INFORMIX的预编译器为esql。嵌入SQL包含一些组件:嵌入SQL的库文件,提供访问数据库服务器、操作各种数据类型、出错信息的处理等函数。嵌入SQL的头文件(UNIX环境:$INFORMIXDIR/incl/esql下,WINDOWS环境:%INFORMIXDIR%\incl\esql下),提供程序用的数据结构、常数和宏的定义信息。Esql是预编译器。UNIX系统下,是finderr程序获得INFORMIX的错误信息,WINDOWS平台下是find error获得错误信息。还有一些GLS locale文件,提供一些特定的locale信息。在WINDOWS平台下,还有另外一些文件,如:setnet32、ilogin、regcopy、esqlmf程序。
创建嵌入SQL/C的程序的一般步骤:程序的后缀可以是.ec或.ecp。
1、定义宿主变量。
2、访问数据库。
3、操作。
4、完成后,使用esql命令来预编译。如:esql demo1.ec。在预编译后,程序中只有C语言语句,它们都可以为C语言的编译器所识别。所以,可以按照一般的方法进行编译和连接,但在将SQL语句转换以后,在C语言程序中,又引入了许多一般的C语言系统所没有的结构、变量和函数,因此应该设置INCLUDE和LIB的设置。最后生成的可执行文件。
5.4 动态SQL语言
所谓静态SQL的编程方法,就是指在预编译时SQL语句已经基本确定,即访问的表或视图名、访问的列等信息已经确定。但是,有时整个SQL语句要到执行的时候才能确定下来,而且SQL语句所访问的对象也要到执行时才能确定。这就需要通过动态SQL语句完成。动态SQL语句的处理步骤是:
1、组合SQL语句。
2、PREPARE。PREPARE语句是动态SQL语句独有的语句。其语法为:
PREPARE 语句名 FROM 宿主变量|字符串
该语句接收含有SQL语句串的宿主变量,并把该语句送到DBMS。DBMS编译语句并生成执行计划。在语句串中包含一个“?”表明参数,当执行语句时,DBMS需要参数来替代这些“?”。PREPRARE执行的结果是,DBMS用语句名标志编译后的语句。在执行SQL语句时,EXECUTE语句后面是这个语句名。请看下面这个例子:
EXEC SQL prepare slct_id from
'select company from customer where customer_num = ?';
可以通过SQLCA检查PREPARE操作是否成功。
3、EXECUTE或OPEN。
EXECUTE语句的语法如下:
EXECUTE 语句名 USING 宿主变量 | DESCRIPTOR 描述符名
它的作用是,请求DBMS执行PREPARE语句准备好的语句。当要执行的动态语句中包含一个或多个参数标志时,在EXECUTE语句必须为每一个参数提供值。这样的话,EXECUTE语句用宿主变量值逐一代替准备语句中的参数标志(“?”),从而,为动态执行语句提供了输入值。
如果是多行查询,则使用游标,使用OPEN USING语句传递参数;如果是单行查询,则使用SELECT INTO。如果是修改数据:则使用EXECUTE USING语句。如果知道参数个数,就可以使用宿主变量。如果不知道参数个数,则必须使用DESCRIBE语句。下表总结了动态SQL语句的处理方法:
语句类型是否有输入参数执行的方法
INSERT、DELETE、UPDATE没有EXECUTE
INSERT、DELETE、UPDATE有(数据类型和个数确定)EXECUTE …USING
INSERT、DELETE、UPDATE有(数据类型和个数不确定)EXECUTE...USINGSQL DESCRIPTOR或EXECUTE...USINGDESCRIPTOR
SELECT(返回多行)无OPEN
SELECT(返回多行)有(数据类型和个数确定)OPEN…USING
SELECT(返回多行)有(数据类型和个数不确定)OPEN...USINGSQL DESCRIPTOR或OPEN...USINGDESCRIPTOR
SELECT(返回一行)无EXECUTE...INTO
SELECT(返回一行,但是返回的数据类型和个数不确定)无EXECUTE...INTODESCRIPTOR或EXECUTE...INTOSQL DESCRIPTOR
SELECT(返回一行)有EXECUTE...INTO...USING
SELECT(返回一行,但是返回的数据类型和个数不确定)有EXECUTE...INTO...USING SQLDESCRIPTOR或EXECUTE...INTO...USINGDESCRIPTOR 4、释放资源。
5.4.1 SQLDA
可以通过SQLDA为嵌入SQL语句提供输入数据和从嵌入SQ语句中输出数据。理解SQLDA的结构是理解动态SQL的关键。
我们知道,动态SQL语句在编译时可能不知道有多少列信息。在嵌入SQL语句中,这些不确定的数据是通过SQLDA完成的。SQLDA的结构非常灵活,在该结构的固定部分,指明了多少列等信息(如下图中的sqld=2,表示为两列信息),在该结构的后面,有一个可变长的结构(SQLVAR结构),说明每列的信息。
SQLDA结构
Sqld=2
sqlvar
Desc_name
Desc_occ
Desc_next

Sqltype=500
Sqllen
sqldata
…..

Sqltype=501
Sqllen
Sqldata
….. 图6-6 SQLDA结构示例
具体SQLDA的结构在sqlda.h中定义,是:
struct sqlvar_struct
{
short sqltype;/* variable type*/
short sqllen;/* length in bytes*/
char *sqldata;/* pointer to data*/
short *sqlind;/* pointer to indicator*/
char *sqlname;/* variable name*/
char *sqlformat;/* reserved for future use */
short sqlitype;/* ind variable type*/
short sqlilen;/* ind length in bytes*/
char *sqlidata;/* ind data pointer*/
}; struct sqlda
{
short sqld;
struct sqlvar_struct *sqlvar;
char desc_name[19];/* descriptor name */
short desc_occ;/* size of sqlda structure */
struct sqlda *desc_next;/* pointer to next sqlda struct */
}; #endif /* _SQLDA */
从上面这个定义看出,SQLDA是一种由三个不同部分组成的可变长数据结构。位于SQLDA开端的sqldaid用于标志该SQLDA描述了多少列的信息;而后是一个或多个sqlvar结构 ,用于标志列数据。当用SQLDA把参数送到执行语句时,每一个参数都是一个sqlvar结构;当用SQLDA返回输出列信息时,每一列都是一个sqlvar结构。第三部分是SQLDA结构的描述信息部分。具体每个元素的含义为:
lSqld。目前使用的sqlvar结构的个数。即输出列的个数。
lSqlvar。指向sqlvar_struct结构。 即指向描述第一列信息的sqlvar结构。
lDesc_name。Sqlda的名称。
lDesc_occ。Sqlda结构的大小。
lDesc_next。指向下一个SQLDA结构。
lSqltype。代表参数或列的数据类型。它是一个整数数据类型代码。具体每个整数的含义见第二节。
l Sqllen。代表传送数据的长度。如:2,即代表二字节整数。如果是字符串,则该数据为字符串中的字符数量。
lSqldata。指向数据的地址。注意,仅仅是一个地址。
lSqlind。代表是否为NULL。如果该列不允许为NULL,则该字段不赋值;如果该列允许为NULL,则:该字段若为0,表示数据值不为NULL,若为-1,表示数据值为NULL。
lSqlname。代表列名或变量名。它是一个结构。包含length和data。Length是名字的长度;data是名字。
lSqlformat。保留为以后使用。
lSqlitype。指定用户定义的指示符变量的数据类型。
lSqlilen。指定用户定义的指示符变量的长度。
lSqlidata。指向用户定义的指示符变量所存放的数据。 下面这个ADHOC程序非常经典,演示了SQLDA的作用。模拟一个不确定的查询,然后通过SQLDA来获得数据,并打印出来。
EXEC SQL include locator.h;
EXEC SQL include sqltypes.h;
#define BLOBSIZE 32276;
main()
{
int i = 0;
int row_count;
/**** Step 1: 声明一个SQLDA结构,来存放查询的数据 ********/
struct sqlda *da_ptr;
/*连接到数据库服务器*/
EXEC SQL connect to 'stores7';
if ( SQLCODE < 0 )
{ printf("CONNECT failed: %d\n", SQLCODE)
exit(0);
}
/* 创建一个临时表,模拟一个不确定列和表的环境*/
EXEC SQL create table blob_tab (int_col integer, blob_col byte);
/* load_db函数是往blob_tab表插入数据,读者不用关心它的代码*/
load_db();
/* PREPARE查询语句 */
EXEC SQL prepare selct_id 'select * from tab1';
/* Step 2: 使用describe函数完成两个功能:一是为sqlda分配空间, 二是获取语句信息,并存放在SQLDA结构中。*/
EXEC SQL describe selct_id into da_ptr;
/* Step 3: 初试化sqlda结构,如:为列分配空间,改变数据类型等。*/
row_size = init_sqlda(da_ptr, 0);
/* 为PREPARE的SELECT语句声明和打开游标*/
EXEC SQL declare curs for selct_id;
EXEC SQL open curs;
while (1)
{
/* Step 4: 执行fetch操作,将一行数据存放在sqlda结构中*/
EXEC SQL fetch curs using des

(下面还有44438字)

阅读全文(4515) | 回复(0) | 编辑 | 精华 | 删除
 


[综合]ESQL/C资料(完全版)三
文章收藏,  网上资源

薛 峰 发表于 2005/7/18 10:34:26

第四节 ORACLE数据库的嵌入SQL语言
4.1 基本的SQL语句
4.1.1宿主变量和指示符
1)、声明方法
同其他数据库管理器一样,ORACLE使用宿主变量传递数据库中的数据和状态信息到应用程序,应用程序也通过宿主变量传递数据到ORACLE数据库。根据上面两种功能,宿主变量分为输出宿主变量和输入宿主变量。在SELECT INTO和FETCH语句之后的宿主变量称作“输出宿主变量”,这是因为从数据库传递列数据到应用程序。除了SELECT INTO和FETCH语句外的其他SQL语句中的宿主变量,称为“输入宿主变量”。这是因为从应用程序向数据库输入值。如:INSERT、UPDATE等语句。请看下面这个例子:
int emp_number;
char temp[20];
VARCHAR emp_name[20];
/* get values for input host variables */
printf("Employee number? ");
gets(temp);
emp_number = atoi(temp);
printf("Employee name? ");
gets(emp_name.arr);
emp_name.len = strlen(emp_name.arr);
EXEC SQL INSERT INTO EMP (EMPNO, ENAME)
VALUES (:emp_number, :emp_name);
在上面这个例子中,其中的emp_number和emp_name就是宿主变量。值得注意的是,它同其他数据库的区别是,定义宿主变量可以不需要BEGIN DECLARE SECTION和END DECLARE SECTION。
2)、指示符变量
大多数程序设计语言(如C)都不支持NULL。所以对NULL的处理,一定要在SQL中完成。我们可以使用主机指示符变量来解决这个问题。在嵌入式SQL语句中,主变量和指示符变量共同规定一个单独的SQL类型值。指示符变量是一个2字节的整数。
针对输入宿主变量和输出宿主变量,指示变量共有下面几种情况:
同输入宿主变量一起使用时:
-1 Oracle将null赋值给列,即宿主变量应该假设为NULL。
>=0 Oracle将宿主变量的实际值赋值给列。
同输出宿主变量一起使用时:
-1 表示该列的输出值为NULL。
0 Oracle已经将列的值赋给了宿主变量。列值未做截断。
>0 Oracle将列的值截断,并赋给了宿主变量。指示变量中存放了这个列的实际长度。
-2 Oracle将列的值截断,并赋给了宿主变量。但是这个列的实际长度不能确定。
从数据库中查询数据时,可以使用指示符变量来测试NULL:
EXEC SQL SELECT ename, sal
INTO :emp_name, :salary
FROM emp
WHERE :commission INDICATOR :ind_comm IS NULL ...
注意,不能使用关系操作符来比较NULL,这是因为NULL和任何操作都为false。如:
EXEC SQL SELECT ename, sal
INTO :emp_name, :salary
FROM emp
WHERE comm = :commission
如果comm列的某些行存在NULL,则该SELECT语句不能返回正确的结果。应该使用下面这个语句完成:
EXEC SQL SELECT ename, sal
INTO :emp_name, :salary
FROM emp
WHERE (comm = :commission) OR ((comm IS NULL) AND
(:commission INDICATOR :ind_comm IS NULL));
4.1.2 查询
如果是单行查询,则应该使用SELECT INTO语句。如果是多行查询,应该使用游标或宿主变量数组。如:单行查询的一个例子:
EXEC SQL SELECT ename, job, sal + 2000
INTO :emp_name, :job_title, :salary
FROM emp
WHERE empno = :emp_number;
在嵌入SQL语句中,也可以使用子查询。如:
EXEC SQL INSERT INTO emp2 (empno, ename, sal, deptno)
SELECT empno, ename, sal, deptno FROM emp
WHERE job = :job_title;
4.1.3 修改数据
1)、插入数据
使用INSERT语句插入数据。其语法同ANSI SQL语法类似。如:
EXEC SQL INSERT INTO emp (empno, ename, sal, deptno)
VALUES (:emp_number, :emp_name, :salary, :dept_number);
2)、更新数据
使用UPDATE语句更新数据。其语法同ANSI SQL语法类似。如:
EXEC SQL UPDATE emp
SET sal = :salary, comm = :commission
WHERE empno = :emp_number;
3)、删除数据
使用DELETE语句删除数据。其语法同ANSI SQL语法类似。如:
EXEC SQL DELETE FROM emp
WHERE deptno = :dept_number;
4.1.4 游标
用嵌入式SQL语句查询数据分成两类情况。一类是单行结果,一类是多行结果。对于单行结果,可以使用SELECT INTO语句;对于多行结果,你必须使用游标来完成。游标是一个与SELECT语句相关联的符号名,它使用户可逐行访问由ORACLE返回的结果集。使用游标,应该包含以下四个步骤。
1)、定义游标
使用DECLARE语句完成。如:
EXEC SQL DECLARE emp_cursor CURSOR FOR
SELECT ename FROM emp WHERE deptno = :dept_number;
值得注意的是,不能在同一个文件中定义两个相同名字的游标。游标的作用范围是全局的。
2)、打开游标
使用OPEN语句完成。如:
EXEC SQL OPEN emp_cursor;
3)、取一行值
使用FETCH语句完成。如:
EXEC SQL FETCH emp_cursor INTO :emp_name;
4)、关闭游标
使用CLOSE语句完成。它完成的功能是:释放资源,如占用内存,锁等。如:EXEC SQL CLOSE emp_cursor;
5)、使用游标修改数据
我们可以使用CURRENT OF子句来完成修改数据。如:
EXEC SQL DECLARE emp_cursor CURSOR FOR
SELECT ename, sal FROM emp WHERE job = 'CLERK'
FOR UPDATE OF sal;
...
EXEC SQL OPEN emp_cursor;
EXEC SQL WHENEVER NOT FOUND GOTO ...
for (;;) {
EXEC SQL FETCH emp_cursor INTO :emp_name, :salary;
...
EXEC SQL UPDATE emp SET sal = :new_salary
WHERE CURRENT OF emp_cursor;
}
值得注意的是,在使用CURRENT OF子句来完成修改数据时,在OPEN时会对数据加上排它锁。这个锁直到有COMMIT或ROLLBACK语句时才释放。
以下是使用游标修改数据的一个完整例子:
...
/* 定义游标 */
EXEC SQL DECLARE emp_cursor CURSOR FOR
SELECT ename, job
FROM emp
WHERE empno = :emp_number
FOR UPDATE OF job;
/* 打开游标 */
EXEC SQL OPEN emp_cursor;
/* break if the last row was already fetched */
EXEC SQL WHENEVER NOT FOUND DO break;
/* 循环取值*/
for (;;)
{
EXEC SQL FETCH emp_cursor INTO :emp_name, :job_title;
/* 更新当前游标所在的行的数据*/
EXEC SQL UPDATE emp
SET job = :new_job_title
WHERE CURRENT OF emp_cursor;
}
...
/* 关闭游标 */
EXEC SQL CLOSE emp_cursor;
EXEC SQL COMMIT WORK RELEASE;
... 下面这个例子完整演示了静态游标的使用方法。这个例子的作用是,获得部门编号,通过游标来显示这个部门中的所有雇员信息。 #include <stdio.h>
/* 声明宿主变量 */
char userid[12] = "SCOTT/TIGER";
char emp_name[10];
int emp_number;
int dept_number;
char temp[32];
void sql_error();
/*包含SQLCA */
#include <sqlca.h>
main()
{ emp_number = 7499;
/* 处理错误*/
EXEC SQL WHENEVER SQLERROR do sql_error("Oracle error");
/* 连接到Oracle数据库*/
EXEC SQL CONNECT :userid;
printf("Connected.\n");
/* 声明游标 */
EXEC SQL DECLARE emp_cursor CURSOR FOR
SELECT ename FROM emp WHERE deptno = :dept_number;
printf("Department number? ");
gets(temp);
dept_number = atoi(temp);
/* 打开游标*/
EXEC SQL OPEN emp_cursor;
printf("Employee Name\n");
printf("-------------\n");
/* 循环处理每一行数据,如果无数据,则退出*/
EXE

(下面还有60字)

阅读全文(4453) | 回复(0) | 编辑 | 精华 | 删除
 


[综合]ESQL/C资料(完全版)二
文章收藏,  网上资源

薛 峰 发表于 2005/7/18 10:33:03

第三节 IBM DB2嵌入SQL语言
DB2支持SQL嵌入到C/C++、JAVA、COBOL、FORTRAN和REXX等语言。本节以SQL嵌入C/C++为例子,讲解静态的嵌入SQL编程和动态的嵌入SQL编程。
静态SQL嵌入C语言编程是指,应用程序在书写时,每个SQL语句的大部分都已确定下来(如:查询的表、列和语句的格式等),唯一不确定的是查询语句中某些特定变量的值,这些值可以在执行时由变量传进去,但是,值的类型要事先确定。
3.1 一个简单示例
首先,我们来看一个嵌入静态SQL语句的C程序。
例1、连接到SAMPLE数据库,查询LASTNAME为JOHNSON的FIRSTNAME信息。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "util.h"
#include <sqlca.h>
EXEC SQL INCLUDE SQLCA; (1)
#define CHECKERR(CE_STR) if (check_error (CE_STR, &sqlca) != 0) return 1;
int check_error (char eString[], struct sqlca *caPointer) {
char eBuffer[1024];
char sBuffer[1024];
short rc, Erc;
if (caPointer->sqlcode != 0) {
printf ("--- error report ---\n");
printf ("ERROR occured : %s.\nSQLCODE : %ld\n", eString,
caPointer->sqlcode);
}
return 0;
}
int main(int argc, char *argv[]) {
EXEC SQL BEGIN DECLARE SECTION; (2)
char firstname[13];
char userid[9];
char passwd[19];
EXEC SQL END DECLARE SECTION;
printf( "Sample C program: STATIC\n" );
if (argc == 1) {
EXEC SQL CONNECT TO sample;
CHECKERR ("CONNECT TO SAMPLE");
}
else if (argc == 3) {
strcpy (userid, argv[1]);
strcpy (passwd, argv[2]);
EXEC SQL CONNECT TO sample USER :userid USING :passwd; (3)
CHECKERR ("CONNECT TO SAMPLE");
}
else {
printf ("\nUSAGE: static [userid passwd]\n\n");
return 1;
} /* endif */

EXEC SQL SELECT FIRSTNME INTO :firstname
FROM employee
WHERE LASTNAME = 'JOHNSON';(4)
CHECKERR ("SELECT statement"); (5)
printf( "First name = %s\n", firstname );
EXEC SQL CONNECT RESET; (6)
CHECKERR ("CONNECT RESET");
return 0;
}
/* end of program : STATIC.SQC */ 上面是一个简单的静态嵌入SQL语句的应用程序。它包括了静态嵌入SQL的主要部分。
(1)中的include SQLCA语句定义并描述了SQLCA的结构。SQLCA用于应用程序和数据库之间的通讯,其中的SQLCODE返回SQL语句执行后的结果状态。
(2)在BEGIN DECLARE SECTION和END DECLARE SECTION之间定义了主变量。主变量可被SQL语句引用,也可以被C语言语句引用。它用于将程序中的数据通过SQL语句传给数据库管理器,或从数据库管理器接收查询的结果。在SQL语句中,主变量前均有“:”标志以示区别。
(3)在每次访问数据库之前必须做CONNECT操作,以连接到某一个数据库上。这时,应该保证数据库实例已经启动。
(4)是一条选择语句。它将表employee中的LASTNAME为“JOHNSON”的行数据的FIRSTNAME查出,并将它放在firstname变量中。该语句返回一个结果。可以通过游标返回多个结果。
(5)在该程序中通过调用宏CHECKERR(即调用函数check_error)来返回SQL语句执行的结果。Check_error函数在下面讲解。
(6)最后断开数据库的连接。
从上例看出,每条嵌入式SQL语句都用EXEC SQL开始,表明它是一条SQL语句。这也是告诉预编译器在EXEC SQL和“;”之间是嵌入SQL语句。如果一条嵌入式SQL语句占用多行,在C程序中可以用续行符“\”。
3.2 嵌入SQL语句
3.2.1宿主变量
1)、声明方法
宿主变量就是在嵌入式SQL语句中引用主语言说明的程序变量(如上例中的firstname变量)。如:
………….
EXEC SQL SELECT FIRSTNME INTO :firstname (4)
FROM employee
WHERE LASTNAME = 'JOHNSON';
………….
在嵌入式SQL语句中使用宿主变量前,必须采用BEGIN DECLARE SECTION 和END DECLARE SECTION之间给宿主变量说明。这两条语句不是可执行语句,而是预编译程序的说明。宿主变量是标准的C程序变量。嵌入SQL语句使用宿主变量把数据库中查询到的值返回给应用程序(称为输出宿主变量),也用于将程序中给定的值传到SQL语句中(称为输入宿主变量)。显然,C程序和嵌入SQL语句都可以访问宿主变量。
在使用宿主变量前,请注意以下几点:
l宿主变量的长度不能超过30字节。开始的字母不能是EXEC和SQL。
l宿主变量必须在被引用之前定义。
l一个源程序文件中可以有多个SQL说明段。
l宿主变量名在整个程序中必须是唯一的。
2)、宿主变量的数据类型
宿主变量是一个用程序设计语言的数据类型说明并用程序设计语言处理的程序变量;另外,在嵌入SQL语句中用宿主变量保存数据库数据。所以,在嵌入SQL语句中,必须映射C数据类型为合适的DB2数据类型。必须慎重选择宿主变量的数据类型。请看下面这个例子:
EXEC SQL BEGIN DECLARE SECTION;
short hostvar1 = 39;
char *hostvar2 = "telescope";
EXEC SQL END DECLARE SECTION; EXEC SQL UPDATE inventory
SET department = :hostvar1
WHERE part_num = "4572-3"; EXEC SQL UPDATE inventory
SET prod_descrip = :hostvar2
WHERE part_num = "4572-3";
在第一个update语句中,department列为smallint数据类型,所以应该把hostvar1定义为short数据类型。这样的话,从C到DB2的hostvar1可以直接映射。在第二个update语句中,prod_descip列为varchar数据类型,所以应该把hostvar2定义为字符数组。这样的话,从C到DB2的hostvar2可以从字符数组映射为varchar数据类型。
下表列出了C的数据类型和DB2的数据类型的一些转换关系:
DB2数据类型C数据类型
Smallintshort
IntegerLong
Decimal(p,s)无
DoubleDouble
DateChar[11]
TimeChar[9]
TimestampChar[27]
Char(X)Char[X+1]
Varchar(X)Char[X+1]
Graphic(X)Wchar_t[X+1]
Vargraphic(X)Wchar_t[X+1]
因为C没有date或time数据类型,所以DB2的date或time列将被转换为字符。缺省情况下,使用以下转换格式:mm dd yyyy hh:mm:ss[am | pm]。你也可以使用字符数据格式将C的字符数据存放到DB2的date列上。对于DECIMAL数据类型,在C语言中也没有对应的数据类型。但可以使用char数据类型实现。
3)、宿主变量和NULL
大多数程序设计语言(如C)都不支持NULL。所以对NULL的处理,一定要在SQL中完成。我们可以使用主机指示符变量来解决这个问题。在嵌入式SQL语句中,宿主变量和指示符变量共同规定一个单独的SQL类型值。指示变量和前面宿主变量之间用一个空格相分隔。如:
EXEC SQL SELECT price INTO :price :price_nullflag FROM titles
WHERE au_id = "mc3026"
其中,price是宿主变量,price_nullflag是指示符变量。指示符变量的值为:
l-1。表示宿主变量应该假设为NULL。(注意:宿主变量的实际值是一个无关值,不予考虑)。
l=0。表示宿主变量不是NULL。
l>0。表示宿主变量不是NULL。而且宿主变量对返回值作了截断,指示变量存放了截断数据的长度。
所以,上面这个例子的含义是:如果不存在mc3026写的书,那么price_nullflag为-1,表示price为NULL;如果存在,则price为实际的价格。
指示变量也是一种宿主变量,也需要在程序中定义,它对应数据库系统中的数据类型为SMALLINT。为了便于识别宿主变量,当嵌入式SQL语句中出现宿主变量时,必须在变量名称前标上冒号(:)。冒号的作用是,告诉预编译器,这是个宿主变量而不是表名或列名。
3.2.2单行查询
单行查询是通过SELECT INTO语句完成。当这条语句执行时,查询的结果送入INTO所标志的变量中。如果SQLCODE是100,或者SQLSTATE是02000,则说明没有查询到结果或返回结果为NULL,这时,宿主变量不改变,否则,宿主变量中将包含查询的结果。如:
………….
EXEC SQL SELECT FIRSTNME INTO :firstname
FROM employee
WHERE LASTNAME = 'JOHNSON';
…………. 3.2.3多行查询
对于多行结果,必须使用游标来完成。游标是一个与SELECT语句相关联的符号名,它使用户可逐行访问由DB2返回的结果集。下面这个例子演示了游标的使用

(下面还有72字)

阅读全文(5300) | 回复(0) | 编辑 | 精华 | 删除
 


« 1 2 3 4 5 6 7 8 9 10 »



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.063 second(s), page refreshed 144813451 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号