ORACLE数据库初始化导入

ORACLE数据库初始化导入

环境:linux

数据库:oracle 19c

创建表空间
-- 查询已创建目录
select directory_path,directory_name  from all_directories;

--查询本地已有表空间
SELECT tablespace_name,
file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name;

-- 可以根据上一个查询到的表空间统一创建路径
--创建表空间
create tablespace TEST
logging
datafile '/home/oracle/u01/app/oracle/oradata/ORCL/test.dbf'
size 32m
autoextend on
next 32m maxsize unlimited
extent management local;
创建用户
--创建用户
create user test identified by test default tablespace TEST;
用户授权
--用户授权
grant connect,resource,dba to test;
grant create database link to test;
grant create any synonym to test;
grant create any view to test;
grant create any table to test;
临时目录授权
-- 存放dmp文件,服务器绝对路径 linux不带盘符/根节点 如果有固定的统一存放目录则不用创建此存放dmp文件的目录 直接进行授权即可
create or replace directory TEMP as '/home/oracle/oraData/orcl';
--目录授权 to后面是新库的用户名,需创建用户后授权
grant read,write on directory TEMP to test;   
数据库目录授权
-- 给数据库目录授权,该目录通常为表空间目录 建议统一管理 与临时目录区分开
-- 数据库文件目录授权(如果有指定的目录则跳过创建步骤 直接给用户授权即可)
create or replace directory ORACLE_BASE as '/home/oracle/u01/app/oracle';
--目录授权 to后面是新库的用户名,需创建用户后授权
grant read,write on directory ORACLE_BASE to test;
导入dump文件

将文件(dmp,dmpdb)放到临时目录(服务器则要上传),且文件是有可读权限的。控制台执行导入命令:

impdp 用户名/用户密码@IP:PORT/SID DIRECTORY=TEMP DUMPFILE=xxxx.DMP LOGFILE=日志输出文件.log remap_schema=旧用户:新用户 remap_tablespace=旧表空间:新表空间  transform=oid:n
nameexplain
DUMPFILE此参数为需要导入的dmp文件名
REMAP_SCHEMA当把用户A的对象导入到用户B时,使用此参数
REMAP_TABLESPACE用于进行数据的表空间迁移。把前一个表空间中的对象导入到冒号后面的表空间
LOGFILE指定导入日志名称
DIRECTORY此路径可以理解为实际绝对路径在oracle数据库里的别名,是导入文件的存储位置

example

impdp test/test@127.0.0.1:1521/orcl DIRECTORY=TEMP  dumpfile=20231107001.dmpdp LOGFILE=test.log remap_schema=20231107001:test remap_tablespace=TEST_TEMP:TEST transform=oid:n

🚀等待数据导入:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库中,有几种常见的方式可以进行数据的初始化,包括: 1. 使用INSERT语句: 最常见的方式是使用INSERT语句手动插入数据。通过编写INSERT语句,将数据逐条插入到表中。这种方式适用于小规模的数据初始化。 2. 使用INSERT INTO SELECT语句: INSERT INTO SELECT语句可以从其他表或查询结果中选择数据,并插入到目标表中。通过这种方式,可以快速将现有数据复制到新表中。 3. 使用SQL*Loader工具: SQL*Loader是Oracle提供的一个数据加载工具,可以从外部文件(如文本文件、CSV文件等)中批量加载数据到数据库表中。通过配置控制文件,指定数据的格式和目标表,然后使用SQL*Loader工具执行加载操作。 4. 使用外部表(External Table): 外部表是一种特殊的表,它可以直接访问外部数据源(如文本文件、CSV文件等),而不需要将数据物理地加载到数据库中。通过创建外部表,可以使用SQL查询语句直接读取和操作外部数据。 5. 使用Oracle Data Pump工具: Oracle Data Pump是Oracle提供的一种高效的数据导入/导出工具。可以使用Data Pump将数据从一个数据库导出到一个导出文件,然后再将导出文件导入到另一个数据库中。 这些方式可以根据具体需求和情况选择合适的方法来进行数据的初始化。对于大规模数据初始化或者数据迁移的情况,使用SQL*Loader或者Oracle Data Pump等工具可能更为方便和高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值