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
ANY
DIRECTORY
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:
-
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.)
-
If a directory object is not specified as part of the file specification, then the directory object named by the
DIRECTORY
parameter is used. -
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 isDUMP_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 valueDUMP_FILES1
to the environment variableDATA_PUMP_DIR
. TheDIRECTORY
parameter can then be omitted from the command line. The dump fileemployees.dmp
, and the log fileexport.log
, are written to'/usr/apps/dumpfiles1'
.%setenv DATA_PUMP_DIR DUMP_FILES1 %expdp hr TABLES=employees DUMPFILE=employees.dmp
-
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 forDATA_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