ORACLE数据库初始化导入
文章目录
- ORACLE数据库初始化导入
- 创建表空间
- 创建用户
- 用户授权
- 临时目录授权
- 数据库目录授权
- 导入dump文件
环境: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
name | explain |
---|---|
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
🚀等待数据导入: