重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1. @/home/oracle/FY_Recover_Data.SQL
创建需要的package
[oracle@localhost oradata]$ sqlplus / as sysdba
我们提供的服务有:成都网站设计、成都做网站、微信公众号开发、网站优化、网站认证、汤旺ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的汤旺网站制作公司
SQL*Plus: Release 11.2.0.4.0 Production on Thu May 17 00:43:59 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @/home/oracle/FY_Recover_Data.SQL
Package created.
Package body created.
2. 创建测试数据:
create table scott.test_emp tablespace users as select * from scott.emp;
truncate table scott.test_emp
3. 执行脚本:
注意路径:“/u01/app/oracle/oradata/orcl/”最后的”/”不能缺少
DECLARE
tgtowner VARCHAR2(30);
tgttable VARCHAR2(30);
datapath VARCHAR2(4000);
datadir VARCHAR2(30);
rects VARCHAR2(30);
recfile VARCHAR2(30);
rstts VARCHAR2(30);
rstfile VARCHAR2(30);
blksz NUMBER;
rectab VARCHAR2(30);
rsttab VARCHAR2(30);
copyfile VARCHAR2(30);
BEGIN
tgtowner := 'SCOTT'; --table owner
tgttable := 'TEST_EMP'; --table name
datapath := '/u01/app/oracle/oradata/orcl/'; --必须和test.t1表所在的数据文件的目录相同
datadir := 'FY_DATA_DIR'; --oracle中目录的名字,可以修改
fy_recover_data.prepare_files(tgtowner,
tgttable,
datapath,
datadir,
rects,
recfile,
rstts,
rstfile,
blksz);
fy_recover_data.fill_blocks(tgtowner,
tgttable,
datadir,
rects,
recfile,
rstts,
8,
tgtowner,
tgtowner,
rectab,
rsttab,
copyfile);
fy_recover_data.recover_table(tgtowner,
tgttable,
tgtowner,
rectab,
tgtowner,
rsttab,
datadir,
datadir,
recfile,
datadir,
copyfile,
blksz);
END;
执行完成之后,会看到scott用户下多了表:
SQL> select table_name, tablespace_name from dba_tables where owner = 'SCOTT';
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
DEPT USERS
EMP USERS
BONUS USERS
SALGRADE USERS
TEST_EMP$ FY_REC_DATA
TEST_EMP$$ FY_RST_DATA
TEST_EMP USERS
7 rows selected.