我是 Oracle 菜鸟,我的目的是将所有数据和元数据从一个架构传输到 Oracle 数据库中的另一个架构。我打算使用数据泵expdp
和impdp
命令。我对此有疑问:
expdp
和impdp
命令吗?这是首选方法吗?该语句是否从模式中获取所有对象(数据和元数据)并将它们移动到不同的模式中?
expdp \"/ as sysdba\" schemas=<schemaname> directory=dumpdir dumpfile=<schemaname>.dmp logfile=expdp_<schemaname>.log
Run Code Online (Sandbox Code Playgroud)
那么目标模式是impdp
命令后源模式的精确副本吗?
我想将数据库中的所有现有对象,而不仅仅是表,替换到我当前的数据库中。
我使用参数full=yes
作为系统用户运行 expdp ,我datapump_imp_full_database
在以 sysdba 登录时授予了系统用户,从我从中导入的实例。我使用参数在目标数据库上运行了impdp table_exists_action=replace
,但是(可以理解)只替换了现有表,而没有替换过程、函数、视图。
是否有table_exists_action
所有对象的等价物?如果没有,我怎样才能做到这一点?
这两个数据库都是 Windows 10 上的 Oracle 12c。
Linux 的默认 Oracle 安装没有附带 expdp 和 impdp 命令行工具。我在 Oracle 的网站上找不到它们。我怎么能安装它们?
我想从一个模式 schema1 中获取数据并将其放入模式 2 这应该很容易做到,但我已经搜索了 oracle 文档,但找不到办法做到这一点。