以下是创建新用户并授权角色和系统权限,使用imp/impdp导入dmp文件到数据库,exp/expdp导出文件到数据库的综合示例:

  1. 创建新用户并授权角色和系统权限
CREATE USER new_user IDENTIFIED BY password;

GRANT CONNECT, RESOURCE TO new_user;

GRANT role_name TO new_user;

其中,new_user是新用户的名称,password是新用户的密码,role_name是要授权的角色名称。CONNECTRESOURCE是系统预定义的角色,授予这两个角色可以让用户连接数据库和创建对象。

  1. 使用imp/impdp导入dmp文件到数据库

可以使用如下命令将dmp文件导入到Oracle数据库:

  • 使用imp导入dmp文件:
imp new_user/password@database file=filename.dmp [options]

其中,new_user是目标数据库的用户名,password是密码,database是数据库实例名,filename.dmp是要导入的dmp文件名,options是可选参数。

例如:

imp new_user/new_password@mydb file=mydata.dmp
  • 使用impdp导入dmp文件:
impdp new_user/password@database directory=directory_name dumpfile=filename.dmp [options]

其中,new_user是目标数据库的用户名,password是密码,database是数据库实例名,directory_name是dmp文件所在的目录名,filename.dmp是要导入的dmp文件名,options是可选参数。

例如:

impdp new_user/new_password@mydb directory=mydir dumpfile=mydata.dmp

需要注意的是,在使用 impdp 命令时需要指定一个已经存在的目录,可以通过在Oracle中执行 CREATE DIRECTORY 命令来创建目录。

  1. 使用exp/expdp导出文件到数据库

可以使用如下命令将Oracle数据库中的数据导出到dmp文件中:

  • 使用exp导出数据到dmp文件:
exp username/password@database file=filename.dmp [options]

其中,username是数据库的用户名,password是密码,database是数据库实例名,filename.dmp是要导出到的dmp文件名,options是可选参数。

例如:

exp scott/tiger@mydb file=mydata.dmp
  • 使用expdp导出数据到dmp文件:
expdp username/password@database directory=directory_name dumpfile=filename.dmp [options]

其中,username是数据库的用户名,password是密码,database是数据库实例名,directory_name是dmp文件导出的目录名,filename.dmp是要导出到的dmp文件名,options是可选参数。

例如:

expdp scott/tiger@mydb directory=mydir dumpfile=mydata.dmp

需要注意的是,在使用 expdp 命令时需要指定一个已经存在的目录,可以通过在Oracle中执行 CREATE DIRECTORY 命令来创建目录。以下是创建案例:

在Oracle数据库中,可以使用 CREATE DIRECTORY 命令来创建一个目录对象,以便在使用 impdpexpdp 命令导入导出数据时使用。

命令语法如下:

CREATE DIRECTORY directory_name AS 'directory_path';

其中,directory_name 是要创建的目录名称,directory_path 是目录的路径,可以是操作系统中的一个目录,也可以是Oracle数据库中的一个目录。

例如,要在Oracle数据库中创建一个目录 mydir,并将其映射到操作系统的 D:\dump 目录,可以使用如下命令:

CREATE DIRECTORY mydir AS 'D:\dump';

创建成功后,可以通过查询 DBA_DIRECTORIES 视图来查看已经创建的目录对象,如下所示:

SELECT * FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME = 'mydir';

需要注意的是,在使用 impdpexpdp 命令导入导出数据时,需要使用 DIRECTORY 参数指定一个已经存在的目录,例如:

impdp username/password@database directory=mydir dumpfile=mydata.dmp

其中,mydir 是已经存在的目录名,mydata.dmp 是要导入的数据文件名。

05-11 05:37