数据库】"/>
【Oracle数据库】
说明
在工作中使用Oracle11g的时候遇到了导入数据库表的问题,当时的数据库表使用的是expdp方法导出的,我在导入数据库的时候使用的exp对应的imp方式导入,结果遇到了好多问题。解决完成之后把expdp方法对应的导入导出记录下来,以防自己以后使用的时候再入坑。
步骤一、导出准备
C:\Users\Administrator>sqlplus sys as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 10月 21 14:42:27 2019
Copyright © 1982, 2010, Oracle. All rights reserved.
输入口令:123456 (MSI 密码)
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> connect as sysdba
请输入用户名: system
输入口令:(默认隐藏)
已连接。
SQL> create directory expnc_dir as ‘C:\oracle11g’; //创建导出地址
SQL> Grant read,write on directory expnc_dir to UO_EC_TEST1; //赋予相关用户权限
SQL> Grant read,write on directory expnc_dir to UO_EC_LOG;
SQL> Grant read,write on directory expnc_dir to UO_WORKFLOW_NEW;
SQL> quit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断
开
步骤二、开始导出
expdp UO_EC_TEST1/UO_EC_TEST1(用户的账号密码)directory=expnc_dir dumpfile=UO_EC_TEST1.dmp schemas=UO_EC_TEST1 logfile=UO_EC_TEST1.log
expdp UO_EC_LOG/UO_EC_LOG(用户的账号密码)directory=expnc_dir dumpfile=UO_EC_LOG.dmp schemas=UO_EC_LOG logfile=UO_EC_LOG.log
expdp UO_WORKFLOW_NEW/UO_WORKFLOW_NEW(用户的账号密码) directory=expnc_dir dumpfile=UO_WORKFLOW_NEW.dmp schemas=UO_WORKFLOW_NEW logfile=UO_WORKFLOW_NEW.log
步骤三、导入准备
C:\Users\wangtao>sqlplus sys as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 10月 21 14:42:27 2019
Copyright © 1982, 2010, Oracle. All rights reserved.
输入口令:
连接到:
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
SQL> connect as sysdba
请输入用户名: system
输入口令:(默认隐藏)
已连接。
SQL> create directory expnc_dir as ‘F:\oracle11g’;
目录已创建。
SQL> Grant read,write on directory expnc_dir to UO_EC_TEST1;
授权成功。
SQL> Grant read,write on directory expnc_dir to UO_EC_LOG;
授权成功。
SQL> Grant read,write on directory expnc_dir to UO_WORKFLOW_NEW;
授权成功。
SQL> quit
从 Oracle Database 11g Release 11.2.0.1.0 - 64bit Production 断开
步骤四、开始导入
impdp UO_EC_TEST1/UO_EC_TEST1(用户的账号密码) directory=expnc_dir dumpfile=UO_EC_TEST1.DMP schemas=UO_EC_TEST1
impdp UO_EC_LOG/UO_EC_LOG(用户的账号密码) directory=expnc_dir dumpfile=UO_EC_LOG.DMP schemas=UO_EC_LOG
impdp UO_WORKFLOW_NEW/UO_WORKFLOW_NEW(用户的账号密码) directory=expnc_dir dumpfile=UO_WORKFLOW_NEW.DMP schemas=UO_WORKFLOW_NEW
步骤五、批量编译视图
create or replace procedure compile_invalid_views(
p_owner varchar2 – 所有者名称,即 SCHEMA
) as
–编译某个用户下的无效视图
str_sql varchar2(200);
begin
for invalid_views in (select object_name from all_objects
where status = ‘INVALID’ and object_type = ‘VIEW’ and owner=upper(p_owner))
loop
str_sql := ‘alter view ‘||p_owner||’.’ ||invalid_views.object_name || ’ compile’;
begin
execute immediate str_sql;
exception
–When Others Then Null;
when OTHERS Then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
更多推荐
【Oracle数据库】
发布评论