oracle

 

oracle exp导出/imp导入


exp导出部份表
exp 用户名/密码@数据库 file=E:\zysp.dmp  tables=(用户.table1,用户.table2)

exp导出用户下所有表
exp 用户名/密码@数据库 file=E:\zysp.dmp owner=用户

exp导出整个数据库
exp 用户名/密码@数据库 file=E:\zysp.dmp full=y

仅导出表结构 加rows=n
exp 用户名/密码@数据库 file=E:\zysp.dmp  tables=(table1,table2) rows=n

imp导入指定用户
imp 用户名/密码@数据库 file=E:\zysp.dmp fromuser=导出用户名 touser=导入用户名

imp导入整个数据库
imp 用户/密码@数据库 file=文件路径 full=y ignore=y

imp导入部份表
imp 用户/密码@数据库  file=文件路径   tables=(table1)

full=y 是导入文件中全部内容
ignore=y相当于,如果没有的表,创建并倒入数据,如果已经有的表,忽略创建的,但不忽略倒入


创建临时表空间
create temporary tablespace TBS_SP_TEMP
tempfile 'D:\ORADATA\ORCL\TBS_SP_TEMP.DBF'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
创建用户、表空间、赋权
create tablespace pascty datafile 'E:\oracletablespace\pascty.dbf' size 80M autoextend on;
create user pascty identified by pascty default tablespace pascty temporary tablespace temp;
grant create session,create table,create view,create sequence,unlimited tablespace to pascty;
grant connect to pascty;
grant resource to pascty;
grant dba to pascty;
删除用户、表空间
drop user pascty cascade
drop tablespace pascty including contents and datafiles cascade constraint
误删数据恢复办法

1.通过SCN号

SELECT timestamp_to_scn(to_timestamp('2019-4-29 19:00:00','yyyy-mm-dd hh24:mi:ss')) SCN FROM hdw.ST_PAS_ICU_PATINET_INFO;--根据正确数据时间查找SCN号
alter table pas_index_link_config enable row movement;--开启行移动功能
FLASHBACK TABLE hdw.ST_PAS_ICU_PATINET_INFO TO SCN 14265559392689;--通过SCN号闪回数据
alter table pas_index_link_config disable row movement;--关闭行移动功能

2.通过时间

alter table pas_index_link_config enable row movement;--开启行移动功能
flashback table pas_index_link_config to timestamp to_timestamp('2019-4-29 19:00:00','yyyy-mm-dd hh24:mi:ss');--通过正确数据时间闪回数据
alter table pas_index_link_config disable row movement;--关闭行移动功能
表空间使用率
SELECT TABLESPACE_NAME "表空间",
       To_char(Round(BYTES / 1024, 2), '99990.00')
       || ''           "实有",
       To_char(Round(FREE / 1024, 2), '99990.00')
       || 'G'          "现有",
       To_char(Round(( BYTES - FREE ) / 1024, 2), '99990.00')
       || 'G'          "使用",
       To_char(Round(10000 * USED / BYTES) / 100, '99990.00')
       || '%'          "比例"
FROM   (SELECT A.TABLESPACE_NAME                             TABLESPACE_NAME,
               Floor(A.BYTES / ( 1024 * 1024 ))              BYTES,
               Floor(B.FREE / ( 1024 * 1024 ))               FREE,
               Floor(( A.BYTES - B.FREE ) / ( 1024 * 1024 )) USED
        FROM   (SELECT TABLESPACE_NAME TABLESPACE_NAME,
                       Sum(BYTES)      BYTES
                FROM   DBA_DATA_FILES
                GROUP  BY TABLESPACE_NAME) A,
               (SELECT TABLESPACE_NAME TABLESPACE_NAME,
                       Sum(BYTES)      FREE
                FROM   DBA_FREE_SPACE
                GROUP  BY TABLESPACE_NAME) B
        WHERE  A.TABLESPACE_NAME = B.TABLESPACE_NAME)
--WHERE TABLESPACE_NAME LIKE 'CDR%' --这一句用于指定表空间名称
  ORDER  BY Floor(10000 * USED / BYTES) DESC;
