Oracle常用数据库操作

发布时间 2023-12-03 23:05:56作者: 丁生·
  1. 数据库备份和还原
  • 备份类型:Oracle数据库备份可以分为物理备份和逻辑备份两种类型。物理备份是指备份数据库文件,包括数据文件、控制文件、日志文件等,可以恢复整个数据库。逻辑备份是指备份数据库中的逻辑数据,如表、视图、存储过程等,可以恢复数据库中的数据。

  • 备份工具:Oracle提供了多种备份工具,如RMAN、EXP/IMP、Data Pump等。其中,RMAN是Oracle的官方备份工具,可以进行物理备份和恢复,具有很高的可靠性和灵活性。

  • 逻辑备份之EXP/IMP

    • EXP和IMP是客户端工具,既可以在客户端使用,也可以在服务端使用。
    • 对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。
    #将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 
    exp system/manager@TEST   rows=y  indexes=y compress=n buffer=65536   feedback=100000 full=y  file=d:\daochu.dmp  log=d:\daochulog.txt owner=(ECC_BIZ,ECC_CUSTOMER)
    #将D:\daochu.dmp 中的数据导入 TEST数据库中
    imp system/manager@TEST  ignore=y  full=y   file=d:\daochu.dmp  log=d:\daoru.txt
    
  • 逻辑备份之EXPDP/IMPDP

    • EXPDP和IMPDP是服务端的工具,只能在服务端使用,不能在客户端使用。
    #查询表空间名
    select default_tablespace from dba_users where  username='TEST';
    #清空回收站
    purge tablespace DB_TEST 或 purge tablespace  DB_TEST user TEST;
    #schemas按用户导出
    expdp A/passwd@orcl directory=data_dir schemas=DB_TEST dumpfile=expdp.dmp  logfile=expdp.log cluster=no EXCLUDE=STATISTICS version=11.2.0.4
    #按表空间导出
    expdp sys/passwd@orcl tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log
    
    #同名用户导入,从用户A导入到用户A;
    impdp A/passwd@orcl directory=data_dir schemas=DB_TEST dumpfile=expdp.dmp logfile=impdp.log version=11.2.0.4
    #导入表空间
    impdp sys/passwd tablespaces=tbs1 directory=data_dir dumpfile=expdp.dmp logfile=impdp.log
    

2.数据库回滚

--查 n/24  n个小时前的数据 看数据库中保留多久的数据了 几个小时内的没问题,对比记录数目可知数据差异
select count(*) from ekko as of timestamp sysdate - 2/24
--实现回滚
insert into ekko select count(*) from ekko as of timestamp sysdate - 2/24