博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle学习 第20天 PL/SQL导入
阅读量:5135 次
发布时间:2019-06-13

本文共 891 字,大约阅读时间需要 2 分钟。

我就知道导入也有很多坑。。。

DROP USER XXX CASCADE; --删除用户CREATE USER XXX IDENTIFIED BY XXX --创建用户GRANT DBA TO XXX; --赋DBA权限GRANT EXECUTE ON EMULATION.UTILS to XXX; --从SqlServer迁移的触发器有用到Emulation的Utils同义词,如果不单独赋权限的话会报错

 

1、加上CASCADE,删除用户时会同时删除相应数据

 

2、原以为用system用户去导就可以自动成生用户和表空间了,像SqlServer那样【恢复备份】一样,原来是不行的。。。要先建用户,再恢复表结构/存储过程/序列/触发器等(即导入用户数据),再导入表数据。

 

3、建完用户后,想仍然用system账号来导入结构和数据,结果那些导出的SQL脚本,建表之类是有加上用户前缀,即有完整的XXX.TableName,可用管理员账号导。但触发器脚本是直接使用TableName的,那就需要直接使用XXX用户的账号来导。

 

4、新建的XXX权限不足,需要赋权限。建表、建存储过程、建触发器。。。一个个添加,加一个试一个,总是权限不够,无奈直接赋DBA省事。

 

5、导完后发现触发器编译不通过,都是提示UTILS不存在。查了后发现EMULATION账号下有一个UTILS,会自动在XXX下生成一个同义词。都DBA了怎么还没权限,只好手动再专门赋一下权限。

错误:PLS-00201: 必须声明标识符 'UTILS'行:21文本:utils.identity_value := v_newVal;
-- save this to emulate @@identity  utils.identity_value := v_newVal;

应该是专门用来模拟自增列的。

 

6、从头再来一次,终于全部成功了,也够折腾的。SqlServer在SSMS里,用sa,随便恢复bak文件,多方便。

转载于:https://www.cnblogs.com/liuyouying/p/6368953.html

你可能感兴趣的文章
为什么要用面向对象的编程方式?
查看>>
iOS之侧滑界面实现
查看>>
User-Agent
查看>>
关于hadoop的一些研究优化方向
查看>>
Emoji表情代码大全
查看>>
IDEA + SpringBoot + maven 项目文件说明
查看>>
BZOJ3252 攻略(贪心+dfs序+线段树)
查看>>
博客园的异常处理机制是怎么样的
查看>>
Git教程 Git与SVN的区别
查看>>
深入理解Java的接口和抽象类
查看>>
mysql 全量备份以及增量备份
查看>>
【计算机视觉】期刊整理
查看>>
【Linux开发】linux中关于dma_alloc_coherent的用法
查看>>
Sublime 输入中文显示方框问号乱码
查看>>
bootstrap-datepicker宽度高度自适应
查看>>
字符串函数
查看>>
带返回值的存储过程
查看>>
表格测试
查看>>
Android 命名规范 (提高代码可以读性) 转
查看>>
移动设备尺寸规范汇总(转)
查看>>