≡菜单

15个用于3d捕鱼达人数据库对象的Oracle Exp命令示例

Oracle3d捕鱼达人命令即使您是系统管理员或开发人员,当您在环境中运行Oracle时,也可能会遇到必须执行一些基本DBA任务的情况。

One such task is to 经验值ort data from an Oracle database. Using Oracle’s 经验值 utility, it is very easy to dump data from database.

在本教程中,我们’ll 经验值lain everything that you need to know to use 经验值 command effectively to 经验值ort data from your Oracle database, including the following:

  • Connect to DB in 经验值 utility
  • 3d捕鱼达人完整的数据库
  • 3d捕鱼达人一个或多个特定的架构/用户
  • 3d捕鱼达人一个或多个特定表
  • 3d捕鱼达人表空间中的所有对象
  • Logging the 经验值ort messages
  • Controlling output dump 文件name
  • 仅3d捕鱼达人表中的选定行
  • 控制约束,授权,触发器和索引
  • How does compression work during 经验值ort
  • Using wildcards to 经验值ort multiple 桌子
  • 等等

使用exp实用程序进行连接的三种方法可以从Oracle3d捕鱼达人数据。前三个示例说明了这三种不同的方法。根据您的具体情况使用其中任何一种。

1. Interactive 经验值ort command with Default Values

默认情况下,当您键入“exp” command, and hit enter, you are entering the interactive mode, where it will prompt you for various values before 经验值orting the Oracle table data.

首先,它将要求使用Oracle模式’的用户名和密码。该用户名可以是您计划3d捕鱼达人的架构的名称,也可以是具有DBA特权以3d捕鱼达人其他用户的用户名。’s objects.

$ 经验值
Username: hradmin
Password: 

接下来,它将要求您提供以下信息:

Export 文件: 经验值dat.dmp > 
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 
Export grants (yes/no): yes > 
Export table data (yes/no): yes > 
Compress extents (yes/no): yes > 
User to be 经验值orted: (RETURN to quit) > hradmin
User to be 经验值orted: (RETURN to quit) > 

在上面的提示中:

  • By default, it will use 经验值data.dmp as the output 文件 where all the 经验值orted objects will be stored.
  • By default, it will 经验值ort the whole schema, as shown in the “(2)U” default selection above. To 经验值ort the entire database, enter 1. To 经验值ort specific 桌子, enter 3.
  • 由于我们选择了默认选项“(2)U”对于用户,还应指定应3d捕鱼达人的Oracle用户名。在此示例中,我们将3d捕鱼达人属于hradmin用户名(schema)的所有对象。

Finally, it will display the following output indicating that it is performing the 经验值ort.

. about to 经验值ort HRADMIN's 桌子 via Conventional Path ...
. . 经验值orting table   BENEFITS        420454 rows 经验值orted
. . 经验值orting table   EXPENSE_DETAILS 347982 rows 经验值orted
. 经验值orting synonyms
. 经验值orting views
. 经验值orting stored procedures
. 经验值orting operators
..
Export terminated successfully without warnings.

As you see below, the following 经验值ort 文件 is created.

$ ls -l 经验值dat.dmp 
-rw-r--r-- 1 oracle oinstall 40820736 Jan 31 14:21 经验值dat.dmp

2. Take 经验值ort From Command Line (non-interactive)

您可以在命令行中指定所有值,而不必以交互方式输入值。当您要编写export命令的脚本,并从shell脚本或从中进行备份时,这非常有用。 cron背景工作.

经验值 userid=hradmin/mypassword 桌子=benefits 索引= n

你不’如果您不更改它,则不必指定参数’的默认值。例如,你不’t have to specify “grants=y”,因为默认情况下,它将3d捕鱼达人赠款。

在上面的示例中,我们’ve specified “indexes=n”, because 通过 default indexes will be 经验值orted. But, in this example, we don’t want indexes to be 经验值orted.

