oracle数据库导入导出

时间:2024-09-11 00:08:14

简单记录下数据泵导出导入expdp 、impdp 和 普通导出导入 exp、imp

一、数据泵导出数据库(按用户)步骤:

1、以oracle用户登录oracle所在服务器,创建数据库备份文件目录

>mkdir backup/dump

2、以数据库管理员身份连接数据库

>sqlplus / as sysdba

3、查看数据库实例名

SQL>select instance_name from v$instance;

4、指定导出数据库备份的路径

SQL>create or replace directory DIR_DUMP as 'backup/dump';

5、对备份目录授权

SQL>grant read,write on directory DIR_DUMP to username;

6、退出sqlplus

SQL>quit;

7、导出数据库

>expdp username/passwd@severname directory=DIR_DUMP dumpfile=TESTDB.dmp logfile=TESTDB_EXP.log

注:username 导出的数据库用户名、passwd导出的数据库用户密码、severname数据库实例

备份目录backup/dump(相对路径) 也可以使用绝对路径,例如:/home/oracle/backup/dump

二、数据泵导入数据库(按用户)步骤:

1、以oracle用户登录oracle所在服务器,创建数据库备份文件目录

>mkdir backup/dump

将备份的数据库文件上传到此目录下

2、以数据库管理员身份连接数据库

>sqlplus / as sysdba

3、查看数据库实例名

SQL>select instance_name from v$instance;

4、指定导入数据库备份文件的路径(此步骤也可省略,直接使用绝对路径)

SQL>create or replace directory DIR_DUMP as 'backup/dump';

5、新建表空间(如果已经有表空间,此步骤不需要)

SQL>create tablespace tablespacename datafile '/opt/oracle/oradata/datafiledat'  size 1G;

6、新建用户及授权(如果存在用户,此步骤不需要)

SQL>

CREATE USER username IDENTIFIED BY passwd

DEFAULT TABLESPACE tablespacename;

GRANT DBA TO username;

GRANT ALL PRIVILEGE TO username;

ALTER USER username DEFAULT ROLE ALL;

7、退出SQLPLUS

SQL>quit;

8、导入数据库

impdp username/passwd@servername  directory=DIR_DUMP dumpfile=TESTDB.dmp logfile=TESTDB_IMP.log

注:username 创建的的数据库用户名、passwd创建的数据库用户密码、severname数据库实例

存放需要导入的数据库文件的目录backup/dump(相对路径) 也可以使用绝对路径,例如:/home/oracle/backup/dump

三、exp导出数据库(按用户)步骤:

1、以oracle用户登录oracle所在服务器,创建数据库备份文件目录

>mkdir backup/dump

2、以数据库管理员身份连接数据库

>sqlplus / as sysdba

3、退出sqlplus

SQL>quit;

4、导出数据库

exp username/passwd file=/home/oracle/backup/dump/TESTDB.dmp

四、imp导入数据库(按用户)步骤:

1、以oracle用户登录oracle所在服务器,创建数据库备份文件目录

>mkdir backup/dump

将备份的数据库文件上传到此目录下

2、以数据库管理员身份连接数据库

>sqlplus / as sysdba

3、新建表空间(如果已经有表空间,此步骤不需要)

SQL>create tablespace tablespacename datafile '/opt/oracle/oradata/datafiledat'  size 1G;

4、新建用户及授权(如果存在用户,此步骤不需要)

SQL>

CREATE USER username IDENTIFIED BY passwd

DEFAULT TABLESPACE tablespacename;

GRANT DBA TO username;

GRANT ALL PRIVILEGE TO username;

ALTER USER username DEFAULT ROLE ALL;

5、退出SQLPLUS

SQL>quit;

6、导入数据库

imp username/passwd fromuser= username touser=username FILE='/home/oracle/backup/dump/TESTDB.dmp';

fromuser 导出的数据库用户名 touser导入的数据库用户名