[关闭]
@wangyupu 2022-08-29T09:23:21.000000Z 字数 2683 阅读 27

创建用户及授权导入命令

Oracle


授权给用户目录

  1. Grant read,write on directory SHUJU to gzyb;

创建目录

  1. create directory SHUJU as 'G:\dumo';

创建临时表空间

  1. create temporary tablespace gzyb_temp
  2. tempfile 'G:\Oracle19C_tmp\gzyb_temp.dbf'
  3. size 4096m
  4. autoextend on
  5. next 256m maxsize 50000m
  6. extent management local;

创建数据表空间

  1. create bigfile tablespace gzyb_data
  2. //datafile 代表数据存放位置
  3. datafile 'G:\Oracle19C_tmp\gzyb_data.dbf'
  4. //size代表数据原始大小
  5. size 102400M reuse
  6. //autoextend 每次增大多少数据量
  7. autoextend on next 10240M maxsize unlimited
  8. default storage(initial 1024M next 1024M minextents 2 maxextents unlimited);

创建用户并指定表空间

  1. create user gzyb identified by gzyb
  2. default tablespace gzyb_data
  3. temporary tablespace gzyb_temp;

给用户授予权限

  1. grant connect,resource to gzyb;
  2. grant dba to gzyb;

添加数据文件(当一个数据文件不够用的时候需要进行增大处理)

  1. --- 说明
  2. ALTER TABLESPACE 表空间名称 ADD DATAFILE '表空间位置' SIZE 初始大小 AUTOEXTEND ON NEXT 每次增大数量 MAXSIZE 最大值;
  3. --- 演示示例
  4. ALTER TABLESPACE HGS ADD DATAFILE 'G:\Oracle19C_tmp\HGS02.DBF' SIZE 30G AUTOEXTEND ON NEXT 1G MAXSIZE 30g;

强制删除表空间(此方法无需将表空间清空)

  1. -- 说明
  2. drop tablespace 表空间名称 including contents and datafiles cascade constraint;
  3. -- 示例
  4. drop tablespace HGS including contents and datafiles cascade constraint;

查看当前数据库下各个空间剩余量

  1. SELECT tbs 表空间名,
  2.   sum(totalM)/1024 总共大小G,
  3.   sum(usedM)/1024 已使用空间G,
  4.   sum(remainedM) 剩余空间M,
  5.   sum(usedM)/sum(totalM)*100 已使用百分比,
  6.   sum(remainedM)/sum(totalM)*100 剩余百分比
  7.   FROM(
  8.   SELECT b.file_id ID,
  9.   b.tablespace_name tbs,
  10.   b.file_name name,
  11.   b.bytes/1024/1024 totalM,
  12.   (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedM,
  13.   sum(nvl(a.bytes,0)/1024/1024) remainedM,
  14.   sum(nvl(a.bytes,0)/(b.bytes)*100),
  15.   (100 - (sum(nvl(a.bytes,0))/(b.bytes)*100))
  16.   FROM dba_free_space a,dba_data_files b
  17.   WHERE a.file_id = b.file_id
  18.   GROUP BY b.tablespace_name,b.file_name,b.file_id,b.bytes
  19.   ORDER BY b.tablespace_name
  20.   )
  21.   GROUP BY tbs ;

使用impdp格式导入数据

  1. --- 导入模板各个字段说明
  2. impdp 导入的账户/密码@IP地址/数据库实例名
  3. directory=dmp文件存放位置
  4. dumpfile=文件名.dmp
  5. logfile=setlData.log导入日志
  6. REMAP_SCHEMA=导出文件的用户名:导入文件的用户名 remap_tablespace=原用户的表空间名称:现用户的表空间名称, 原用户的第二个表空间名称:现用户的表空间名称,原用户的第三个表空间名称:现用户的表空间名称
  7. EXCLUDE=STATISTICS 不导入统计信息
  8. access_method=external_table 告诉数据泵以这种方式进行导入 table_exists_action=append如果表存在及继续添加数据除此之外还有(这个参数目的是为了告诉impdp,试图创建的表是否在库中已存在。默认值是skip,但若设置了CONTENT=DATA_ONLY,则默认值是APPEND,不是SKIP
  9. TABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE]
  10. SKIP:跳过这张表,继续下一个对象。如果CONTENT设置了DATA_ONLY参数,则不能使用SKIP
  11. APPEND:会加载数据至对象,但不会影响已存在的行。
  12. TRUNCATE:删除已存在的行,然后加载所有的数据。
  13. REPLACEdrop已存在的表,然后create并加载数据。如果CONTENT设置了DATA_ONLY,则不能使用REPLACE
  14. cluster=n cluster=n的时候,多个并行使用的是同一个实例进行导出和导入。但是如果cluster=y的时候,如果没开并行,使用一个实例,如果开了并行,这时候,会使用多个实例。但是directory并不是在一个共享目录中,因此另外一个实例会因为找不到directory而报错。
  15. content=data_only 纯数据导入,即content=data_only;
  16. --- 示例
  17. impdp gzyb/gzyb@127.0.0.1/orcl directory=SHUJU dumpfile=FEE_LIST_MID_D.dmp logfile=setlData.log REMAP_SCHEMA=HSAHGS:GZYB remap_tablespace=HGS:GZYB_DATA, HGS_INDEX:GZYB_DATA,GZYTH_INDEX:GZYB_DATA EXCLUDE=STATISTICS access_method=external_table table_exists_action=append cluster=n content=data_only
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注