另外,请注意,可以使用imp命令将使用exp命令3d捕鱼达人的数据导入回Oracle数据库。但是,如果要从平面文本文件将数据加载到Oracle系统中,则必须使用 Oracle sqlldr命令 上传数据。

3.使用参数文件3d捕鱼达人输入值

If you are repeatedly specifying the same parameters for your 经验值 command, you can use a parameter 文件, instead of typing those repeatedly from the command line.

For example, create a parameter 文件 called myexp.conf as shown below.

$ vi myexp.conf
tables=benefits
grants=n
triggers=n

接下来,在exp命令的PARFILE选项中指定此参数文件,如下所示。这将基于myexp.conf文件中指定的参数从Oracle数据库3d捕鱼达人表。

经验值 hradmin/mypassword PARFILE=myexp.conf

4.更改转储文件名

As we mentioned earlier, 通过 default, the 经验值orted 文件name is always 经验值dat.dmp. You can change this using the “file”参数如下所示。

In this example, it will 经验值ort benefits table to benefits.dmp 文件.

经验值 userid=hradmin/mypassword 桌子=benefits 文件=benefits.dmp
$ ls -l *dmp
-rw-r--r-- 1 oracle oinstall 20414464 Jan 31 14:50 benefits.dmp

5.将消息写入日志文件

3d捕鱼达人完整数据库时,或者从脚本运行exp命令时,您希望将exp命令的输出存储到日志文件中,以便以后查看exp命令是否成功完成。

使用“log=” parameter as shown below to specify a log 文件. In this example, the 经验值ort log (both success and failure error messages) will be stored in the myexp.log 文件.

经验值 userid=hradmin/mypassword 桌子=benefits log =myexp.log 文件=benefits.dmp 

6.3d捕鱼达人完整数据库

If you like to take 经验值ort of all the schemas, all the users, and all the objects in your database, use the full database 经验值ort mode 通过 specifying “full=y” as shown below.

The user who is 经验值orting full database should have EXP_FULL_DATABASE role to perform this operation.

This will 经验值ort everything from your Oracle database.

$ 经验值 userid=hradmin/mypassword 满= y
About to 经验值ort the entire database ...
. 经验值orting 桌子pace definitions
. 经验值orting profiles
. 经验值orting user definitions
. 经验值orting roles
. 经验值orting resource costs
. 经验值orting rollback segment definitions
. 经验值orting database links
. 经验值orting sequence numbers
. 经验值orting directory aliases
. 经验值orting context namespaces
. 经验值orting foreign function library names
. 经验值orting PUBLIC type synonyms
. 经验值orting private type synonyms
...

To perform a full database 经验值ort, you should have DBA privilege, or at a minimum have EXP_FULL_DATABASE role. If not, you’将得到以下EXP-00023错误消息。

$ 经验值 sales/mypassword 满= y
Export: Release 11.2.0.1.0 - Production 上 Sun Jan 31 11:12:51 2016
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
Connected to: 甲骨文数据库 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
EXP-00023: must be a DBA to do Full Database or Tablespace 经验值ort

还有,如果你误会’如果已开始完全3d捕鱼达人大型数据库,则可以按Ctrl-C取消它。在这种情况下,它将显示以下错误消息,并终止3d捕鱼达人。

$ 经验值 userid=hradmin/mypassword 满= y
About to 经验值ort the entire database ...
..
EXP-00008: ORACLE error 1013 encountered
ORA-01013: user requested cancel of current operation
EXP-00000: Export terminated unsuccessfully

注意:如果数据库很大,则建议使用备份完整数据库的方法 Oracle RMAN备份实用程序,正如我们在较早的教程之一中所讨论的那样。

7.从特定的架构或用户3d捕鱼达人所有对象

In the 经验值ort user mode, you can 经验值ort objects that belongs to a specific user (or schema) 通过 specifying “owner=”选项如下所示。

