给aix 系统增加中文字符集,该怎么处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给aix 系统增加中文字符集,该怎么处理相关的知识,希望对你有一定的参考价值。
参考技术A 在linux系统下经常遇到不支持中文问题,进行以下操作试试(如果是自己练习用的话,否则千万别乱来):解决oracle数据库中的中文乱码显示问题:
在Redhat上安装Oracle 10g没有设定字符集,采用的是操作系统默认字符集:WE8ISO8859P1,将字符集修改为:ZHS16GBK。由于过程不可逆,首先需要备份数据库。
1.数据库全备(一般刚安装的数据库没什么可备份的,这只上针对使用很久的数据库而言)
2.查询当前字符集
SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET WE8ISO8859P1
3.关闭数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
4.启动数据库到mount状态
SQL> startup mount
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 1266608 bytes
Variable Size 100666448 bytes
Database Buffers 100663296 bytes
Redo Buffers 2924544 bytes
Database mounted.
5.限制session
SQL> alter system enable restricted session;
System altered.
6.查询相关参数并修改
SQL> sh
ow parameter job_queue_processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes integer 10
SQL> show parameter aq_tm_processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
SQL> alter system set job_queue_processes=0;
System altered.
7.打开数据库
SQL> alter database open;
Database altered.
8.修改字符集
SQL> alter database character set ZHS16GBK;
alter database character set ZHS16GBK
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
出现错误提示,新字符集必须是老字符集的超集,也就原来字符集是新字符集的子集,可以再Oracle官方文档上查询字符集包含关系。下面使用Oracle内部命令internal_use,跳过超集检查,生产环境不建议使用此方法。
SQL> alter database character set internal_use ZHS16GBK;
Database altered.
9.查询当前字符集
SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET ZHS16GBK
10.关闭数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
11.启动数据库到mount状态
SQL> startup mount
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 1266608 bytes
Variable Size 100666448 bytes
Database Buffers 100663296 bytes
Redo Buffers 2924544 bytes
Database mounted.
12.将相关参数改回原来值
SQL> alter system set job_queue_processes=10;
System altered.
13.打开数据库
SQL> alter database open;
Database altered 参考技术B 1、环境
服务器 AIX:编码"ISO-8859-1"
数据库 informix:编码"ISO-8859-1"
页面编码:"ISO-8859-1"
2、Excel导入文乱码问题
问题描述:
Excel文件通jxl框架导入数据库乱码显示页面乱码
原析:
能Excel文件编码gb2312GBK或UTF-8导入数据库"ISO-8859-1"间没进行转码
导致存数据库乱码页面编码"ISO-8859-1"读数据库内容乱码
解决办:
Excel数据导入数据库前先进行转码
new String(shortname.getBytes("gb2312"),"ISO-8859-1")
该构造JDK API描述
String(byte[] bytes, String charsetName)
构造新 String使用指定字符集解码指定字节数组
备注:
String(byte[] bytes, String charsetName) 解决其乱码问题同效本回答被提问者采纳
aix系统命令
参考技术AAIX(Advanced Interactive eXecutive)是 IBM开发的一套 UNIX操作系统。而 AIX 命令是对AIX系统进行管理和操作的命令。下面就让我给大家分享一些aix的常用命令和进阶命令吧。
aix常用命令
查看 交换区信息:
lsps -a 显示 交换区的分布信息
lsps -s 显示 交换区的使用信息
slibclean 清除处理程序遗留的旧分页信息
smit mkps 建立交换区空间信息
swapon -a 启动所有的分页空间
/etc/swapspaces 存放分页空间表格信息
显示卷信息:
lsvg 显示卷的名称
lsvg -l rootvg 显示rootvg卷的详细信息
mount卷的方法:
varyonvg datavg 加载datavg卷
mount /dev/data1 加载datavg下的一个data1卷
mount光盘
mount -rv cdrfs /dev/cd0 /cdrom
裸设备类型:raw,jfs jfs可以转变成文件系统,而raw则不行
smit快速路径名称:(smit:图形方式,smitty:字符方式)
dev 设备管理
diag 诊断
jfs 定期档案管理系统
lvm 逻辑卷册系统管理员管理
nfs NFS管理
sinstallp 软件安装及维护
spooler 列印队列管理
system 系统管理
tcpip TCP/IP管理
USER 使用者管理
clstart,clstop:启动和停止cluster
lssrc -g cluser:查看cluser的状态
查看已安装的软件信息:
ls -aF /usr/lpp (lpp:Licensed Program Products)
查看安装媒体内容:
installp -q -d /dev/cdrom -l
查看操作系统补丁
instfix -a
查看 错误日志信息:
errpt -a
有关TCP/IP的命令
网路卡:
smit chgenet,chgtok,chgfddi,opschange,mktty:adptr架构快速路径
smit mkinet,ppp:slip与ppp快速路径
ifconfig:config界面
位址:
/etc/hosts 静态 主机表
/etc/resolv.conf 位址解析的名称 服务器
/etc/named.boot 名称 服务器架构
/etc/named. c a 根名称 服务器快取 (去掉空格)
/etc/named.data 位址列表
/etc/named.rev 反转指标列表
nslookup 查询名称 服务器资讯
网络 路由:
route 管理路由
netstat -rn 列出定义的 路由
routed 路由(daekmin rip)
gated 路由(daekmin rip、egp、hello)
/etc/gateways 已知网关
/etc/networks 已知网路
服务:
/etc/services
/etc/inetd.conf
TCP/IP群组子系统:
/etc/rc.n e t (去掉空格)
startsrc -g tcpip 启动全部的tcpip子系统
startsrc -s inetd 启动主要internet
除错:
iptrace 启动封包追踪
ipreport 追踪结果格式化输出
netstat 网络统计
ping 检查是否可以到达
查看HACMP,外部硬盘信息:
lscfg -v
lsdev -Cc adapter
对等机器信息:
/etc/.rhosts
/etc/hosts.equiv
/etc/hosts
查看内存
/etc/lsattr -El mem0
显示以 KB 为单位的实际内存
bootinfo -r
或
lsattr -El sys0 -a realmem
查看SWAP空间
lsps -l
查看操作系统文件系统
lslpp -l [fileset_name]
查看系统内核,进程,硬盘等性能前几位
topas
要显示 内核启用的是 32 位还是 64 位:
bootinfo -K
显示硬件 32 位还是 64 位:
bootinfo -y
显示系统上的处理器数量
lscfg | grep proc
显示系统上的硬盘数量,可输入以下命令:
lspv
系统的详细配置
lscfg
axi进阶命令
如何知道自己在运行单处理器还是多处理器 内核?
/unix 是指向已启动 内核的 符号链接。要了解正在运行什么内核模式,可输入 ls -l /unix 并查看 /unix 链接到什么文件。下面是 ls -l /unix 命令的三种可能输出及其对应的 内核:
/unix -> /usr/lib/boot/unix_up # 32 bit uniprocessor kernel
/unix -> /usr/lib/boot/unix_mp # 32 bit multiprocessor kernel
/unix -> /usr/lib/boot/unix_64 # 64 bit multiprocessor kernel
从一种内核模式更改为另一种内核模式
在安装过程期间,会缺省启用一种适合该 AIX 版本和操作中的硬件的 内核。让我们使用前一个问题中的方法并假设启用了 32 位 内核。我们还假设您希望在 64 位内核模式下启动。这可以通过按 顺序执行以下命令来实现:
ln -sf /usr/lib/boot/unix_64 /unix
ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix
bosboot -ad /dev/hdiskxx
shutdown -r
/dev/hdiskxx 目录是启动逻辑卷 /dev/hd5 所在的位置。要弄清 hdiskxx 中有哪些 xx,可运行以下命令:
lslv -m hd5
在 裸设备上安装oracle系统:
修改 裸设备的权限,如裸设备名为system01,安装 数据库用户为oracle
chown oracle:dba /dev/system01
chown oracle:dba /dev/rsystem01
在使用文件时必须用rsystem01
启动时自动加载文件系统信息:
需要加载的信息存放在/etc/filesystems
mount -t nf 加载所有在/ect/filesystems中定义type=nfs的文件系统
显示已加载的文件系统及状态: df -v,mount
如何知道我的 计算机是否基于 CHRP?
运行 prtconf 命令。如果是 CHRP 计算机,则字符串 chrp 会出现在 Model Architecture 行上。
系统中的设备属性值是什么?
要列出磁带设备 rmt0 的当前属性值,可输入以下命令:
lsattr -l rmt0 -E
要列出磁带设备 rmt0 的缺省属性值,可输入以下命令:
lsattr -l rmt0 -D
要列出 TTY 设备 tty0 的可能登录属性值,可输入以下命令:
lsattr -l tty0 -a login -R
要显示系统级别的属性,可输入以下命令:
lsattr -E -l sys0
列出有关特定物理卷的信息?
举例来说,若要了解有关 hdisk1 的详细信息,可运行如下命令:
lspv hdisk1
获得系统的详细配置?
输入以下命令:
lscfg
下列选项可以提供特定的信息:
-p 显示特定于平台的设备信息。该标志适用于 AIX 4.2.1 或更高版本。
-v 显示在自定义 VPD 对象类中找到的重要产品数据库(Vital Product Database,VPD)。
例如,要显示有关磁带驱动器 rmt0 的详细信息,可输入以下命令:
lscfg -vl rmt0
通过运行 prtconf 命令也可以获得非常类似的信息。
如何确定芯片类型、系统名称、节点名称、型号,等等?
uname 命令可以提供关于系统的详细信息。
uname -p 显示系统的芯片类型。例如,PowerPC。
uname -r 显示操作系统的版本号。
uname -s 显示系统名称。例如,AIX。
uname -n 显示节点名称。
uname -a 显示系统名称、节点名称、版本、 计算机 ID。
uname -M 显示系统型号名称。例如,IBM, 9114-275。
uname -v 显示操作系统版本。
uname -m 显示运行系统的硬件的 计算机 ID 编号。
uname -u 显示系统 ID 编号。
AIX
我的系统上在运行什么 AIX 主要版本、次要版本和维护级?
输入以下命令之一:
oslevel -r
lslpp -h bos.rte
观察进程内存使用情况:
ps aux 观察参数%mem:内存使用百分比 RSS:实际使用内存
vmstat free的单位为块,缺省值为4096bytst
创建raw设备时选择的类型:
raw_lv
裸设备的备份
dd if=/dev/raw1 of=/dev/rmt0 bs=16k
AIX系统所需要补丁
IX72696,IX85104,IX81863,IX87313,IX89087,IX89522,IY02407,IY03412,IY05995,IY07276,IY01050
# lspv *列出设备名称
hdisk0 0006fa7f212ee586 rootvg
hdisk1 0006fa7f7dc2b8a8 oradata
如想删除设备,则用rmdev -dl hdisk1...
smit ssaraid(首先创建RAID阵列)
再创建VG smit vg
然后在VG中创建lv(也即 裸设备)
此时便可以创建数据库了,或者可以在此时创建FS: smit fs
创建文件系统
以下命令将在卷组 testvg 中创建一个大小为 10MB、安装点为 /fs1 的 jfs 文件系统:
crfs -v jfs -g testvg -a size=10M -m /fs1
安装所有缺省文件系统(/etc/filesystems 文件中标记有 mount=true 属性的所有标准文件系统)
以下命令将安装所有此类文件系统:
mount -a|all
显示已安装的文件系统
输入以下命令可以显示有关所有当前已安装的文件系统的信息:
mount
卸载文件系统
输入以下命令可以卸载 /test 文件系统:
umount /test
删除文件系统
输入以下命令可以删除 /test 文件系统:
rmfs /test
对文件系统进行碎片整理
可以使用 defragfs 命令来改善或报告文件系统中的连续空间状态。例如,若要对文件系统 /home 进行碎片整理,可以使用以下命令:
defragfs /home
更改文件系统的大小
若要将 /usr 文件系统的大小增加 1000000 个 512 字节的块,可输入以下命令:
chfs -a size=+1000000 /usr
#lscfg –v (显示所有已安装的系统资源)
#lsattr –E -l sys0 (显示系统初始参数设置)
#lsdev –CH(显示 系统资源状态)
#df –k (文件系统使用情况)
#
#bootinfo -y 操作系统环境(位数)
#bootinfo -m 硬件环境
更改每个VG中LV的个数 默认值=vg size/pp
#chvg -t
#chlv -x number
'lsps -a' Lists the status of defined paging spaces.
'lslpp -h' Used to determine the version of AIX you are running as well as the version of ALL Licensed Program Products.
'lsattr -E -lsys0' Useful in determining how much real memory resides on the system.
'lsdev -C' Used to determine what devices are defined to the system.
'ps av' Gives a ballpark estimate of the percentage of cpu and memory utilized by each process currently running.
'vmstat 3 20' Useful for determining how much paging activity is taking place on the system. Also gives useful cpu usage info.
'iostat 3 20' Useful in determining disk utilization for each hard drive
验证文件集是否有必需的先决条件和是否已完全安装
要显示需要安装或纠正哪些文件集,可输入以下命令:
lppchk -v
如何获得符号表示中的 loader 节头和符号条目的转储?
输入以下命令:
dump -Htv
确定已分配和使用的分页空间量
输入以下命令:
lsps -a
增加分页空间
可以使用 chps -s 命令来动态增加分页空间的大小。例如,如果希望将 hd6 的大小增加 3 个 逻辑分区,您可以执行以下命令:
chps -s 3 hd6
减少分页空间
可以使用 chps -d 命令来动态减少分页空间的大小。例如,如果希望将 hd6 的大小减少四个 逻辑分区,您可以执行以下命令:
chps -d 4 hd6
备份裸设备
#dd if=/dev/raw_divice of=/dev/rmt0.1 bs=256k
从磁带还原裸设备
#dd if=/dev/rmt0.1 of=/dev/raw_device count=63 seek=1 skip=1 bs=4k
#mt -f /dev/rmt0.1 bsf 1
#dd if=/dev/rmt0.1 of=/dev/raw_device seek=1 skip=1 bs=256k
#dd if=/dev/rsystem of=/dev/rsystem_bak bs=8192
如何知道我的系统是否能够使用 同步多线程(Simultaneous Multi-threading,SMT)?
如果您的系统是运行 AIX 5L Version 5.3 的基于 POWER5 的系统,则它就能使用 SMT。
如何知道我的系统是否启用了 SMT?
如果不带任何选项运行 smtctl 命令,它将告诉您是否启用了 SMT。
32 位 内核是否支持 SMT?
是的,32 位和 64 位 内核都支持 SMT。
如何启用或禁用 SMT?
可以通过运行 smtctl 命令来启用或禁用 SMT。下面是该命令的语法:
smtctl [ -m off | on [ -w boot | now]]
怎样镜像rootvg?
现举例如下:
1. 添加新硬盘到rootvg
#extendvg rootvg hdisk1
2. 镜像rootvg
#mirrorvg -c 2 rootvg hdisk1
3. 重新生成 boot image
#bosboot -ad /dev/hdisk0
4. 更新bootlist
#bootlist -m normal hdisk0 hdisk1 cd0
5. 重起系统
#shutdown –Fr
网络
如何显示或设置网络参数值?
no 命令设置或显示网络优化参数的当前或下一次启动时的值。
如何获得我 计算机的 IP 地址?
输入以下命令之一:
ifconfig -a
或
host Fully_Qualified_Host_Name
例如,输入 主机 cyclop.austin. ibm.c o m。
如何确定 服务器上的网络接口?
以下两个命令中的任何一个都将显示网络接口:
lsdev -Cc if
或
ifconfig -a
若要获得有关某个特定网络接口(例如,tr0)的信息,可以运行以下命令:
ifconfig tr0
如何激活网络接口?
若要激活网络接口 tr0,可以运行以下命令:
ifconfig tr0 up
如何禁用网络接口?
举例来说,若要禁用网络接口 tr0,可以运行以下命令:
ifconfig tr0 down
系统备份
用以下菜单命令形成可启动磁带,用于系统恢复。
# smit mksysb
#lsattr -E -l sys0 (显示系统初始参数设置)
#lsdev -CH(显示 系统资源状态)
cplv的用法:fs的拷贝
如在lv00中有文件系统/dev/lv00,mount点/testfs
cplv -v vgname -y newly oldlv(此命令自动创建newlv)
删去oldlv
修改/etc/filesystems下/testfs,将dev定为/dev/newlv
fsck /testfs
mount /testfs 则原文件系统的内容都能访问
禁止终端上的中断键(CTRL+C)
在很多应用系统中,系统管理员希望普通用户只运行自己的应用程序,不能进入系统的shell提示符下,但缺省情况下当用户在 终端上按CTRL+C键时就会退到系统提示符下。由于用户终端一般没有固定的端口号,为了禁止使用中断键,可采取下面办法:
(1)如果使用ksh, 可在$HOME/.profile中第一行加入如下内容:
trap "echo 'Abnormal operation'; exit" 123915
(2)如果使用csh(ksh亦可),可用如下命令:
% stty intr ^!
如果恢复正常情况,键入下列命令:
% stty intr ^c
在shell中不 回显(echo) 字符
在实际应用中,一般当我们在键盘上键入口令时不希望将其显示在 屏幕上,为此可采用下面的两种办法:
·使用 stty 命令
stty -echo # do not display password
echo "Enter password: \\c"
read PASSWD #get the password
stty echo # restore standard configuration
·使用echo命令
设置保密属性:echo "\\033[8m"
取消保密属性:echo "\\033[m"
在某个目录及其所属子目录的所有文件中查找字符串
在程序维护过程中,有时需要在某个目录及其所属子目录的所有文件中查找某一个字符串,为此可用下面两种方法(假设在*.cp文件中查找字符串"abc",结果放在文件out中):
(1)cat /dev/null > out
find ./ -name "*.cp" -exec grep "abc" >> out
(2)find ./ -name "*.cp" | xargs grep "abc" > out
推荐使用第二种方法,因其系统开销小、速度快。
对/etc/inittab文件中的一行进行注释
我们都知道在shell中使用"#"作为注释符号,但在/etc/inittab中注释一行的方法是在第一个 字符前插入字符":"。
转换DOS和AIX两种格式的文本文件
如欲转换DOS和AIX两种格式的文本文件,有两种方法:
(1)用ftp命令:设置ASCII传输类型,在一台运行AIX的机器和另外一台运行Windows的机器之间互相传送,这里不再赘述。
(2)使用 aix2dos或dos2aix命令
如将DOS格式的文本文件转换为AIX格式,可用命令A:dos2 aix inputfile outfile,反之可用命令:aix2dos inputfile outfile,关于dos2aix和aix2dos命令的详细用法可参阅"dos2aix -h "和"aix2dos -h "。注意要使用这两个命令,必须首先安装文件集bos.pci。
解决某一PV上的VGDA与ODM库不一致的问题
在 系统维护过程中,因为操作错误或其他特殊原因,有可能使某一PV上的LVCB和VGDA与其对应的ODM库不一致,导致ODM库紊乱,对PV的有关操作无法进行,这时可采用如下两个AIX命令加以解决:
redefinevg -d hdisk_name vg_name
该命令以指定PV上的LVM信息重新定义给定VG的ODM库。
或:synclvodm -P -v vgname
该命令同步或重建给定VG的ODM库和LVM信息。
设置用户的文件大小限制
在AIX系统中,用户使用 系统资源是有一定限制的。如用户缺省可创建或扩展的最大文件为1G(参见/etc/security/limits: fsize = 2097151, fsize_hard=fsize 512-bytes blocks)。
如欲修改,可使用smit:
# smit chuser 选择用户,修改下面两项:
Soft FILE size [4194302]
# (2G,可根据需要设定)
Hard FILE size [4194302]
# (2G, 可根据需要设定)
用该用户身份登录,使用"ulimit -f "和"ulimit -Hf"可分别显示其fsize、fsize_hard的大小。
按文件大小排序列出一个文件系统下的文件
当监控某一文件系统的空间使用情况时,如果该文件系统剩余空间较少或已使用空间增长较快,则有必要排序列出该文件系统中所有大于某一给定字节数的文件,以便进一步维护管理。为此,可用如下命令:
# find [filesystem_name] -xdev -size +[512-bytes bloks] -ls | sort -r -n -k7
文件系统是否满
方法: df –k 可以以K为单位检查文件系统的使用率。(90%以上,需要调整)
检查系统出错 日志 使用errpt |more来检查
清除现有的log: Errclear 0
检查系统合法/非法登陆情况
使用Last命令来检查来自登陆的地方。
检查系统是否有巨大的Core文件生成
使用 find / -name core –print来检查。对Core文件,一般直接删除就可以了。
系统性能检查:
a) CPU性能:使用Vmstat, topas来检查
b) 内存使用情况:也是使用 topas, vmstat来检查
c) 检查IO平衡使用情况:使用iostat来检查
d) 交换空间使用情况:使用lsps –a来检查
6. Mail检查
Diag 一个月一次
用命令SVMON来监控 服务器,
如
root@AIX1 [/]# svmon
size inuse free pin virtual
memory 1048566 1023178 4976 55113 251293
pg space 524288 10871
work pers clnt
pin 55116 0 0
in use 250952 772224 2
用SVMON可以具体指定进程号,如
以上是关于给aix 系统增加中文字符集,该怎么处理的主要内容,如果未能解决你的问题,请参考以下文章
使用 linux 和 AIX 的正则表达式替换 bash 脚本中的字符串
在多个目录中的文件中查找和替换包含引号的字符串 - unix aix