SQLDeveloper跨库复制数据到其他用户表时跳过SCHEDULE问题求助
SCHEDULE表复制跳过问题解决方案
1 权限校验
你当前持有的APP_READER账号仅具备SCHEDULE表的查看权限不足以支撑数据写入,需先确认权限配置:
- 执行以下SQL验证写入权限,返回结果为
Y才符合要求:SELECT INSERT_PRIV FROM ALL_TAB_PRIVS WHERE GRANTEE = 'APP_READER' AND OWNER = 'CLIENT_READER' AND TABLE_NAME = 'SCHEDULE'; - 权限缺失时,联系目标库DBA执行授权语句:
GRANT INSERT, SELECT ON CLIENT_READER.SCHEDULE TO APP_READER; - 同时确认源库连接TAXI_DEV_1的账号对源端SCHEDULE表具备SELECT权限。
2 修正Database Copy工具配置
现有配置存在两处错误会触发表跳过逻辑,按以下步骤调整:
- 修正数据对象配置:你当前选中的是「Tables、COUNTRY」,若要复制SCHEDULE表,需将SCHEDULE也加入数据对象列表,或者直接仅勾选「Tables」全量复制表数据
- 新增Schema映射:工具默认会将源表复制到目标连接登录账号(APP_READER)的schema下,需手动配置映射规则:
- 打开Database Copy设置页的「Schema Mapping」模块
- 源端schema填写源库SCHEDULE表所属的用户名,目标端schema填写
CLIENT_READER - 保存配置后重新执行复制即可
3 备用方案
若调整工具配置后仍无法正常复制,可直接用数据导入导出完成操作,步骤更可控:
- 连接源库TAXI_DEV_1,右键SCHEDULE表选择「导出」,格式选择INSERT语句或CSV
- 连接目标库TAXI_QA_1,右键CLIENT_READER下的SCHEDULE表选择「导入」,选择刚才导出的文件执行即可
也可以配置跨库DBLink后直接执行插入语句:
INSERT INTO CLIENT_READER.SCHEDULE SELECT * FROM 源SCHEMA名.SCHEDULE@源库DBLink名; COMMIT;
内容的提问来源于stack exchange,提问作者derek
相关产品推荐
相关产品推荐

