当前位置:首页 > 数据库 > 正文内容

oracle数据库使用exp和imp命令导入导出数据

2024-11-30数据库2

一.Exp命令导出数据

1.exp导出数据

导出指定用户下的所有表但不包含数据行

1
命令: exp username/password@TEST:PORT/SID owner=username rows=n   file=E:\dmp\username.dmp log=E:\dmp\username.log

owner:username指定用户导出数据
rows:n代表不要数据行
file:指定输出dmp文件路径

二.Imp命令导入数据

1.创建表空间

1.1(默认创建)创建表空间 默认大小

1
Sql> create tablespace username datafile 'username' size 30G;

1.2(自增长创建)创建表空间 默认大小 自增长 autoextend on 初始值50m 最大值30G

1
Sql> create tablespace username logging datafile 'username.dbf' size 50m  autoextend on next 50m maxsize 30720m extent management local;
  • size:文件大小

  • next:每次增加的大小

  • maxsize:文件最大,即使不做限制,最大也只有32G

2.创建用户并指定表空间

1
Sql> create user username identified by username default tablespace username;

3.用户授权

1
Sql> grant dba to username;

4.导入数据执行命令

1
命令:imp username/password@TEST:PORT/SID fromuser=username    touser=username file=E:\dmp\username.dmp
  • file:指定dmp文件路径

  • fromuser:username具体指定那个用户下的对象需要导入

  • touser:username具体指定导入那个用户,必须跟fromuser一起使用

三.其他命令

1.删除用户

1.1查看所有用户命令:

1
SQL>select * from dba_users;

1.2删除用户命令:

1
SQL>drop user username CASCADE;

2.删除表空间

2.1查看表空间命令:

1
SQL>select * from dba_tablespaces;

2.2删除表空间的多种方式(任选一种)
2.2.1.删除空的表空间,但是不包含物理文件命令:

1
SQL>drop tablespace username;

2.2.2.删除非空表空间,但是不包含物理文件命令:

1
SQL>drop tablespace username including contents;

2.2.3.删除空表空间,包含物理文件命令:

1
SQL>drop tablespace username including datafiles;

2.2.4.(推荐)删除非空表空间,包含物理文件命令:

1
SQL>drop tablespace username including contents and datafiles;

2.2.5.如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上cascade命令:

1
SQL>drop tablespace username including contents and datafiles cascade;

3.查询表空间大小

1
Sql>select tablespace_name, round(sum(bytes) / 1024 / 1024, 2) as size_mb        from dba_data_files group by tablespace_name;

4.查看表空间情况

1
Sql>select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = 'USERNAME';

5.查询表空间是否设置了自增

1
Sql>select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = 'USERNAME';