导库的问题与感想
1、 如果用户下的数据很多,直接删用户时间非常久,具体时间不知道,所以可以先把该用户下的相关表,对象删除
注意:删除该用户的表、对象时必须用该用户登录,而不能用sys用户,用sys用户登录这样所查找的表关于sys用户都会删除,会导致数据库出问题
2、 直接采用Oracle的Database Configuration Assistant进行删除数据库后最好把该数据库的相关文件也删除,否则相关文件还在,可能是导致导库的时候出现问题,出现如下提示:
IMP-00015: following statement failed because the object already exists:
"CREATE PUBLIC SYNONYM "G3E_AA_ELEM_TYPE" FOR "G3E_AA_ELEM_TYPE""
3、用导出库的模板进行创建数据库,创建时会提示:ORA-01078:failure in processing system parameters
具体原因不知,可能是数据库本身的参数与模板的有冲突,原本以为是版本不一致的问题,可后来有同事也是用的同一版本仍有该问题
4、 不同版本导致的问题,数据库和用户都创建好了,进行imp的时候提示如下错误:
刚开始以为是数据库字符集的问题,可是查了我的数据库和导出的数据库的数据库
字符集是一样的。在看看感觉应该是版本不一致的问题(我的Oracle是10.1,而导出库是10.2),imp只是支持向上兼容,即Oracle9可以导入Oracle8的dmp,但是版本不能相差太多。后来重新装了一个Oracle10.2版本的,终于可以导入了。
很不解的是之前我也到过一次dmp,导出库的版本也是10.2,怎么就成功的导入了,这也是我一直没敢断定是版本的问题。
5、 导库中导了不就又出现如下错误:
IMP-00058: 遇到 ORACLE 错误 3135
ORA-03135: 连接失去联系
IMP-00058: 遇到 ORACLE 错误 3114
ORA-03114: 未连接到 ORALCE
原因:经网上查找说是网络原因,所以我还是把用户删了再重建用户,然后再导,这次导是成功完成了。
不解的是自己的机子数据库进行导库跟网络有关系?
6、 dmp导成功了,但是登录数据库却发现有很包、过程什么的都是失效的,所以直接进行编译无效对象。
7、 打开gcomm,却发现什么功能也不能用,最后问了同事才知道原来登录gcomm的用户要在sys.user$表中对登录用户的SPARE4字段进行权限配置(SH_LR)。
Dmp终于到成功了。第二次导库竟然折腾了我一天两晚上。