Export and Import Utilities Export和Import介绍
目标:
- 了解“导出”和“导入”实用程序的用法
- 了解导出和导入概念和结构
- 掌握执行简单的导出和导入操作
- 列出使用导出和导入的指南
两个工具在ORACLE_HOME下的bin目录下(注意:11g版本之后的不在使用此工具)
您可以使用这些实用程序执行以下操作:
语法:
exp keyword = (value, value2,...,valuen)
举例说明:
exp hr/hr TABLES=employees,departments
rows=y file=exp1.dmp
这是一个 Oracle 数据库导出(export)命令,使用
exp
工具将用户hr
的employees
和departments
表导出到一个数据文件中。让我解释一下这个命令的各个部分:
exp
: 这是 Oracle 数据库导出工具的命令行命令。
hr/hr
: 这是用户名和密码的组合,表示你正在使用hr
用户登录到数据库。第一个hr
是用户名,第二个hr
是密码。
TABLES=employees,departments
: 这指定了要导出的表的列表,即employees
和departments
表。在导出时,这些表的数据和结构将被包含在导出文件中。
rows=y
: 这表示导出时将包括表中的所有行数据。如果没有指定rows=y
,则默认情况下只导出表结构而不导出数据。
file=exp1.dmp
: 这指定了导出文件的名称为exp1.dmp
。导出文件通常是一个包含了导出数据和结构的二进制文件。综合起来,这个导出命令的目的是将
hr
用户的employees
和departments
表导出到一个名为
exp1.dmp
的文件中,包括表结构和数据。
exp system/manager OWNER=hr direct=y file=expdat.dmp
这是一个 Oracle 数据库导出(export)命令,使用
exp
工具将hr
用户的相关对象导出到一个数据文件中。让我解释一下这个命令的各个部分:
exp
: 这是 Oracle 数据库导出工具的命令行命令。
system/manager
: 这是用户名和密码的组合,表示你正在使用system
用户以密码manager
登录到数据库。system
用户是 Oracle 数据库的管理员用户之一。
OWNER=hr
: 这指定了要导出的对象的所有者是hr
用户。在这个命令中,你正在导出hr
用户拥有的所有对象,包括表、视图等。
direct=y
: 这表示使用直接路径导出。当direct
设置为y
时,数据将直接从数据库文件读取,并且不经过 SQL*Net 网络层。这可以提高导出的性能。
file=expdat.dmp
: 这指定了导出文件的名称为expdat.dmp
。导出文件通常是一个包含了导出数据和结构的二进制文件。综合起来,这个导出命令的目的是以
system
用户身份登录到 Oracle 数据库,将hr
用户的相关对象以直接路径导出到一个名为expdat.dmp
的文件中。
exp \'username/password AS SYSDBA\'
TRANSPORT_TABLESPACE=y
TABLESPACES=ts_emp
log=ts_emp.log
这是一个 Oracle 数据库导出(export)命令,使用
exp
工具将指定表空间 (ts_emp
)的相关信息导出。以下是这个命令的解释:
exp
: 这是 Oracle 数据库导出工具的命令行命令。
'username/password AS SYSDBA'
: 这是登录到数据库的用户名和密码。AS SYSDBA
表示以 SYSDBA 权限登录。在这里,你需要替换'username/password'
为实际的用户名和密码。
TRANSPORT_TABLESPACE=y
: 这指定了要进行表空间传输。表空间传输是一种将表空间及其相关对象导出并在另一个数据库中导入的方法。
TABLESPACES=ts_emp
: 这指定了要导出的表空间的名称,即ts_emp
。
log=ts_emp.log
: 这指定了导出操作的日志文件的名称为ts_emp.log
。日志文件记录了导出操作的详细信息,可用于排查问题。综合起来,这个导出命令的目的是以 SYSDBA 权限登录到数据库,将表空间
ts_emp
及其相关对象导出,并将导出操作的详细信息记录到日志文件ts_emp.log
中。这个导出文件可以用于在另一个数据库中导入相同的表空间及其对象。请确保替换'username/password'
为实际的数据库用户名和密码。
语法:
imp keyword = value or keyword = value,value2,... value n
举例说明:
imp hr/hr TABLES=employees,departments rows=y file=exp1.dmp
这是一个 Oracle 数据库导入(import)命令,使用
imp
工具将从先前导出的exp1.dmp
文件中恢复(导入)hr
用户的employees
和departments
表。以下是这个命令的解释:
imp
: 这是 Oracle 数据库导入工具的命令行命令。
hr/hr
: 这是用户名和密码的组合,表示你正在使用hr
用户登录到数据库。第一个hr
是用户名,第二个hr
是密码。
TABLES=employees,departments
: 这指定了要导入的表的列表,即employees
和departments
表。在导入时,这些表的数据和结构将从导入文件中还原。
rows=y
: 这表示导入时将包括表中的所有行数据。如果没有指定rows=y
,则默认情况下只导入表结构而不导入数据。
file=exp1.dmp
: 这指定了导入文件的名称为exp1.dmp
。导入文件通常是一个包含了导出数据和结构的二进制文件。综合起来,这个导入命令的目的是使用
hr
用户登录到数据库,从exp1.dmp
文件中导入employees
和departments
表的数据和结构。这样可以将先前导出的表的内容还原到数据库中。
imp system/manager FROMUSER=hr file=exp2.dmp
这是一个 Oracle 数据库导入(import)命令,使用
imp
工具从exp2.dmp
文件中恢复(导入)hr
用户的相关对象。以下是这个命令的解释:
imp
: 这是 Oracle 数据库导入工具的命令行命令。
system/manager
: 这是用户名和密码的组合,表示你正在使用system
用户以密码manager
登录到数据库。system
用户是 Oracle 数据库的管理员用户之一。
FROMUSER=hr
: 这指定了导入的对象的所有者是hr
用户。在这个命令中,你正在导入hr
用户拥有的相关对象,包括表、视图等。
file=exp2.dmp
: 这指定了导入文件的名称为exp2.dmp
。导入文件通常是一个包含了导出数据和结构的二进制文件。综合起来,这个导入命令的目的是以
system
用户身份登录到数据库,从exp2.dmp
文件中导入hr
用户的相关对象的数据和结构。这可以将先前导出的hr
用户的内容还原到数据库中。请注意,在实际应用中,请确保system
用户拥有足够的权限来执行导入操作。
imp \'username/password AS SYSDBA\'
TRANSPORT_TABLESPACE=y
TABLESPACES=ts_employees
imp
: 这是 Oracle 数据库导入工具的命令行命令。
'username/password AS SYSDBA'
: 这是登录到数据库的用户名和密码。AS SYSDBA
表示以 SYSDBA 角色登录。在这里,你需要替换'username/password'
为实际的用户名和密码。
TRANSPORT_TABLESPACE=y
: 这指定了要进行表空间传输。表空间传输是一种将表空间及其相关对象导入到数据库中的方法。
TABLESPACES=ts_employees
: 这指定了要导入的表空间的名称,即ts_employees
。这个导入命令的目的是以 SYSDBA 角色登录到数据库,然后将
ts_employees
表空间及其相关对象的数据和结构从先前导出的文件中导入。请确保替换'username/password'
为实际的数据库用户名和密码,并注意导入操作可能需要高级权限,尤其是使用 SYSDBA 角色的情况。
imp system/pass FILE=dba,dmp FROMUSER=scott TABLES=(emp,dept)
imp system/pass FILE=blake,dmp FROMUSER=blake TOUSER=scott \
TABLES=(unit,manager)
imp system/pass FILE=blake,dmp FROMUSER=blake TOUSER=scott \
TABLES=(*)
imp scott/tiger TABLES= (emp pl,emp:p3) FILE=sctl.dmp ROWS=y
imp system/pass FROMUSER=scott FILE=scott.dmp TABLES=(%d%,b%s)
完结散花
Oracle学习系列到此结束!!!