数据库的恢复 数据库的字符集 问题
我刚刚接触oracle数据库没有几天 发现和原来使用的DB2有很大不同,有许多疑问,请大家多多指导
我通过“select userenv('language') from dual;”显示我的数据库字符集为“AMERICAN_AMERICA.ZHS16GBK”(Solaris环境) ,第一个问题:在这种字符集下,存储汉语数据有没有可能出现乱码的问题,我用jdbc连入存储汉字没有问题,用PB直接写汉字没有问题,但是通过CICS的程序写就出现乱码,我怀疑数据库的字符集问题有可能影响,不知道是否有根据。这种字符集与“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”有什么不同。
我想改写数据库的字符集,于是我想备份数据库。于是实验exp/imp逻辑备份(Win2K环境)。首先建立一个数据库db1 建立了一个表 “员工 employee”
c:\ emp userid=system/manager full=y
在c:\ 发现EXPDAT.DMP文件
然后我删除数据库db1
c:\ imp userid=system/manager full=y file=EXPDAT.DMP
发现不可以恢复
第二个问题: 用exp/imp 在恢复的情况下必须存在一个数据库?在full=y 的全恢复情况下 也不可以自动建立一个数据库吗?
于是我建立一个数据库dbtest1
c:\ imp userid=system/manager tables=employee file=EXPDAT.DMP
发现在dbtest1里发现了employee 表 然后我把employee 表 删除
因为我没有发现imp里有指定 倒入 数据库的参数
于是又建立一个数据库dbtest2
c:\ imp userid=system/manager tables=employee file=EXPDAT.DMP
发现dbtest1里没有employee 表 dbtest2里有了employee 表 ,我开始怀疑是不是连接数据库的问题 我就把dbtest2里的employee 表 删除。
进入sqlplus
c:\ sqlplus system/manager@dbtest1
sql:>host imp file=EXPDAT.DMP tables=employee userid="""system/manager"""
发现还是dbtest2里有了employee 表 ,第三个问题:当前环境变量还是数据库变量里哪个参数指定 默认数据库 这里就是 指向dbtest2这个数据库
冷备份还在实验
问题点数:0、回复次数:5Top
1 楼BlueskyWide(谈趣者)回复于 2003-05-04 11:49:16 得分 0
字符集可参考:
http://expert.csdn.net/Expert/topic/1673/1673792.xml?temp=.4960291Top
2 楼kiover(蓝色深海)回复于 2003-05-04 11:52:37 得分 0
study.......Top
3 楼kiover(蓝色深海)回复于 2003-05-04 11:59:34 得分 0
高手在那里,up先,记得多给我点分阿,没功劳也有苦劳的阿。。。。Top
4 楼BlueskyWide(谈趣者)回复于 2003-05-04 12:25:09 得分 0
用户不要建在系统的system用户下,可以如test/test_password。
关于如何建库及exp、imp问题请较系统地看一下书。
恕本人冒昧,打个不恰当的比方给楼主听:本人三天内能掌握DB2吗?
Top




