温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

oracle导出、导入的一次实战

发布时间:2020-07-13 08:23:46 来源:网络 阅读:1385 作者:wangxing0122 栏目:关系型数据库

刚到公司没多久,就有一台oracle服务器要进行导出、导入,以前接触过oracle,可是对oracle导出、导入没研究过,这下急坏我了,于是赶紧上网恶补了一下。操作结果如下:

Oracle 数据导出导入
第一步 创建用户的表空间和数据文件
以oracle的用户的登录
[oracle@oracle ~]$ ps -ef|grep pmon|grep -v grep
oracle    4052     1  0 Jun23 ?        00:00:10 ora_pmon_zlzxdb
oracle    4488     1  0 Jun23 ?        00:00:07 ora_pmon_yibiaodb
由pmon进程可以看出我有两个实例,多实例登录需要切换环境变量
[oracle@oracle ~]$ export ORACLE_SID=zlzxdb
[oracle@oracle ~]$ sqlplus / as sysdba    ## 以dba的身份登录
SQL> conn / as sysdba  链接到数据库中
已连接。
SQL> select username,default_tablespace from user_users;  查看当前登录的用户

USERNAME                       DEFAULT_TABLESPACE
------------------------------ ------------------------------
SYS                            SYSTEM

SQL> show parameter instance_name;    查看当前的实例

NAME                                 TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
instance_name                        string
zlzxdb
SQL> select name from v$database;       查看当前的数据库名称
 
NAME
---------
ZLZXDB

SQL> select name from v$datafile;  查询数据文件路径

create bigfile tablespace xmjidian datafile
‘/u01/app/oracle/oradata/zlzxdb/disk4/oracle_xmjidian_data.dbf’ size 2048M AUTOEXTEND ON;  创建大数据文件并且自动增长

create USER xmjidian IDENTIFIED BY xmjidian; 创建xmjidna并且设置密码为xmjidan。或者创建用户的指定用户的默认表空间使用下面的语法,也可以最后修改为用户的默认表空间
CREATE USER xmjidian IDENTIFIED BY xmjidian DEFAULT TABLESPACE xmjidna;
SQL>alter user xmjidian default tablespace xmjidian; 修改xmjidian用户默认的表空间为xmjidian


grant dba to xmjidian; 授予dba的权限,一般情况下这个授权太大,导入完数据之后可以收回dba的权限或者给用户直接授权
grant connect,resource,create any view to xmjidian;

创建导出导入目录并授予权限
创建导出目录
create directory exp_dir as ‘/u01/app/oracle/oradata/zlzxdb/share_data’;

给导出目录授予权限
grant read,write on directory exp_dir to xmjidian;

创建导入目录
create or replace directory data_dir as '/u01/app/oracle/oradata/zlzxdb/share_data ';

grant read,write on directory data_dir to xmjidian;

查询创建的导出导入文件目录以及名称
select * from dba_directories;

数据导出导入  
导出zlzxdb 下的
expdp zlzxdb/zlzxdb@zlzxdbrw schemas=zlzxdb dumpfile=oracle_xmjidian.dmp
DIRECTORY=exp_dir;


数据导出比较慢耐心等待

数据导入  
以xmjidian的用户导入数据

impdp  xmjidian/xmjidian@zlzxdb directory=data_dir dumpfile=oracle_xmjidian.dmp
  remap_schema=zlzxdb:xmjidian exclude=user full=y;

impdp yibiaodb01/yibiaodb01 DIRECTORY=dump_dir DUMPFILE=ybljt02_20150706.dmp REMAP_SCHEMA=ybljt02:yibiaodb01 remap_tablespace=ybljt02data:YIBIAODB01DATA01,ybljt02index:YIBIAODB01INDEX01







导出数据故障解决:
 ORA-01653: 表 XMJIDIAN.LZ901017 无法通过 8192 (在表空间 ZLZXDATA01 中) 扩展 此类故障时因为zlzxdata01 表空间不足引起的,

解决:给zlzxdata01 增加表空间
ALTER TABLESPACE zlzxdata01 ADD DATAFILE   ‘/u01/app/oracle/oradata/zlzxdb/disk4/oracle_xmjidian_zlzxddata01.dbf' size 2048M AUTOEXTEND ON;



select * from dba_role_privs where grantee = 'ZLZXDB';  查看zlzxdb用户的权限
参考资料:http://www.ilanni.com/?p=4413  
http://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL847   oracle官网文档




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI