Implementing logical data backup pump technology Oracle 11g R2 technology explain data pump (expdp impdp)

Implementing logical data backup pump technology

from:https://blog.csdn.net/weixin_41078837/article/details/80618916


Logical Backup Overview

Create a logical copy of the database object when the logical backup, and stored in a binary dump file of the process. In essence, logical backup and recovery is the actual facts of the database import and export data.

Export:

Export is the logical backup of the database, in essence, a database record is read and written to a file (extension is usually dmp) the record set, irrespective of the physical location of these export records

Import:

That is the logical import of database recovery, in essence, read binary dump file is exported and restore it to the database.

Technical Data Pump Import / Export

Pump data (DATA PUMP) is a database or between a high speed data transfer technique between the database and the operating system. Data Pump tool running on the server, database administrators need to specify the database directory to save the data dump.

Oracle database connection

 

Create a directory operation

 

Default Locations for Dump, Log, and SQL Files

Because Data Pump is server-based rather than client-based, dump files, log files, and SQL files are accessed relative to server-based directory paths. Data Pump requires that directory paths be specified as directory objects. A directory object maps a name to a directory path on the file system. DBAs must ensure that only approved users are allowed access to the directory object associated with the directory path.

The following example shows a SQL statement that creates a directory object named dpump_dir1 that is mapped to a directory located at /usr/apps/datafiles.

SQL> CREATE DIRECTORY dpump_dir1 AS '/usr/apps/datafiles';

The reason that a directory object is required is to ensure data security and integrity. For example:

  • If you were allowed to specify a directory path location for an input file, then you might be able to read data that the server has access to, but to which you should not.

  • If you were allowed to specify a directory path location for an output file, then the server might overwrite a file that you might not normally have privileges to delete.

On UNIX and Windows operating systems, a default directory object, DATA_PUMP_DIR, is created at database creation or whenever the database dictionary is upgraded. By default, it is available only to privileged users. (The user SYSTEM has read and write access to the DATA_PUMP_DIR directory, by default.)

If you are not a privileged user, then before you can run Data Pump Export or Data Pump Import, a directory object must be created by a database administrator (DBA) or by any user with the CREATE ANYDIRECTORY privilege.

After a directory is created, the user creating the directory object must grant READ or WRITE permission on the directory to other users. For example, to allow the Oracle database to read and write files on behalf of user hr in the directory named by dpump_dir1, the DBA must execute the following command:

SQL> GRANT READ, WRITE ON DIRECTORY dpump_dir1 TO hr;

Note that READ or WRITE permission to a directory object only means that the Oracle database can read or write files in the corresponding directory on your behalf. You are not given direct access to those files outside of the Oracle database unless you have the appropriate operating system privileges. Similarly, the Oracle database requires permission from the operating system to read and write files in the directories.

Data Pump Export and Import use the following order of precedence to determine a file's location:

  1. If a directory object is specified as part of the file specification, then the location specified by that directory object is used. (The directory object must be separated from the file name by a colon.)

  2. If a directory object is not specified as part of the file specification, then the directory object named by the DIRECTORY parameter is used.

  3. If a directory object is not specified as part of the file specification, and if no directory object is named by the DIRECTORY parameter, then the value of the environment variable, DATA_PUMP_DIR, is used. This environment variable is defined using operating system commands on the client system where the Data Pump Export and Import utilities are run. The value assigned to this client-based environment variable must be the name of a server-based directory object, which must first be created on the server system by a DBA. For example, the following SQL statement creates a directory object on the server system. The name of the directory object is DUMP_FILES1, and it is located at '/usr/apps/dumpfiles1'.

    SQL> CREATE DIRECTORY DUMP_FILES1 AS '/usr/apps/dumpfiles1';
    

    Then, a user on a UNIX-based client system using csh can assign the value DUMP_FILES1 to the environment variable DATA_PUMP_DIR. The DIRECTORY parameter can then be omitted from the command line. The dump file employees.dmp, and the log file export.log, are written to '/usr/apps/dumpfiles1'.

    %setenv DATA_PUMP_DIR DUMP_FILES1
    %expdp hr TABLES=employees DUMPFILE=employees.dmp
    
  4. If none of the previous three conditions yields a directory object and you are a privileged user, then Data Pump attempts to use the value of the default server-based directory object, DATA_PUMP_DIR. This directory object is automatically created at database creation or when the database dictionary is upgraded. You can use the following SQL query to see the path definition for DATA_PUMP_DIR:

    SQL> SELECT directory_name, directory_path FROM dba_directories
    2 WHERE directory_name='DATA_PUMP_DIR';
    

    If you are not a privileged user, then access to the DATA_PUMP_DIR directory object must have previously been granted to you by a DBA.

    Do not confuse the default DATA_PUMP_DIR directory object with the client-based environment variable of the same name.

Granted permission to operate dump_dir user directory

 

Use EXPDP command to export data (as in Table derive derived according to user mode, export, and the whole library derived according to the table space) using IMPDP command to import data (can be introduced in accordance with the user mode in accordance with Table import, export, and the entire reservoir introduced according tablespace ).

Data based on the command-line pump technology import and export database embodiment.

SQL>col DIRECTORY_NAME for a20

SQL>col DIRECTOR_PATH for a60

SQL>col OWNER for a8

 

Tom and create a test user authorization

 

Export dept and emp table under the SCOTT user

[oracle@dbserver~]$ expdp scott/oracle directory=dump_dir dumpfile=scotttab.dmp tables=emp,dept

 

SCOTT user to access, delete EMP table in the SCOTT user

 

Import emp table

[oracle@dbserver~]$ impdp scott/oracle directory=dump_dir dumpfile=scotttab.dmp tables=emp

 

emp table has been imported successful.

 

Introducing DEPT table in SCOTT user and exported to the EMP table tom user

[oracle@dbserver~]$ impdp system/oracle11g directory=dump_dir dumpfile=scotttab.dmptables=scott.emp,scott.dept REMAP_SCHEMA=SCOTT:TOM

 

See results of the import, the user connection using tom

 

Export table space

 

Create a table xx on aa table space for the table and insert records

 

Export table space

 

Xx delete the table space at the same time delete the data files

 

aa table no.

 

Import table space

Before importing table space, you need to create a table space xx

 

Import table space xx

 

Verification, aa table recovery back.

 

Export the whole library

[oracle@dbserverorcl]$ expdp system/oracle11g directory=dump_dir dumpfile=full.dmp full=y

 

 

Full import library

[oracle@dbserverorcl]$ impdp system/oracle11g directory=dump_dir dumpfile=full.dmp full=y

Guess you like

Origin www.cnblogs.com/pejsidney/p/11115909.html