解决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
UNIX(AIX)系统常用命令AIX的命令格式:
$command option(s) argument(s)
command:命令
option(s):命令选项,均以'-'号开始
argument(s):参数
命令 用途
----------------------------------------------------------------------------
prtconf 显示系统的各项主要配置
svmon -G 查看内存(4k)
iostat 2 查看磁盘读写情况(每2秒刷新)
set -o vi 调用缓冲区 k,j,x,h,l 向上下翻,Esc
smit 进入管理界面
cd 改变路径
ls 列出文件
ls -aF 列出隐含文件,并适当分类
ls -l 列出文件的详细信息
ls -ltr
more 输出文件内容到屏幕
cat 显示文本文件内容/合并文件
pg 分页显示文件内容,回车后下一页
file 显示文件属性(可执行/ASCII/等)
clear 清屏
mkdir 创建目录
rmdir 删除目录
cp 拷贝文件
mv 文件/目录改名,转移
rm 删除文件/目录, 如:rm -fr ora*
rmdir 删除目录,如: rmdir oracle
df -k 显示文件系统的信息
du 磁盘使用信息汇总
mount 显示已经挂装的文件系统的信息或挂装文件系统 mount -rv cdrfs /dev/cd0 /cdrom mount /dev/lv02 /u01
umount 卸载某个文件系统 umount /cdrom
fuser -kxuc /dev/cd0 当光驱不能正常释放时
lsattr -E -l sys0 -a realmem 察看内存的命令
env 输出用户环境变量到屏幕
id 察看用户的属性
whoami 察看当前用户名
who 查看已经登录的用户
who -r 查看目前系统的运行级别
users 用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话
如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数
w 显示当前系统中每个用户和它所运行的进程信息
last 此命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户
whereis 命令的绝对路径
passwd 设置用户密码
su 改变/切换用户id
lsuser ALL 列出所有已经创建的用户
lsgroup ALL 列出所有已经创建的组
smitty user 管理用户
mkuser 创建新用户,创建用户的缺省属性值于文件:/usr/lib/security/mkuser.default,只能由root修改
smitty group 管理组
mkgroup 创建新组
chfn 改变用户详细信息
jobs 查看后台任务/进程
fg 把后台进程调到前台
bg 把当前进程调到后台运行
grep 查找匹配字符/字符串
netstat -i 显示网络连接信息及统计信息
netstat -IN
netstat -rn 显示核心路由表
netstat -I 网络设置名 端口号 监视端口情况
netstat -v 正在使用的设备驱动程序的统计信息
netstat -m 网络使用的内存空间情况
netstat -D 显示丢弃包的情况
ifconfig -a 显示网络配置信息
umask 显示文件创建掩码,即新建文件或目录的缺省权限,如#umask 664
date 系统时间
find path expression 查找文件,expression的值有:
-name/-type/-size/-mtime(修改时间)/-perm(权限)/-usr/-o(或)
uname 显示 *** 作系统信息
oslevel 系统版本
man 帮助文件
smitty clstart | clstop 起用|关闭HA
smitty hamcp
smitty chinet 改变网卡的配置信息
smitty cluster 配置cluster
smitty hacmp 配置hacmp
/usr/sbin/cluster/clstat &显示cluster信息
dbassist 启动oracle数据库配置助手(dbca -9i 可以用配置数据库方式启动一个数据库)
netasst 启动oracle数据库listener配置助手(-9i oemapp是一个包,后跟参数,不同工具)
vi 文件编辑器
动作字符:
a 在当前字符后添加文字x 删除单个字符
A 在当前行最后添加文字dw 删除至当前词尾
i 在当前字符前添加文字d$ 删除至当前行尾
I 在当前行开始处添加文字d0 删除至当前行首
o 在当前行后添加新行dd 删除当前行
O 在当前行前添加新行:20,40d 删除20行至40行
/text 向后查询 ?text 向前查询
r 修改当前字符 R 覆盖字符,直至按下[ESC]
s 删除当前字符,并可添加字符直至按[ESC]
S 删除当前行,并可添加字符直至按[ESC]
yy 将当前行存入缓冲区
dd
p
P
errpt|pg 创建/显示错误文件
errclear 0 清除错误日志文件内容
lsvg -o 显示卷组信息
lsvg -l rootvg
instfix -iv|grep AIX_ML 安装的文件集
smitty tcpip tcp/ip配置
lsdev -Cc disk 系统设备信息(磁盘)
lspv 显示卷组里的物理卷信息
lsdev -Cc pdisk 显示阵列里的磁盘信息
errclear 清除error log
lsps -a 显示交换空间
swapon /dev/paging01 激活交换空间
chps -a paging01 删除交换空间
rmps paging01 删除不活动的交换空间
smit mkps 增加交换空间
smit chps 修改交换空间
varyonvg 激活卷组 如:varyonvg datavg 将datavg激活
varyoffvg 关闭卷组
/ect/services 查看端口
/etc/hosts 机器名IP对照表
/etc/inittab 相当于DOS的AUTOEXEC.BAT文件
/etc/filesystems 记录所有的文件系统设置
增加并配置端口
删除端口
ftp://root@10.188.12.250/ 在客户端登录AIX(用IE)
lscfg
lsdev
route ADD 0 10.188.12.1
route add default 192.168.0.1 设置网关(或在/etc/defaultrouter文件中加入网关地址,重起机器就行)
su root 以ROOT用户登录
smitty lv 增加逻辑盘
LN -s 源目录 目标目录 链接
ls -l 查看权限
./fielname 运行filename文件
smitty clstart 启动HA
smitty clstop 停止HA
.filename 表示filename文件(目录)为隐藏
cat file1 >>file2 合并file1到file2
SMIT 综合管理工具
# 表示ROOT用户
$ 表示一般用户
shutdown -fr 快速重启
smitty crjfs 创建结点mount /u05 chown -R oracle.dbs u05 chmod -R 777 u05
加一个文件系统的步骤: 加文件系统/chmod/chown/mount 文件系统名
smitty jfs
smitty lv
smitty lvm 管理逻辑卷
smitty vg 管理卷组
smitty chvg
drwxrwxrwx d表示目录,-表示普通文件,r表示链接d421421421 777全部权限
-rwxrwxrwx 第2-4:属主用户,5-7:同组用户,8-10所有用户
date 0217142590 This sets the date and time to Sat Feb 17 14:25:00 CST 1990.
当root不能在其终端上登录时 修改/etc/hosts文件,查看其IP地址对应的主机名
当其他用户不能在其终端上登录时 删除用户,并删除/home下对应的目录,重建
smitty aio 调整aioservers
#pstat -a|grep aios|wc -l 查看aio的值是否常达到MAX,IF 增加MIN, MAX aio
当任何用户都不能登录图形界面时 有可能根结点充满,在登录窗口用字符方式登录,加大根结点空间即可
ps -ef | grep cluster 查找包含"cluster"的进程
more /etc/passwd|grep zhxx 查找静态字符"zhxx"
pe -f 进程查看,如:# ps -f
UID PID PPID C STIME TTY TIME CMD
root 43626 45014 0 20:38:58 pts/1 0:00 -ksh
root 47710 43626 2 21:08:03 pts/1 0:00 ps -f
用户ID 进程ID 父进程ID CPU利用率 开始时间 控制台 运行时间 命令
kill -9 **** ***为进程号,可用ps获得
ping 10.188.12.252 -l 17000 -t 以17000 bytes/包 ping 目标
crontab 创建计划任务(crontab -l 查看已有任务, crontab -e 编辑或增加,删除任务)
0 2 * * * /u05/dmpbak/auto.sh 表示:每天两点执行/u05/dmpbak/auto.sh文件
lsfs 列出所有文件系统
lsvg -l rootvg 列出rootvg的卷
lsvg -p rootvg 列出物理卷信息
lsvg datavg 可查询空闲物理分区数
smit reogvg 重组卷组
smit importvg 导出卷组,卷组必须是不活动的;
lspv hdisk0 显示物理卷
lspv -l hdisk0 逻辑卷映射
lspv -p hdisk0 物理卷映射
defragfs -q /u01 报告文件系统的当前状态
defragfs -r /u01 得到碎片连续化 *** 作后和前后对比情况
defragfs /u01 执行碎片连续化 *** 作
fsck /u05 检查u05文件系统
xclock 时钟,可用于检查环境是否正常
chmod 777 /u02
r 2=3 相当于:chmod 777 /u03
rsh zzyc2_sev 在其他机器上登录某主机
dgmgrl 类似SVRMGRL(9i)
ps -ef |grep oracle |pg 查看oracle用户的所有进程
kill -9 14206 杀14206#进程
kill -l 显示KILL命令可以用的信号量
killall signal 删除除发送外的其他所有进程
/usr/sbin/cluster/clstat &显示双机热备状态图
exit或logout 退出登录
qprt filename1,filename2... 打印文件
qchk 查看打印队列
qcan 取消打印作业
lsps -a 查询交换空间,如USE超过70%,则要增加
set 查看已定义的变量
echo $name 查看某个变量的值
xxx=value 定义变量
unset xxx 删除变量
`` 把``之间的内容作为一个命令,返回命令结果如$now=`date` $echo $now
'' 直接显示''间的内容,不予解释
"" 解释""间的$,``,等字符的特殊含义
忽略后的特殊字符的特殊含义
$$ 表示当前进程的ID
$0 当前shell程序的名称
$# 传给当前shell Script的参数个数;
$* 传给当前shell Script的第*个参数,$1-$9,${10}......
$? 最近一个命令的返回值;
$! 最近一个后台进程的ID号
expr shell下的四则运算:
* 乘; /除% 求余数+,- 如:expr (3+3)*(4-2)
command1 &&command2 如果第一个命令执行成功,则运行第二个命令
command1 || command2 如果第一个命令执行失败,则运行第二个命令
test 表达式 测试条件表达式,主要有:
-f filename 文件是否存在
-d dirctory 目录是否存在
-r filename 文件存在,且能被当前进程读
-w filename 文件存在,且能被当前进程写
-x filename 文件存在,且能被当前进程运行
-n string 字符STRING长度非零
-z string 字符STRING长度零
string1=string2 两个字符串相同
integer1 -eq integer2 两个变量相等(ne:不等 gt:大于 lt:小于 le:小于等于 ge:大于等于)
if ..
then ..
else...
fi
read xxx 从标准输入读入一行,赋给xxx变量read x echo $x
for i in ....
do
...
done
while expression
do
...
done
ksh scriptname
scriptname
pathname/scriptname shell script的三种执行方法
#command 前台进程
#command &后台进程
nice/renice 增加/再增加nice的值,从而降低进程优先级
nohup command &使用户的后台进程在用户退出时仍然运行
#alias alias=string 赋命令别名
unalias aliasname 取消命令别名
history 显示最后的16条命令
cal 2003/cal 2 2003 日历
finger [oracle] 显示用户信息
mail 接收,发出,查看电子邮件
clear 清屏
echo 显示指定信息
wc filename 统计指定文件的行数,词数,字节数
head filename 显示文件头
tail filename 显示文件尾
tail -f /tmp/hacmp.out 显示HACMP启动情况
[^+C]/[^+d]/[^+s]/[^+q]/[^+u] 终止/结束文件传输/暂停屏幕输出/继续屏幕输出/删除当前输入行
smit(system management interface Tool)
其log文件/script文件保存在各用户目录下
alog -o -t boot 查看引导日志
chtz 设置新时区
/etc/profile
/etc/environment
$HOME/.profile 系统设置用户环境的主要文件
lsuser -a id home ALL 列出所有用户
/etc/motd 用户登录时显示的信息,可直接编辑,但如果用户主目录下$HOME/.hushlogin存在,motd不显示
wall ***** 向各登录用户发出*****消息,用户终端上将马上显示
/var/adm/sulog su命令执行记录
/var/adm/wtmp,/etc/utmp 用who命令查看登录记录
last root |pg root用户登录记录
last reboot | pg 重启记录
/etc/passwd 合法用户(不含密码)
/etc/group
/etc/security 普通用户不能访问的安全性文件目录
lsdev -P 列出所有的设备, lsdev -Pc disk
smitty devices 设备管理
lsattr -E -l sys0 列出已配置的设备
jfs/Cdrfs/Nfs AIX支持的三种文件系统
/var/adm/wtmp
/var/spool/*/*
/smit.log
/etc/securibty/failedlogin
/var/adm/sulog 这些文件增长很快,要定期清理,可用cat /dev/null >filename方式清理
du /u05 | sort -r -n 查询文件或目录所占用的磁盘块数
vmstat 显示虚拟内存,内存及CPU活动信息
arp -a 查看解析协议ARP表
hostname 显示机器名
/etc/rc.tcpip 系统启动时自动执行,进而执行以下子进程:
-syslogd :错误信息日志
-portmap :端口查找
-inetd :Internet服务的主守护进程
-named :域名服务器
-lpd :打印服务器
-routed or gated :动态路由
-sendmail :邮件系统
-timed :时间服务器
-rwhod :远程用户信息
-snmpd :SNMP代理进程
host 机器名/IP 实现IP与机器名的转换
rsh PTYC2_svc date 执行另一台主机上的命令
lscfg 显示机器配置信息
lsdev -C -c if 显示网络接口描述
lsdev -C -c adapetr 显示适配描述
netpmon -v 物理/逻辑资源的详细报告
ps aux 查询内存使用情况
sar [-u|-c|-a|-q|-r] [-p] 1 10 查询系统负载情况
traceroute 10.188.182.1 跟踪IP
netpmon 可以监控关于网络行为的系统事件和性能以及网络行为对CPU的消耗。
lsdev -C|grep Process|wc -l 显示CPU数量
smitty mklv 创建裸设备(字符型设备)
smitty rmlv 删除裸设备(字符型设备)
lslv ***** ******为裸设备名称,显示裸设备相关参数
/etc/default/login 加上CONSOLE=/dev/console 后,可防止root用户telnet
SSL工具代替telnet等,增加安全性
/etc/passwd .../bin/sh 对应 .profile
/etc/passwd .../bin/csh对应 .login
系统正常从桌面登录执行 .dtprofile
su - username执行 .profile
vmstat 查询内存情况
iostat
mpstat 查询CPU情况
/etc/vfstab 磁盘目录规划
mount 目录安装情况
format 查看磁盘物理信息
p 分区
p
swap [-l|s|d|a] *** 作swap交换空间
patchadd -d 补丁文件名 打补丁-p 显示已打的补丁信息
sysdef -i
share -F nfs -o ro /etc
hare -F nfs -o rw=usera:userb /export
unshare /etc
dfshares
/usr/dt/bin/dtconfig -d 这将告知系统在下一次重新引导时不启动登录服务器。
/etc/ftpusers,/etc/default/login SOLARIS8下的FTP和TELNET缺省是关着,看看这两个文件.
sys-unconfig solaris重新设置
kdmconfig 配置显示器
eject d出CD-ROM或软驱
AIX 和linux下文本编辑都是使用vi 或者vim命令vi命令是UNIX *** 作系统和类UNIX *** 作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。
vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的 *** 作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、“O”、“o”、“I”、“i”键。
vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。常用内置命令如下:
Ctrl+u:向文件首翻半屏;
Ctrl+d:向文件尾翻半屏;
Ctrl+f:向文件尾翻一屏;
Ctrl+b:向文件首翻一屏;
Esc:从编辑模式切换到命令模式;
ZZ:命令模式下保存当前文件所做的修改后退出vi;
:行号:光标跳转到指定行的行首;
:$:光标跳转到最后一行的行首;
x或X:删除一个字符,x删除光标后的,而X删除光标前的;
D:删除从当前光标到光标所在行尾的全部字符;dd:删除光标行正行内容;
a:在当前字符后添加文本;
A:在行末添加文本;
i:在当前字符前插入文本;
I:在行首插入文本;
o:在当前行后面插入一空行;
O:在当前行前面插入一空行;
:wq:在命令模式下,执行存盘退出 *** 作;
:w:在命令模式下,执行存盘 *** 作;
:w!:在命令模式下,执行强制存盘 *** 作;
:q:在命令模式下,执行退出vi *** 作;
:q!:在命令模式下,执行强制退出vi *** 作;
:e文件名:在命令模式下,打开并编辑指定名称的文件;
:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
:set number:在命令模式下,用于在最左端显示行号;
:set nonumber:在命令模式下,用于在最左端不显示行号;
语法
vi(选项)(参数)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)