Extract from Oracle at given time
A query like
SELECT * FROM tbl1 AS OF test_restore_point;
is not possible.
Restorepoints can be used with the command FLASHBACK DATABASE. FLASHBACK DATABASE works similar like a restore.

First the whole database will be brought to a state before the time of the restore point. But this is not accomplished by copying a whole backup over each data file but it is achieved by applying flashback logs. For each data block that was modified after making the   restore point a backup was saved in the flashback logs.

Then the redo files are applied to roll forward the database to the restore point.


So when you flashback to a restore point the whole database is set to the point in time of the restore point. This is not what you want.
You can use flashback queries to queries old data but this data can only be supplied by the database if it is still found in the undo tablespace.
A reliable mechanism to hold the original data for a fixed period of time is Total recall/Flashback Data Archive. As Justin Cave pointed out this Feature is only available for Oracle 11.1 or higher versions.
The following licensing rules hold

Flashback Data Archive (formerly known as Total Recall)
For releases earlier than Oracle Database 11g Release 2 (11.2.0.4): You must license the Oracle Advanced Compression option to use Flashback Data Archive.
Beginning with Oracle Database 11g Release 2 (11.2.0.4): Flashback Data Archive—without history table optimization—is available in all editions.

A Flashback Data Archive holds the undo information of a selected table for a fixed period of time but it used a dedicated tablespace and is therefore not influenced by the cleanup meachanisms of the undo segments.
The table can be queried in the usual way with a flashback query.
You need Oracle Enterprise Edition and an additional license to use this feature.