Oracle 12C实现跨网络传输数据库详解
介绍
在Oracle 12C中,跨网络传输数据库是一项非常常见的任务。这通常通过Oracle数据泵实用程序完成。本文将详细介绍使用数据泵将数据库传输到不同计算机上所需的步骤。
步骤
步骤1:创建目标数据库
在目标计算机上创建一个空的数据库,并确保通过网络可以从源计算机访问该数据库。可以使用SQL Developer或SQL*Plus等工具创建数据库。假设这个目标数据库的服务名为orcl
。
步骤2:在源数据库中创建数据库链接
在源计算机上,使用以下命令创建到目标数据库的数据库链接:
CREATE DATABASE LINK db_link_name
CONNECT TO target_username IDENTIFIED BY target_password
USING 'orcl';
这将在源数据库中创建一个名为“db_link_name”的数据库链接。目标用户名和密码是目标数据库管理员分配的用户名和密码。在目标数据库上使用的服务名为“orcl”。
步骤3:在源数据库中导出数据
在源计算机上,使用以下命令导出要传输的数据:
expdp source_username/source_password@source_database \
DIRECTORY=dir_name \
DUMPFILE=dump_file_name.dmp \
LOGFILE=log_file_name.log \
NETWORK_LINK=db_link_name
其中:
source_username
和source_password
是源数据库管理员分配的用户名和密码。source_database
是源数据库的服务名。dir_name
是存储导出文件的目录。它必须是预先在源数据库上创建的目录对象。dump_file_name.dmp
是导出文件的名称。log_file_name.log
是日志文件的名称。db_link_name
是步骤2中创建的数据库链接的名称。
步骤4:将导出文件传输到目标计算机
将步骤3中导出的数据文件传输到目标计算机。可以使用scp命令将文件从源计算机复制到目标计算机。
步骤5:在目标数据库中导入数据
在目标计算机上,使用以下命令将导出文件中的数据导入到目标数据库:
impdp target_username/target_password@orcl \
DIRECTORY=dir_name \
DUMPFILE=dump_file_name.dmp \
LOGFILE=log_file_name.log
其中:
target_username
和target_password
是目标数据库管理员分配的用户名和密码。orcl
是目标数据库的服务名。dir_name
是步骤1中创建的目标数据库导入目录。dump_file_name.dmp
是步骤3中导出文件的名称。log_file_name.log
是步骤3中的日志文件的名称。
示例
示例1
假设有两个计算机,一个是源计算机,一个是目标计算机。在源计算机上有一个名为source_db
的数据库,目标计算机上有一个名为target_db
的空数据库。以下是将source_db
数据库中的数据传输到target_db
的步骤:
-
在目标计算机上创建一个空的
target_db
数据库,并确保可以通过网络从源计算机访问它。假设target_db
的服务名为orcl
。 -
在源计算机上创建到
target_db
的数据库链接:
sql
CREATE DATABASE LINK target_link
CONNECT TO target_username IDENTIFIED BY target_password
USING 'orcl';
其中target_username
和target_password
是目标数据库管理员分配的用户名和密码。
- 在源计算机上导出
source_db
数据库中的数据:
sql
expdp source_username/source_password@source_db \
DIRECTORY=source_dir \
DUMPFILE=source_dump.dmp \
LOGFILE=source_log.log \
NETWORK_LINK=target_link
其中source_username
和source_password
是源数据库管理员分配的用户名和密码。source_dir
是预先在源数据库中创建的导出目录。
-
将
source_dump.dmp
导出文件从源计算机复制到目标计算机。 -
在目标计算机上导入
source_dump.dmp
文件中的数据:
sql
impdp target_username/target_password@orcl \
DIRECTORY=target_dir \
DUMPFILE=source_dump.dmp \
LOGFILE=target_log.log
其中target_username
和target_password
是目标数据库管理员分配的用户名和密码。target_dir
是在步骤1中创建的导入目录。
示例2
假设有两个计算机,一个是源计算机,一个是目标计算机。在源计算机上有一个名为source_db
的数据库,目标计算机上有一个名为targer_db
的空数据库。以下是将source_db
数据库中的数据传输到target_db
的步骤:
-
在目标计算机上创建一个空的
targer_db
数据库,并确保可以通过网络从源计算机访问它。假设targer_db
的服务名为orcl
。 -
在源计算机上创建到
targer_db
的数据库链接:
sql
CREATE DATABASE LINK targer_link
CONNECT TO targer_username IDENTIFIED BY targer_password
USING 'orcl';
其中targer_username
和targer_password
是目标数据库管理员分配的用户名和密码。
- 在源计算机上导出
source_db
数据库中的数据:
sql
expdp source_username/source_password@source_db \
DIRECTORY=source_dir \
DUMPFILE=source_dump.dmp \
LOGFILE=source_log.log \
NETWORK_LINK=targer_link
其中source_username
和source_password
是源数据库管理员分配的用户名和密码。source_dir
是预先在源数据库中创建的导出目录。
-
将
source_dump.dmp
导出文件从源计算机复制到目标计算机。 -
在目标计算机上导入
source_dump.dmp
文件中的数据:
sql
impdp targer_username/targer_password@orcl \
DIRECTORY=targer_dir \
DUMPFILE=source_dump.dmp \
LOGFILE=targer_log.log
其中targer_username
和targer_password
是目标数据库管理员分配的用户名和密码。targer_dir
是在步骤1中创建的导入目录。
结论
本文介绍了使用Oracle数据泵实用程序将数据库传输到不同计算机的完整步骤。通过创建数据库链接,导出原始数据,然后传输和导入数据,可以将数据库轻松地从一个地方转移到另一个地方。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Oracle 12C实现跨网络传输数据库详解 - Python技术站