In this example, it will 经验值ort all objects that belongs to hradmin user. If you have DBA privilege, you can also 经验值ort objects that belongs to a different user.

$ 经验值 userid=hradmin/mypassword 所有者= hradmin
About to 经验值ort specified users ...
. 经验值orting pre-schema procedural objects and actions
. 经验值orting foreign function library names for user HRADMIN 
. 经验值orting PUBLIC type synonyms
. 经验值orting private type synonyms
. 经验值orting object type definitions for user HRADMIN 
About to 经验值ort HRADMIN's objects ...
. 经验值orting database links
. 经验值orting sequence numbers
. 经验值orting cluster definitions
. about to 经验值ort HRADMIN's 桌子 via Conventional Path ...
. . 经验值orting table   BENEFITS        420454 rows 经验值orted
. . 经验值orting table   EXPENSE_DETAILS 347982 rows 经验值orted
. 经验值orting synonyms
. 经验值orting views
. 经验值orting stored procedures
. 经验值orting operators
. 经验值orting referential integrity constraints
. 经验值orting triggers
. 经验值orting indextypes
. 经验值orting bitmap, functional and extensible indexes
. 经验值orting posttables actions
. 经验值orting materialized views
. 经验值orting snapshot logs
. 经验值orting job queues
. 经验值orting refresh groups and children
. 经验值orting dimensions
. 经验值orting post-schema procedural objects and actions
. 经验值orting statistics
Export terminated successfully without warnings.

If you try to 经验值ort other users, but if you don’没有DBA特权,您’将会得到EXP-00032错误消息,如下所示。

在此示例中,约翰没有’t have DBA privilege to 经验值ort hradmin’s objects.

$ 经验值 john/mypassword 所有者= hradmin
EXP-00032: Non-DBAs may not 经验值ort other users
EXP-00000: Export terminated unsuccessfully

8.一起3d捕鱼达人多个用户

If you like to 经验值ort multiple schemas, specify all those usernames in the “owner”如下所示用逗号分隔参数。

This example will 经验值ort all objects that belongs to both HRADMIN and SALES schema.

$ 经验值 userid=hradmin/mypassword 所有者= hradmin,sales
About to 经验值ort specified users ...
. 经验值orting pre-schema procedural objects and actions
. 经验值orting foreign function library names for user HRADMIN 
. 经验值orting foreign function library names for user SALES 
. 经验值orting PUBLIC type synonyms
..
. 经验值orting private type synonyms
. 经验值orting object type definitions for user HRADMIN 
. 经验值orting object type definitions for user SALES 
About to 经验值ort HRADMIN's objects ...
. 经验值orting database links
. 经验值orting sequence numbers
..
About to 经验值ort SALES's objects ...
. 经验值orting database links
. 经验值orting sequence numbers
..
Export terminated successfully without warnings.

9.3d捕鱼达人一个或多个特定表

To 经验值ort a specific table, use “tables=”选项如下所示。 This example will 经验值ort 上ly benefits table.

经验值 userid=hradmin/mypassword 桌子=benefits

To 经验值ort multiple 桌子 at the same time, specify the list of table names in the “tables”如下所示用逗号分隔参数。

经验值 userid=hradmin/mypassword 桌子=benefits,expense_details

Some version of 经验值 command may require you to list multiple 桌子 inside ( ) as shown below.

经验值 userid=hradmin/mypassword 桌子="(benefits,expense_details)"

要3d捕鱼达人属于不同模式的表(如果可以访问它),可以以以下格式在表名前面指定模式名称:tables = schema_name.table_name

In this example, hradmin user is 经验值orting Monthly_estimate table属于销售用户。

$ 经验值 userid=hradmin/mypassword 桌子=sales.monthly_estimate
Export: Release 11.2.0.1.0 - Production 上 Sun Jan 31 14:06:42 2016
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
Connected to: 甲骨文数据库 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses UTF8 character set (possible charset conversion)
..
About to 经验值ort specified 桌子 via Conventional Path ...
Current user changed to SALES
. . 经验值orting table  MONTHLY_ESTIMATE 4931 rows 经验值orted
Export terminated successfully with warnings.

