oracle数据库备份恢复后乱码,RMAN做数据文件恢复后,查询表中数据出现乱码

今天在学习RMAN恢复数据库时,恢复后的数据库查询表出现乱码:

1:完全备份数据库

MAN>backup database format 'd:\orabackup\%u.bak';

启动 backup 于 13-5月 -07

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=9 devtype=DISK

通道 ORA_DISK_1: 正在启动 full 数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

备份集中包括当前控制文件

输入数据文件 fno=00001 name=D:\ORACLE\ORADATA\GARNETT\SYSTEM01.DBF

输入数据文件 fno=00002 name=D:\ORACLE\ORADATA\GARNETT\UNDOTBS01.DB

输入数据文件 fno=00005 name=D:\ORACLE\ORADATA\GARNETT\EXAMPLE01.DB

输入数据文件 fno=00009 name=D:\ORACLE\ORADATA\GARNETT\TEST01.DBF

输入数据文件 fno=00006 name=D:\ORACLE\ORADATA\GARNETT\INDX01.DBF

输入数据文件 fno=00008 name=D:\ORACLE\ORADATA\GARNETT\USERS01.DBF

输入数据文件 fno=00003 name=D:\ORACLE\ORADATA\GARNETT\CWMLITE01.DB

输入数据文件 fno=00004 name=D:\ORACLE\ORADATA\GARNETT\DRSYS01.DBF

输入数据文件 fno=00007 name=D:\ORACLE\ORADATA\GARNETT\TOOLS01.DBF

输入数据文件 fno=00010 name=D:\ORACLE\ORADATA\GARNETT\TEST02.DBF

通道 ORA_DISK_1: 正在启动段 1 于 13-5月 -07

通道 ORA_DISK_1: 已完成段 1 于 13-5月 -07

段 handle=D:\ORABACKUP\0DIHKHVG.BAK comment=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:56

完成 backup 于 13-5月 -07

模拟故障  删除数据文件 TEST01.DBF和TEST02.DBF

2:恢复数据库

RMAN>restore database;

启动 restore 于 13-5月 -07

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=9 devtype=DISK

正在略过数据文件 1; 已恢复到文件 D:\ORACLE\ORADATA\GARNETT\SYSTEM01.DBF

正在略过数据文件 2; 已恢复到文件 D:\ORACLE\ORADATA\GARNETT\UNDOTBS01.DBF

正在略过数据文件 3; 已恢复到文件 D:\ORACLE\ORADATA\GARNETT\CWMLITE01.DBF

正在略过数据文件 4; 已恢复到文件 D:\ORACLE\ORADATA\GARNETT\DRSYS01.DBF

正在略过数据文件 5; 已恢复到文件 D:\ORACLE\ORADATA\GARNETT\EXAMPLE01.DBF

正在略过数据文件 6; 已恢复到文件 D:\ORACLE\ORADATA\GARNETT\INDX01.DBF

正在略过数据文件 7; 已恢复到文件 D:\ORACLE\ORADATA\GARNETT\TOOLS01.DBF

正在略过数据文件 8; 已恢复到文件 D:\ORACLE\ORADATA\GARNETT\USERS01.DBF

通道 ORA_DISK_1: 正在开始恢复数据文件备份集

通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件

正将数据文件00009恢复到D:\ORACLE\ORADATA\GARNETT\TEST01.DBF

正将数据文件00010恢复到D:\ORACLE\ORADATA\GARNETT\TEST02.DBF

通道 ORA_DISK_1: 已恢复备份段 1

段 handle=D:\ORABACKUP\0DIHKHVG.BAK tag=null params=NULL

通道 ORA_DISK_1: 恢复完成

完成 restore 于 13-5月 -07

3:问题出现

查询表student(student表建在表空间TEST下)

SQL>select  *  from  student;

SNO        SNAME           SAGE SS SDEPT

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

2004110428 AuG`_S            23 DP

2004110429 RODMAN_S          22 DP

2004010430 GARNETT_S         19 DP NDQ'T:

2004110431 BmIY;*_S          20 DP

2004110432 Ko:@=\_S          21 DP

2004020433 Lily_S            18 E. Mb9zSoQ'T:

2004110425 @nUq?5_S          23 DP

2004110426 @nNDI}_S          22 DP

2004110427 @nVG3,_S          21 DP

2004110434 Mu=(8U_S          22 DP

2004110435 AuKI_S            21 DP

SNO        SNAME           SAGE SS SDEPT

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

2004110436 HNSB_S            22 DP

2004110437 KN3/_S            21 DP

2004110438 76OM@<_s e.>

2004110439 76Q)=?_S          21 E. IzC|?FQ'Q'T:

2004110440 Vla0_S            21 E.

4:解决问题

修改配置文件

对于Oracle Enterprise Manager中的所有工具,有一个配置文件名为dbappscfg.properties,修改该文件即可解决上述问题。这个文件的位置在$ORACLE_HOME\sysman\config目录下,用任何的文本编辑器打开该文件,在这个文件里面,找到这样一项,

# SQLPLUS_NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

去掉注释符#,同时将其修改为SQLPLUS_NLS_LANG=AMERICAN_AMERICA.ZHS16GBK。

对于Windows操作系统,还需要修改一项,在文件中找到# SQLPLUS_SYSTEMROOT=c:\\WINNT40,去掉注释符,将其修改为你所在机器的操作系统主目录。如操作系统的主目录在D盘的Winnt下,则将其修改为 SQLPLUS_SYSTEMROOT=d:\\WINNT。

5:再次查询表时

SQL>select  *  from  student;

SNO        SNAME           SAGE SS SDEPT

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

2004110428 刘青_S            23 男 计算机科学学院

2004110429 RODMAN_S          22 男 计算机科学学院

2004010430 GARNETT_S         19 男 文学院

2004110431 马少华_S          20 男 计算机科学学院

2004110432 孙豪杰_S          21 男 计算机科学学院

2004020433 Lily_S            18 女 外国语学院

2004110425 李振康_S          23 男 计算机科学学院

2004110426 李文升_S          22 男 计算机科学学院

2004110427 李智超_S          21 男 计算机科学学院

2004110434 王建刚_S          22 男 计算机科学学院

2004110435 刘松_S            21 男 计算机科学学院

SNO        SNAME           SAGE SS SDEPT

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

2004110436 任勇_S            22 男 计算机科学学院

2004110437 宋朝_S            21 男 计算机科学学院

2004110438 范贤兰_S          20 女 计算机科学学院

2004110439 范雪娇_S          21 女 生命科学学院

2004110440 朱岚_S            21 女 计算机科学学院

对比两次查询结果,数据和英文在查询后都没出现错误,只有中文字符出现问题。最后经过修改,字符集乱码问题得到解决,显示正确的简体中文字符集。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值