@wangyupu
2022-08-29T09:23:21.000000Z
字数 2683
阅读 27
Oracle
Grant read,write on directory SHUJU to gzyb;
create directory SHUJU as 'G:\dumo';
create temporary tablespace gzyb_temp
tempfile 'G:\Oracle19C_tmp\gzyb_temp.dbf'
size 4096m
autoextend on
next 256m maxsize 50000m
extent management local;
create bigfile tablespace gzyb_data
//datafile 代表数据存放位置
datafile 'G:\Oracle19C_tmp\gzyb_data.dbf'
//size代表数据原始大小
size 102400M reuse
//autoextend 每次增大多少数据量
autoextend on next 10240M maxsize unlimited
default storage(initial 1024M next 1024M minextents 2 maxextents unlimited);
create user gzyb identified by gzyb
default tablespace gzyb_data
temporary tablespace gzyb_temp;
grant connect,resource to gzyb;
grant dba to gzyb;
--- 说明
ALTER TABLESPACE 表空间名称 ADD DATAFILE '表空间位置' SIZE 初始大小 AUTOEXTEND ON NEXT 每次增大数量 MAXSIZE 最大值;
--- 演示示例
ALTER TABLESPACE HGS ADD DATAFILE 'G:\Oracle19C_tmp\HGS02.DBF' SIZE 30G AUTOEXTEND ON NEXT 1G MAXSIZE 30g;
-- 说明
drop tablespace 表空间名称 including contents and datafiles cascade constraint;
-- 示例
drop tablespace HGS including contents and datafiles cascade constraint;
SELECT tbs 表空间名,
sum(totalM)/1024 总共大小G,
sum(usedM)/1024 已使用空间G,
sum(remainedM) 剩余空间M,
sum(usedM)/sum(totalM)*100 已使用百分比,
sum(remainedM)/sum(totalM)*100 剩余百分比
FROM(
SELECT b.file_id ID,
b.tablespace_name tbs,
b.file_name name,
b.bytes/1024/1024 totalM,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedM,
sum(nvl(a.bytes,0)/1024/1024) remainedM,
sum(nvl(a.bytes,0)/(b.bytes)*100),
(100 - (sum(nvl(a.bytes,0))/(b.bytes)*100))
FROM dba_free_space a,dba_data_files b
WHERE a.file_id = b.file_id
GROUP BY b.tablespace_name,b.file_name,b.file_id,b.bytes
ORDER BY b.tablespace_name
)
GROUP BY tbs ;
--- 导入模板各个字段说明
impdp 导入的账户/密码@IP地址/数据库实例名
directory=dmp文件存放位置
dumpfile=文件名.dmp
logfile=setlData.log导入日志
REMAP_SCHEMA=导出文件的用户名:导入文件的用户名 remap_tablespace=原用户的表空间名称:现用户的表空间名称, 原用户的第二个表空间名称:现用户的表空间名称,原用户的第三个表空间名称:现用户的表空间名称
EXCLUDE=STATISTICS 不导入统计信息
access_method=external_table 告诉数据泵以这种方式进行导入 table_exists_action=append如果表存在及继续添加数据除此之外还有(这个参数目的是为了告诉impdp,试图创建的表是否在库中已存在。默认值是skip,但若设置了CONTENT=DATA_ONLY,则默认值是APPEND,不是SKIP。
TABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE]
SKIP:跳过这张表,继续下一个对象。如果CONTENT设置了DATA_ONLY参数,则不能使用SKIP。
APPEND:会加载数据至对象,但不会影响已存在的行。
TRUNCATE:删除已存在的行,然后加载所有的数据。
REPLACE:drop已存在的表,然后create并加载数据。如果CONTENT设置了DATA_ONLY,则不能使用REPLACE
)
cluster=n 在cluster=n的时候,多个并行使用的是同一个实例进行导出和导入。但是如果cluster=y的时候,如果没开并行,使用一个实例,如果开了并行,这时候,会使用多个实例。但是directory并不是在一个共享目录中,因此另外一个实例会因为找不到directory而报错。
content=data_only 纯数据导入,即content=data_only;
--- 示例
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