如何从低版本将数据库升到高版本 是这样的,我们公司现用的是ORACLE8i的数据库。因为用公司的难免不便,而我在另一台机子装得有ORACLE9i,所以我想从备份中导到9i中独立操作,以供学习与研究。请教哪位大虾教我如何操作(最好有具体步骤)? 先谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 利用EXP工具将数据导出来,存成*.DMP的文件,然后再利用IMP工具导入你的9i里,但要注意字符集的差别.另外你可以利用PL/SQL DEVELOPER 2000或者TOAD工具进行这一操作. 使用exp/imp,oracle接受从低版本导入到高版本 如果你要把oracle8i的数据倒入到oracle9i,那你在用exp到出的时候必须用oracle9i的exp到出.dmp文件,这样才能倒入到orale9i的数据库,或者你用oracl8i的exp到出.dmp,在倒入的使用也用oracle8i的imp倒入到oracle9i中 感谢以上几位的帮助,但我按 jiessiezhang(jie) 兄所说的去做了,但还是不能导入,是不是还存在像 lutter(猴子) 兄说的那样字符之间的差异而不能的?还有,哪里有 PL/SQL DEVELOPER 2000 提供免费下载的呢? 用什么版本的exp导出,只能用什么相同版本的imp导入,否则可能会出错的! 还有个问题是用9i的Exp 不能导出8i的表,其格式为: D:\oracle\ora92\bin\imp system/manager@ora8db buffer=104786 file=d:\oracle\expdat.dmp log=d:\oracle\expdat.log full=y(被导出的数据库是8i的)是否还要有什么其它的参数?谢谢! 我刚试过了将导好的8i数据库.dmp导到9i的版本中,出了很多错误。因为我英文不是很好,所以根据大概意思其提示: 在作字符替换以及建立表空间时出错了,过后导表时及其它对象时就不能导入了,出现如下错误信息: Export file created by EXPORT:V08.01.06 via conventional pathimport done in WE8ISO8859P1 character set and UTF8 NCHAR character setimport server uses ZHS16GBK character set (possible charset conversion)export server uses WE8ISO8859P1 NCHAR character set (possible ncharset conversion)IMP-00017: following statement failed with ORACLE error 1119: "CREATE TABLESPACE "RBSG_SPC" DATAFILE 'D:\M206_DB\DBFILE\RBS01.DBF' SIZE 2" "335M AUTOEXTEND ON NEXT 5242880 MAXSIZE 4095M DEFAULT STORAGE(INITI" "AL 524288 NEXT 524288 MINEXTENTS 8 MAXEXTENTS 2147483645 PCTINCREASE 50) ON" "LINE PERMANENT "IMP-00003: ORACLE error 1119 encounteredORA-01119: error in creating database file 'D:\M206_DB\DBFILE\RBS01.DBF'ORA-27040: skgfrcre: create error, unable to create fileOSD-04002: unable to open fileO/S-Error: (OS 3) 靠靠靠靠靠?IMP-00017: following statement failed with ORACLE error 1119: "CREATE TABLESPACE "DATA_SPC" DATAFILE 'D:\M206_DB\DBFILE\DATA01.DBF' SIZE " "1460M AUTOEXTEND ON NEXT 1310720 MAXSIZE 4095M, 'D:\M206_DB\DBFILE\D" "ATA02.DBF' SIZE 1024M AUTOEXTEND ON NEXT 1310720 MAXSIZE 4095M, 'D:\" "M206_DB\DBFILE\DATA03.DBF' SIZE 536870912 AUTOEXTEND ON NEXT 1310720 " " MAXSIZE 4095M DEFAULT STORAGE(INITIAL 131072 NEXT 131072 MINEXTENTS 1 MAX" "EXTENTS 2147483645 PCTINCREASE 0) ONLINE PERMANENT "IMP-00003: ORACLE error 1119 encounteredORA-01119: error in creating database file 'D:\M206_DB\DBFILE\DATA01.DBF'ORA-27040: skgfrcre: create error, unable to create fileOSD-04002: unable to open fileO/S-Error: (OS 3) 靠靠靠靠靠?IMP-00017: following statement failed with ORACLE error 12913: "CREATE TABLESPACE "TEMP_SPC" DATAFILE 'D:\M206_DB\DBFILE\TEMP01.DBF' SIZE " "524288000 AUTOEXTEND ON NEXT 655360 MAXSIZE 4095M DEFAULT STORAGE(I" "NITIAL 65536 NEXT 65536 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0) O" "NLINE TEMPORARY " 。 。 。 。 。 。 现在有一个备份文件A.DMP,采用的字符集是AMERICAN_AMERICA.WE8ISO8859P1 我想在安装有SIMPLIFIED CHINESE_CHINA.ZHS16GBK字符集的数据库中恢复,请问怎样做?要注意什么?步骤。 1。SQL>CONNECT SYSTEM/MANAGER SQL>UPDATE SYS.PROPS$ SET VALUE$='WE8ISO8859P1' WHERE NAME LIKE 'NLS_CHAR%'; 2.修改注册表,NLS_LANG的值为AMERICAN_AMERICA.WE8ISO8859P1 3。重新启动数据库。 IMP USER/PA WD FILE=A。DMP FULL=Y LOG = A.TXT ok! --------------------------------------------------------------------------------------------------1. 2服务器指定字符集与客户字符集相同,与加载数据字符集不一致。 ---- 这类问题一般发生在ORACLE版本升级或重新安装系统时选择了与原来服务器端不同的字符集,而恢复加载的备份数据仍是按原字符集卸出的场合,以及加载从其它使用不同字符集的ORACLE数据库卸出的数据的情况。这两种情况中,不管服务器端和客户端字符集是否一致都无法显示汉字。解决办法见2.2。 2.2 强制加载数据字符集与服务器端字符集一致 ---- 假设要加载数据从原ORACLE数据库卸出时的字符集为US7ASCII,当前ORACLE服务器字符集为WE8ISO8859P1。 ---- 下面提供三种解决方法: ---- (1) 服务器端重新安装ORACLE ---- 在重新安装ORACLE 时选择与原卸出数据一致的字符集(本例为US7ASCII)。 ---- 加载原卸出的数据。 ---- 这种情况仅仅使用于空库和具有同一种字符集的数据。 ---- (2)强行修改服务器端ORACLE当前字符集 ---- 在用imp命令加载数据前,先在客户端用sql*plus登录system DBA用户,执行下列SQL语句进行当前ORACLE数据库字符集修改: SQL > create database character set US7ASCII * create database character set US7ASCII ERROR at line 1: ORA-01031: insufficient privileges ---- 你会发现语句执行过程中,出现上述错误提示信息,此时不用理会,实际上ORACLE数据库的字符集已被强行修改为US7ASCII,接着用imp命令装载数据。等数据装载完成以后,shutdown 数据库,再startup 数据库,用合法用户登录ORACLE数据库,在sql>命令提示符下,运行select * from V$NLS_PARAMETERS,可以看到ORACLE数据库字符集已复原,这时再查看有汉字字符数据的表时,汉字已能被正确显示。 ---- (3)利用数据格式转储,避开字符集限制 ---- 这种方法主要用于加载外来ORACLE数据库的不同字符集数据。其方法如下: ---- 先将数据加载到具有相同字符集的服务器上,然后用转换工具卸出为foxbase 格式或access格式数据库,再用转换工具转入到不同字符集的ORACLE数据库中,这样就避免了ORACLE字符集的困扰。目前数据库格式转换的工具很多,象power builder5.0以上版本提供的pipeline,Microsoft Access数据库提供的数据导入/导出功能等。转换方法参见有关资料说明。. 8i 2 9i 为什么不用 sqlplus 的 spool 到出表 在9i下用external table 或者 sqlldr个人意见 数据量大时使用 存储过程 ora-00904 求大神,这个做不了,下面的进行不下去啊!!! ORACLE访问SQL的问题 码与主码的区别?? DATAGUARD是技术还是一套软件产品 OMWB迁移问题,都几天啦还没有好快呀~~! 奇怪了,这样子怎么不让我排序呢?总报缺少右括号 用过toad的朋友进来下,请教一下监控数据的问题! oracle中是否有子串搜索的函数 Oracle参数化查询出错 Oracle网页登陆界面为什么不能登陆? 大家来帮我看看我测试用ASP调用ORACLE存储过程时出的错误,有什么解决办法吗?? utl_file_dir参数应该怎么设置?
D:\oracle\ora92\bin\imp system/manager@ora8db buffer=104786
file=d:\oracle\expdat.dmp log=d:\oracle\expdat.log full=y(被导出的数据库是8i的)是否还要有什么其它的参数?谢谢!
在作字符替换以及建立表空间时出错了,过后导表时及其它对象时就不能导入了,出现如下错误信息:
Export file created by EXPORT:V08.01.06 via conventional path
import done in WE8ISO8859P1 character set and UTF8 NCHAR character set
import server uses ZHS16GBK character set (possible charset conversion)
export server uses WE8ISO8859P1 NCHAR character set (possible ncharset conversion)
IMP-00017: following statement failed with ORACLE error 1119:
"CREATE TABLESPACE "RBSG_SPC" DATAFILE 'D:\M206_DB\DBFILE\RBS01.DBF' SIZE 2"
"335M AUTOEXTEND ON NEXT 5242880 MAXSIZE 4095M DEFAULT STORAGE(INITI"
"AL 524288 NEXT 524288 MINEXTENTS 8 MAXEXTENTS 2147483645 PCTINCREASE 50) ON"
"LINE PERMANENT "
IMP-00003: ORACLE error 1119 encountered
ORA-01119: error in creating database file 'D:\M206_DB\DBFILE\RBS01.DBF'
ORA-27040: skgfrcre: create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) 靠靠靠靠靠?
IMP-00017: following statement failed with ORACLE error 1119:
"CREATE TABLESPACE "DATA_SPC" DATAFILE 'D:\M206_DB\DBFILE\DATA01.DBF' SIZE "
"1460M AUTOEXTEND ON NEXT 1310720 MAXSIZE 4095M, 'D:\M206_DB\DBFILE\D"
"ATA02.DBF' SIZE 1024M AUTOEXTEND ON NEXT 1310720 MAXSIZE 4095M, 'D:\"
"M206_DB\DBFILE\DATA03.DBF' SIZE 536870912 AUTOEXTEND ON NEXT 1310720 "
" MAXSIZE 4095M DEFAULT STORAGE(INITIAL 131072 NEXT 131072 MINEXTENTS 1 MAX"
"EXTENTS 2147483645 PCTINCREASE 0) ONLINE PERMANENT "
IMP-00003: ORACLE error 1119 encountered
ORA-01119: error in creating database file 'D:\M206_DB\DBFILE\DATA01.DBF'
ORA-27040: skgfrcre: create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) 靠靠靠靠靠?
IMP-00017: following statement failed with ORACLE error 12913:
"CREATE TABLESPACE "TEMP_SPC" DATAFILE 'D:\M206_DB\DBFILE\TEMP01.DBF' SIZE "
"524288000 AUTOEXTEND ON NEXT 655360 MAXSIZE 4095M DEFAULT STORAGE(I"
"NITIAL 65536 NEXT 65536 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0) O"
"NLINE TEMPORARY "
。
。
。
。
。
。
1。SQL>CONNECT SYSTEM/MANAGER SQL>UPDATE SYS.PROPS$ SET VALUE$='WE8ISO8859P1' WHERE NAME LIKE 'NLS_CHAR%';
2.修改注册表,NLS_LANG的值为AMERICAN_AMERICA.WE8ISO8859P1
3。重新启动数据库。
IMP USER/PA WD FILE=A。DMP FULL=Y LOG = A.TXT
ok!
--------------------------------------------------------------------------------------------------
1. 2服务器指定字符集与客户字符集相同,与加载数据字符集不一致。 ---- 这类问题一般发生在ORACLE版本升级或重新安装系统时选择了与原来服务器端不同的字符集,而恢复加载的备份数据仍是按原字符集卸出的场合,以及加载从其它使用不同字符集的ORACLE数据库卸出的数据的情况。这两种情况中,不管服务器端和客户端字符集是否一致都无法显示汉字。解决办法见2.2。 2.2 强制加载数据字符集与服务器端字符集一致 ---- 假设要加载数据从原ORACLE数据库卸出时的字符集为US7ASCII,当前ORACLE服务器字符集为WE8ISO8859P1。 ---- 下面提供三种解决方法: ---- (1) 服务器端重新安装ORACLE ---- 在重新安装ORACLE 时选择与原卸出数据一致的字符集(本例为US7ASCII)。 ---- 加载原卸出的数据。 ---- 这种情况仅仅使用于空库和具有同一种字符集的数据。 ---- (2)强行修改服务器端ORACLE当前字符集 ---- 在用imp命令加载数据前,先在客户端用sql*plus登录system DBA用户,执行下列SQL语句进行当前ORACLE数据库字符集修改: SQL > create database character set US7ASCII
* create database character set US7ASCII
ERROR at line 1:
ORA-01031: insufficient privileges
---- 你会发现语句执行过程中,出现上述错误提示信息,此时不用理会,实际上ORACLE数据库的字符集已被强行修改为US7ASCII,接着用imp命令装载数据。等数据装载完成以后,shutdown 数据库,再startup 数据库,用合法用户登录ORACLE数据库,在sql>命令提示符下,运行select * from V$NLS_PARAMETERS,可以看到ORACLE数据库字符集已复原,这时再查看有汉字字符数据的表时,汉字已能被正确显示。 ---- (3)利用数据格式转储,避开字符集限制 ---- 这种方法主要用于加载外来ORACLE数据库的不同字符集数据。其方法如下: ---- 先将数据加载到具有相同字符集的服务器上,然后用转换工具卸出为foxbase 格式或access格式数据库,再用转换工具转入到不同字符集的ORACLE数据库中,这样就避免了ORACLE字符集的困扰。目前数据库格式转换的工具很多,象power builder5.0以上版本提供的pipeline,Microsoft Access数据库提供的数据导入/导出功能等。转换方法参见有关资料说明。.
为什么不用 sqlplus 的 spool 到出表 在9i下用external table 或者 sqlldr
个人意见 数据量大时使用