表空间使用率含临时表空间
SELECT d.tablespace_name "Name", d.status "Status", 
       TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",
          TO_CHAR (NVL (a.BYTES - NVL (f.BYTES, 0), 0) / 1024 / 1024,
                   '99999999.99'
                  ) USE,
       TO_CHAR (NVL ((a.BYTES - NVL (f.BYTES, 0)) / a.BYTES * 100, 0),
                '990.00'
               ) "Used %"
  FROM SYS.dba_tablespaces d,
       (SELECT   tablespace_name, SUM (BYTES) BYTES
            FROM dba_data_files
        GROUP BY tablespace_name) a,
       (SELECT   tablespace_name, SUM (BYTES) BYTES
            FROM dba_free_space
        GROUP BY tablespace_name) f
 WHERE d.tablespace_name = a.tablespace_name(+)
   AND d.tablespace_name = f.tablespace_name(+)
   AND NOT (d.extent_management LIKE 'LOCAL' AND d.CONTENTS LIKE 'TEMPORARY')
UNION ALL
SELECT d.tablespace_name "Name", d.status "Status", 
       TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",
          TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.99') USE,
       TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "Used %"
  FROM SYS.dba_tablespaces d,
       (SELECT   tablespace_name, SUM (BYTES) BYTES
            FROM dba_temp_files
        GROUP BY tablespace_name) a,
       (SELECT   tablespace_name, SUM (bytes_cached) BYTES
            FROM v$temp_extent_pool
        GROUP BY tablespace_name) t
 WHERE d.tablespace_name = a.tablespace_name(+)
   AND d.tablespace_name = t.tablespace_name(+)
   AND d.extent_management LIKE 'LOCAL'
   AND d.CONTENTS LIKE 'TEMPORARY';
表空间物理位置
select b.file_id  文件ID,
  b.tablespace_name  表空间,
  b.file_name     物理文件名,
  b.bytes       总字节数,
  (b.bytes-sum(nvl(a.bytes,0)))   已使用,
  sum(nvl(a.bytes,0))        剩余,
  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
查询临时表空间物理位置
SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"
FROM DBA_TEMP_FILES

 

用户所在表空间
select * from dba_users a where a.username = 'PASCTY'
表空间扩容
alter database datafile 'E:\ORACLETABLESPACE\PASCTY.DBF' resize 1G
exp 用户名/密码@数据库 owner=用户名 file=文件存储路径(如:F:\abcd.dmp)
exp ZM/sql123@127.0.0.1/ORCL owner=ZM file=F\abcd.dmp
imp 用户名/密码@数据库 fromuser=用户名 touser=用户名 file=d:\cu.dmp ignore=y
imp ZM/sql123@127.0.0.1/ORCL fromuser=ZM touser=SZZM file=F:\test.dmp ignore=y

 

将dmp文件导入到oracle数据库中

1、首先,我们可以先建立自己的一个用户表空间,创建表空间的格式如下:
CREATE TABLESPACE certification(表空间的名字) 
DATAFILE 'E:\Oracle_11g\app\Administrator\oradata\orcl\certification.dbf' (这边可以写成oracle的某个路径下)
SIZE 20M(初始大小)
AUTOEXTEND ON;(自动扩展) 
2、接下来,我们可以创建一个自己的用户,创建格式如下:
CREATE USER certification(用户名) 
IDENTIFIED BY certification(密码)
DEFAULT TABLESPACE certification(上面创建的表空间) 
TEMPORARY TABLESPACE temp;(临时表空间就写temp即可) 
3、然后,我们需要给自己的用户赋予权限来管理自己的表空间
GRANT CREATE SESSION,CREATE TABLE,CREATE VIEW,CREATE SEQUENCE,UNLIMITED TABLESPACE TO certification; 
GRANT CONNECT TO certification; 
GRANT RESOURCE TO certification; 
GRANT DBA TO certification; 
4、接下来我们就可以将我们的dmp文件导入到我们自己的表空间中了,导入方式
打开cmd,执行下面语句:
imp usename/password@localhost/orcl(表示SID)  file= E:\Oracle_11g\app\Administrator\product\11.2.0\dbhome_1\database\xxxx.dmp full=y
如果导入过程中遇到:IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件
解决方法:alter user certification default role DBA;

使用数据泵导入/导出数据(expdp/impdp)
https://blog.csdn.net/mr_awei/article/details/81089259

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值