如果已实现分区,则还可以通过指定以下格式来指定特定分区或子分区:tables = schema_name.table_name:partition_name

For example, the following will 经验值ort 上ly the partition “california” of the table “monthly_estimate”属于销售用户。

经验值 userid=hradmin/mypassword 桌子=sales.monthly_estimate:california

如果没有分区叫“california”, then 经验值 command will not thrown any error message, it will simply take an 经验值ort of the whole Monthly_estimate table.

10.转储特定表空间中的所有对象

Instead of specifying a user, or table, you can also specify a 桌子pace name using “tablespaces”参数如下所示。

In this example, it will 经验值ort all the objects that are 上 MIDWEST_SALES 桌子pace.

$ 经验值 hradmin/mypassword TABLESPACES=MIDWEST_SALES
About to 经验值ort selected 桌子paces ...
For 桌子pace MIDWEST_SALES ...
. 经验值orting cluster definitions
. 经验值orting table definitions
. . 经验值orting table  ACTIVATE_CLIENTS  860 rows 经验值orted
. . 经验值orting table  ACTIVE_PIPELINE   799 rows 经验值orted
..

11.仅3d捕鱼达人表中的选定行

您也可以为表编写where条件,而不是3d捕鱼达人表中的所有行,并且export将仅转储与特定表的给定where子句匹配的那些行。

例如,在以下示例中,好处表具有称为v_status的列。此exp命令将仅3d捕鱼达人包含以下内容的行“INVALID”作为v_status列中的值。

$ 经验值 hradmin/mypassword TABLES=benefits query=\"where v_status=\'INVALID\'\"
..
About to 经验值ort specified 桌子 via Conventional Path ...
. . 经验值orting table BENEFITS 20783 rows 经验值orted

As you see from the above output, eventhough BENEFITS table has 420454 rows, 上ly 20783 were 经验值orted because 上ly those matched the given where condition.

12.3d捕鱼达人期间排除触发器和索引

By default triggers and indexes will be 经验值orted.

如果你不这样做’t want Triggers to be 经验值orted, use “tiggers=n” as shown below.

经验值 john/mypassword 所有者= hradmin triggers=n

如果你不这样做’t want Indexes to be 经验值orted, use “tiggers=n” as shown below.

经验值 john/mypassword 所有者= hradmin 索引= n

附带说明一下,如果参数中存在语法错误,则表示’会得到EXP-00019和LRM-00108错误消息,如下所示。

$ 经验值 sales/mypassword full-y
LRM-00108: invalid positional parameter value 'full-y'
EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
EXP-00000: Export terminated unsuccessfully

13.排除出口期间的限制和赠款

By default all table constraints and grants will be 经验值orted.

如果你不这样做’t want table’s constraints to be 经验值orted, use “constraints=n” as shown below.

经验值 john/mypassword 所有者= hradmin 约束= n

如果你不这样做’t want object’s grants to be 经验值orted, use “grants=n” as shown below.

经验值 john/mypassword 所有者= hradmin 赠款= n

关于赠款要记住的一件事:当您指定“owner=hradmin” and without “grants=n”,默认情况下,它将仅3d捕鱼达人表所有者授予的授予,而不3d捕鱼达人其他人给予的授予。

But, when you take a full database 经验值ort, using “full=y”, all the grants a particular table are 经验值orted, irrespective of who created the grant.

14.使用通配符3d捕鱼达人多个表

Similar to what you do in a SELECT command, you can use % as wildcards in some of the parameters of 经验值 command.

The following example will 经验值ort all 桌子 that starts with HR.

经验值 userid=hradmin/mypassword 桌子=HR%

The following example will 经验值ort all 桌子 that ends with STATUS.

经验值 userid=hradmin/mypassword 桌子=%STATUS

The following example will 经验值ort all 桌子 that contains DEV anywhere in the tablename.

经验值 userid=hradmin/mypassword 桌子=%DEV%

另一方面,在3d捕鱼达人过程中,您可能会看到以下EXP-00091错误消息。如果您的表统计信息过旧且过时,则您’会得到此错误信息。您可以放心地忽略此消息。

$ 经验值 userid=hradmin/mypassword 桌子=HR%
..
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.

15.排除表数据(行)和压缩

默认情况下,exp命令将3d捕鱼达人表的所有行。如果你不这样做’t希望3d捕鱼达人行,并且只希望表定义,然后指定rows = n,如下所示。

$ 经验值 hradmin/mypassword TABLES=benefits rows=n
Note: table data (rows) will not be 经验值orted
About to 经验值ort specified 桌子 via Conventional Path ...
. . 经验值orting table  BENEFITS
Export terminated successfully without warnings.

尽管BENEFITS表具有420454行,如您在上面的输出中看到的,它没有’t say “420454 rows 经验值orted”。相反,它说得很清楚“table data (rows) will not be 经验值orted”.

Regarding compression, 通过 default, 经验值 command will do the compression. 如果你不这样做’想要压缩,使用“compress=n” as shown below.

经验值 john/mypassword 所有者= hradmin 压缩= n

It is very important to understand this flag. This is not compressing the 经验值orted *.dmp 文件.

默认情况下,当compress设置为y时,exp命令将标记该表’要合并的数据;这意味着当您从转储文件中进行导入时,它将合并表’的数据进入一个初始范围。如果扩展大小较大,但表数据小于扩展大小,则imp命令仍将分配初始范围。

但是,当compress设置为n时,exp命令将使用与表关联的存储参数;表示将使用初始范围,下一个范围和其他存储参数。

导入数据时,imp实用工具中没有解压缩选项。因此,请谨慎并自行决定在3d捕鱼达人之前,根据具体情况选择compress = y还是compress = n。

如果您喜欢这篇文章,您可能还会喜欢..

  1. 50个Linux Sysadmin教程
  2. 50个最常用的Linux命令(包括示例)
  3. 排名前25位的最佳Linux性能监视和调试工具
  4. 妈妈,我找到了! – 15个实用的Linux Find命令示例
  5. Linux 101 Hacks第二版电子书 Linux 101黑客手册

Bash 101 Hacks书 Sed和Awk 101黑客手册 Nagios Core 3书 Vim 101黑客手册

{ 6 评论… 加一 }

  • 里克 2016年2月2日,上午3:34

    Oracle datapump导入/3d捕鱼达人实用程序的非常不错的摘要。

    仅供参考’s不推荐使用的版本,可以很好地用于平台之间的迁移或从9i升级到较新的版本。

    From version 10i Oracle have new utility called impdp and 经验值dp which have more functions and is faster.

  • 沃尔夫斯鲁德尔 2016年2月2日,上午6:03

    经验值/imp are unsupported and you should use 经验值dp/impdp (Datapump) instead.

  • 帕特里克·雷诺兹 2016年2月12日,下午1:00

    由于不建议使用exp和imp,所以最好代替或至少在这些示例之外再查看expdp或impdp的示例。在这些示例中,我们可以用expdp和impdp代替exp和imp吗?

  • 尼亚姆卡 2016年4月2日,上午11:20

    我真的很喜欢这篇文章,对我很有帮助,谢谢

  • 菲拉 2016年9月27日,上午11:47

    Many enterprises use deprecated 经验值/imp. Those who say 经验值/imp is deprecated will never work for theee enterprises. 通过ebye
    做得好

  • 匿名 2017年2月15日,晚上11:52

    How to 经验值ort and import dump 文件 that 上ly detect changes whether “insert” or “update”日常报表?
    有人可以为我回答,或者给我一个想法如何做到这一点?

发表评论