Solved

dbms_job - create job

Posted on 2013-05-21
43
887 Views
Last Modified: 2013-08-14
I need a simple script to create a job that executes a procedure for an application user in oracle.  The procedure copies the data from production to dev.  I have a database link and expdp set up - I can run the refresh manually but have not been able to create a job to run the procedure. - I get ora 31626 - job does not exist.  The person who created this procedure is no longer with us - they created the job as a scheduled job in toad - I have never used that to create a job - only have used dbms_job.submit to run a job.

oracle 10g on aix
0
Comment
Question by:bkreynolds48
  • 25
  • 18
43 Comments
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39184688
>>I have a database link and expdp set up - I can run the refresh manually but have not been able to create a job to run the procedure

expdp is not a 'procedure' as it relates to Oracle.  dbms_job cannot execute OS commands without a wrapper program like a Java Stored Procedure.

dbms_scheduler can run programs and all this is in the online docs.

For OS programs like this, Any reason you don't want an OS job scheduler to run it?
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39184693
Here is the scheduled job ---

BEGIN
  SYS.DBMS_SCHEDULER.DROP_JOB
    (job_name  => 'BEV.BEV_SCHEMA_REFRESH');
END;
/

BEGIN
  SYS.DBMS_SCHEDULER.CREATE_JOB
    (
       job_name        => 'BEV.BEV_SCHEMA_REFRESH'
      ,schedule_name   => 'SYSTEM.INTERVAL_EVERY_MON_0600'
      ,job_class       => 'DEFAULT_JOB_CLASS'
      ,job_type        => 'PLSQL_BLOCK'
      ,job_action      => 'BEGIN BEV.BEV_refresh; BEV.BEV_sequence_refresh; END;'
      ,comments        => 'This initiates a newtwork based datapump refresh.'
    );
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => 'BEV.BEV_SCHEMA_REFRESH'
     ,attribute => 'RESTARTABLE'
     ,value     => FALSE);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => 'BEV.BEV_SCHEMA_REFRESH'
     ,attribute => 'LOGGING_LEVEL'
     ,value     => SYS.DBMS_SCHEDULER.LOGGING_RUNS);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
    ( name      => 'BEV.BEV_SCHEMA_REFRESH'
     ,attribute => 'MAX_FAILURES');
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
    ( name      => 'BEV.BEV_SCHEMA_REFRESH'
     ,attribute => 'MAX_RUNS');
  BEGIN
    SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
      ( name      => 'BEV.BEV_SCHEMA_REFRESH'
       ,attribute => 'STOP_ON_WINDOW_CLOSE'
       ,value     => FALSE);
  EXCEPTION
    -- could fail if program is of type EXECUTABLE...
    WHEN OTHERS THEN
      NULL;
  END;
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => 'BEV.BEV_SCHEMA_REFRESH'
     ,attribute => 'JOB_PRIORITY'
     ,value     => 3);
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
    ( name      => 'BEV.BEV_SCHEMA_REFRESH'
     ,attribute => 'SCHEDULE_LIMIT');
  SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
    ( name      => 'BEV.BEV_SCHEMA_REFRESH'
     ,attribute => 'AUTO_DROP'
     ,value     => FALSE);

  SYS.DBMS_SCHEDULER.ENABLE
    (name                  => 'BEV.BEV_SCHEMA_REFRESH');
END;
/

I get the following errors when trying to run the scheduled job above that was set up in toad

Error at line 2
ORA-31626: job does not exist
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at line 2
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39184784
For OS programs like this, Any reason you don't want an OS job scheduler to run it?

what this procedure does is to copy the data then updates the sequences.
To do an OS job the first part would work but not updating the sequences
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39184850
>>Any reason you don't want an OS job scheduler to run it?

I just like OS commands to be executed by the OS.  Database procedures by the database.

Mixing and matching seems to complicate things.

From what you posted previously it looks like the job is using the PL/SQL APIs to expdp so running this in the database is fine.

I'm not a Toad person so I cannot say why it isn't running.

From sqlplus you should be able to log in as BEV and run:
exec DBMS_SCHEDULER.RUN_JOB ( job_name        => 'BEV.BEV_SCHEMA_REFRESH');

Now I assume you are wanting to create a new job that is scheduled to run that job at some interval.

If you can provide us with the scheduling requirements we can likely come up with the syntax for you.
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39184861
should run every Monday at 6:00AM
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39184864
I tried just executing the procedure in sqlplus but it says the job does not exist
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39184912
That would explain why Toad is complaining.

I've never executed a job fully qualified.

try this (connected to the database as BEV):
exec DBMS_SCHEDULER.RUN_JOB ( job_name        => 'BEV_SCHEMA_REFRESH');

If that fails, then I would say the job truly doesn't exist.  You may need to re-run the code you posted above.
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39184918
You can go looking for the job.

Connect as SYSTEM or SYS any run the following:
select owner, job_name from dba_scheduler_jobs;
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39185027
the job exists and is scheduled to run as expected -next run date is next Monday at 6:00AM
I tried
exec DBMS_SCHEDULER.RUN_JOB ( job_name        => 'BEV_SCHEMA_REFRESH');

but get the same error

Error at line 2
ORA-31626: job does not exist
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at line
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39185083
>>but get the same error

Are you connected to the database as BEV?

>>the job exists and is scheduled to run as expected -next run date is next Monday at 6:00AM

Then what is the question here?  I thought the question was how to create the job.  If it exists, then I'm not following.
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39185087
OWNER      JOB_NAME                  JOB_ACTION                                                                START_DATE                               ENABL
---------- ------------------------- ------------------------------------------------------------------------- ---------------------------------------- -----
BEV   BEV_SCHEMA_REFRESH   BEGIN BEV.BEV_refresh; BEV.BEV_sequence_refresh; END; 27-MAY-13 06.00.00.600000 AM -05:00      TRUE
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39185097
the job never runs - gets the above error - always says the job does not exist.

should I drop the job and recreate it?
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39185116
>>should I drop the job and recreate it?

Not right now.

Run the following script from sqlplus and post the output in mytest.txt:
spool mytest.txt
conn bev/&bev_password
show user
exec DBMS_SCHEDULER.RUN_JOB ( job_name        => 'BEV_SCHEMA_REFRESH');
spool off

Open in new window

0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39185165
I am trying to get permission to run the refresh again
may have to wait till the weekend - will let you know as soon as I can run this
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39185957
I was just asked to refresh the schema again
here is the result

DEV > show user
USER is "BEV"
DEV > exec dbms_scheduler.run_job( job_name => 'BEV_SCHEMA_REFRESH');
BEGIN dbms_scheduler.run_job( job_name => 'BEV_SCHEMA_REFRESH'); END;

*
ERROR at line 1:
ORA-31626: job does not exist
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at line 1
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39185979
Just to confirm you ran the select posted in http:#a39184918 in the same DEV database?

Maybe at this point I would drop and re-create the job.  Something isn't adding up.
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39185995
yes same database

if I drop the job can I just rerun what is above in my comment
here is the scheduled job?  or how do I capture how the job is set up now and recreate it?
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39186018
Ah ha.  I think I've been leading you down the wrong path.

The ORA-31626 seems to point to a datapump job not a dbms_scheduler job.

The issues seem to be with BEV.BEV_refresh and BEV.BEV_sequence_refresh.

Check out:
https://forums.oracle.com/forums/thread.jspa?threadID=1593882

There is a query here to go look for the datapump jobs.

Which then references:
https://forums.oracle.com/forums/thread.jspa?messageID=3479596

Sorry but I've never done anything with datapump jobs.
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39186104
OK
I ran this query

select o.status, o.object_id, o.object_type, o.owner||'.'||object_name "OWNER.OBJECT"
from dba_objects o,
dba_datapump_jobs j
where o.owner = j.owner_name
and o.object_name = j.job_name
and j.job_name not like 'BIN$%'
order by 4,2;

it shows  a table
in dba_objects the import table exists but when I do a describe on it - nothing comes back.

Do I need to drop this table?  Is that the issue?
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39186115
Not sure.  What is the table and who owns it?
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39186119
bev.bev_imp

owner - table_name
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 1

Author Comment

by:bkreynolds48
ID: 39186125
I just thought if you can't do a describe on a table then perhaps the table is not really there
there are also some system tables there
system.sys_import_schema_01
when I do a describe on them it shows you the table - so something has happened to the table that is supposed to run my job

what do you think?
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39186136
do you know how these tables get created?
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39186138
I was trying to research DBMS_DATAPUMP to see it it uses some table as part of what it does.  I can't find anything.

If the table exists, you can describe it.  Are you logged in as BEV when you tried to describe it?

I would start diving into the docs on DBMS_DATAPUMP since it appears that's what it is using.

you can confirm this by looking at the procedures to see what they are doing:
BEV_refresh
BEV_sequence_refresh
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39201997
I just realized that the reason the describe on the job is that it looks like it was entered in quotes in lower case - is that an issue?

Error at line 2
 "BEV"."bev_imp"
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at line 2
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39202044
>> is that it looks like it was entered in quotes in lower case - is that an issue?

Yes.  Oracle forces object names to upper case.  The way to force case-sensitivity is by using double quotes around object names.  This is a very bad idea.

You should never use double quotes when dealing with Oracle Object names.  If you do and have mixed case names, you must ALWAYS use double quotes and EXACT case.

"Bob" is not the same as "bOb" or "boB", etc...
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39202074
can I just rename this? or how do I fix it?
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39202084
STATUS   OBJECT_ID OBJECT_TYPE         OWNER.OBJECT
------- ---------- ------------------- ------------------------------
VALID      1169812 TABLE               BEV.bev_imp
VALID          58236 TABLE               SYS.SYS_IMPORT_SCHEMA_01
VALID      1171091 TABLE               SYSTEM.SYS_IMPORT_SCHEMA_01
VALID      1171343 TABLE               SYSTEM.SYS_IMPORT_SCHEMA_02


OWNER_NAME JOB_NAME             OPERATION  JOB_MODE   STATE        ATTACHED_SESSIONS
---------- -------------------- ---------- ---------- ------------ -----------------
BEV            bev_imp             IMPORT     SCHEMA     NOT RUNNING                  0
SYS             SYS_IMPORT_SCHEMA_01 IMPORT     SCHEMA     NOT RUNNING                  0
SYSTEM     SYS_IMPORT_SCHEMA_01 IMPORT     SCHEMA     NOT RUNNING                  0
SYSTEM     SYS_IMPORT_SCHEMA_02 IMPORT     SCHEMA     NOT RUNNING                  0
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39202089
Drop it and re-create it.

Here's the doc reference for renaming objects:
http://docs.oracle.com/cd/E11882_01/server.112/e25494/general006.htm#ADMIN11555
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39222166
I am currently working with oracle to resolve this issue - they think something is wrong with datapump.  will update as soon as I have some information
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39320672
After reviewing all of this - I think the scheduler is not the issue but the procedure
The procedure executes then fails at this line

-- start import data pump --

with the errors above

ERROR at line 1:
ORA-31626: job does not exist
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: at "SYS.DBMS_DATAPUMP", line 938
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4592
ORA-06512: at "BEV.BEV_REFRESH", line 35
ORA-06512: at line 1

here is the procedure code
CREATE OR REPLACE PROCEDURE BEV."BEV_REFRESH" is
 ind NUMBER; -- Loop index number
jobhandle NUMBER; -- Data Pump job handle
l_job_name varchar2(100); -- Job Name
percent_done NUMBER; -- Percentage of job complete
job_state VARCHAR2(30); -- Keeps track of job state
le ku$_LogEntry; -- work-in-progress and error messages
js ku$_JobStatus; -- Job status from get_status
sts ku$_Status; -- Status object returned by get_status
l_link_cnt pls_integer :=0;
l_sql varchar2(4000);
exception_custom exception;

BEGIN

--Database link--
select count(1) into l_link_cnt
from all_objects where object_type='DATABASE LINK'
and object_name = 'PROD_REMOTE';

-- drop BEV user objects --
dbms_output.put_line ('dropping BEV objects...');
FOR d1 IN ( select object_type, object_name from user_objects
	      where object_type in('FUNCTION','PACKAGE','PACKAGE BODY','PROCEDURE','SEQUENCE','SYNONYM','VIEW')
	      and object_name not in ('BEV_SEQUENCE_REFRESH','BEV_REFRESH'))
	    LOOP
	     execute immediate 'drop '||d1.object_type||' BEV.'||d1.object_name ;
	    END LOOP ;
dbms_output.put_line ('BEV objects dropped...');
-- start import data pump --



l_job_name := 'BEV_imp';
jobhandle := DBMS_DATAPUMP.OPEN(operation => 'IMPORT',
job_mode => 'SCHEMA',
remote_link => 'PROD_REMOTE',
job_name => l_job_name);
dbms_datapump.metadata_filter(handle =>jobhandle,
name =>'SCHEMA_LIST',
value=>'''BEV''');
dbms_output.put_line('jobhandle is : '||jobhandle);

DBMS_DATAPUMP.add_file( handle => jobhandle,
filename => 'BEV_import.log',
directory => 'BEV_DIR',
filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE
);

dbms_output.put_line('Import Log file is created..');

DBMS_DATAPUMP.METADATA_REMAP(handle => jobhandle,
name => 'REMAP_SCHEMA',
old_value => 'BEV',
value => 'BEV');
dbms_output.put_line('metadata_remap');

DBMS_DATAPUMP.SET_PARAMETER(jobhandle,'TABLE_EXISTS_ACTION','REPLACE');
--dbms_output.put_line('set_parameter');
DBMS_DATAPUMP.SET_PARALLEL(jobhandle,4);
--dbms_output.put_line('parallel set to 4');

-- dbms_datapump.metadata_filter (handle => my_handle, name => 'NAME_EXPR',
-- value => 'LIKE ''DWH_%''', object_type => 'TABLE');


--dbms_datapump.metadata_remap(handle => jobhandle,
--name => 'REMAP_TABLESPACE',
--old_value => 'DWH_TAB_SMALL',
--value => 'BI_USER_TS');


DBMS_DATAPUMP.SET_PARAMETER(jobhandle,'ESTIMATE','STATISTICS');
dbms_output.put_line('Estimate ');

DBMS_DATAPUMP.START_JOB(jobhandle);
dbms_output.put_line('Job Started');

percent_done := 0;
job_state := 'UNDEFINED';

WHILE (job_state != 'COMPLETED') and (job_state != 'STOPPED') LOOP

DBMS_DATAPUMP.get_status(jobhandle,
DBMS_DATAPUMP.ku$_status_job_error +
DBMS_DATAPUMP.ku$_status_job_status +
DBMS_DATAPUMP.ku$_status_wip,-1,job_state,sts);
js := sts.job_status;

IF js.percent_done != percent_done THEN
DBMS_OUTPUT.PUT_LINE('*** Job percent done = ' ||to_char(js.percent_done));
percent_done := js.percent_done;
END IF;


IF (bitand(sts.mask,dbms_datapump.ku$_status_wip) != 0) THEN
le := sts.wip;
ELSE
IF (bitand(sts.mask,dbms_datapump.ku$_status_job_error) != 0) THEN
le := sts.error;
ELSE
le := null;
END IF;
END IF;

IF le IS NOT NULL THEN
ind := le.FIRST;
WHILE ind IS NOT NULL LOOP
DBMS_OUTPUT.PUT_LINE(le(ind).LogText);
ind := le.NEXT(ind);
END LOOP;
END IF;

END LOOP;


DBMS_OUTPUT.PUT_LINE('Job has completed');
DBMS_OUTPUT.PUT_LINE('Final job state = '|| job_state);
DBMS_DATAPUMP.DETACH(jobhandle);

-- rebuild sequences

FOR d2 IN ( select SEQUENCE_NAME, increment_by,last_number, min_value,
 max_value,decode(CYCLE_FLAG,'N',' NOCYCLE','CICLE') cy_fl, 
 decode(ORDER_FLAG,'N',' NOORDER','ORDER') od_fl  from user_sequences@PROD_remote)
LOOP
	execute immediate 'drop sequence BEV.'||d2.SEQUENCE_NAME;
 dbms_output.put_line('dropping sequence '|| d2.sequence_name);
  execute immediate 'CREATE SEQUENCE BEV.'||d2.SEQUENCE_NAME||chr(10)||
	' INCREMENT BY '||d2.INCREMENT_BY||chr(10)||
	' START WITH '||d2.LAST_NUMBER||chr(10)||
	' MINVALUE '||d2.MIN_VALUE||chr(10)||
	' MAXVALUE '||d2.MAX_VALUE||chr(10)||d2.cy_fl ||chr(10)||d2.od_fl ||chr(10)||
	' CACHE 20';
	dbms_output.put_line('creating sequence '|| d2.sequence_name);
	execute immediate 'grant select on BEV.'||d2.sequence_name|| ' to BEV_SELECT';
end loop; 


END;
/

Open in new window

0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39320685
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39320950
I see the error in the "asktom", however when I try to execute this procedure I do it as myself and I have DBA privs, also if I do a impdp from the command line - aix unix - the impdp works fine
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39321014
DBA is a role.  When running from a procedure you need explicit grants not through roles.

This is talked about in that thread.
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39321257
will test the privs just added as soon as I can get permissions to execute the procedure for a refresh

thanks
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39339608
slightwv I added permissions and can now execute the procedure but the job still does not run

what else can I look at?

The job runs to drop the objects then complains that the object
coveragehistorypackage does not exist - why would the procedure be checking for a dropped object after it just dropped them -why would that cause the job to fail?
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39339618
If you drop an object, I believe the grants are removed as well.

I'm going from memory but it should be quick to test:  Manually create an object, grant permissions to another user, make sure the user can access it, then drop and recreate the object.  Have the user try to access it again.
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39339659
yes I understand that - I added the permissions you mentioned in your post
all the objects were dropped
I am executing the procedure now - it is working now thanks to the permissions

the issue is the scheduled job

why doesn't the job run if the procedure now runs?
am I missing something?
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39339683
I just went back and looked at the last code you posted.  You are creating a procedure in the BEV schema and that procedure drops BEV's procedures?
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39339703
No it does not drop the two procedures that are supposed to be executed by the job

FOR d1 IN ( select object_type, object_name from user_objects
            where object_type in('FUNCTION','PACKAGE','PACKAGE BODY','PROCEDURE','SEQUENCE','SYNONYM','VIEW')
            and object_name not in ('BEV_SEQUENCE_REFRESH','BEV_REFRESH'))


the two procedures that are to be executed by the job are not included in the drop

bev_sequene_refresh & bev_refresh are not dropped
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39339725
OH, I missed the AND clause.

>>why would the procedure be checking for a dropped object after it just dropped them -why would that cause the job to fail?

Maybe a dependency or some race condition?

If it runs when manually executing the procedure, it should run from a job.

Off the top of my head, I don't know what could be causing it.  You will just have to add some debug statements in the procedure to see if you can figure out why it is generating an error.
0
 
LVL 1

Author Comment

by:bkreynolds48
ID: 39339739
now there is the problem.
I am not a programmer so don't know what debug statements to add
can you give me an example?
0
 
LVL 76

Accepted Solution

by:
slightwv (䄆 Netminder) earned 500 total points
ID: 39339769
Now that I look back at the code to figure out the best way to help you debug it, The drop may be working find and it's the import itself generating the error.

As far as debugging:  dbms_output is out since you are executing this procedure from a job.

I would look at creating a testing table (outside BEV's schema so it doesn't get dropped).  Then at various times in the procedure insert whatever you want to capture into the testing table and commit.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Article by: Swadhin
From the Oracle SQL Reference (http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/queries006.htm) we are told that a join is a query that combines rows from two or more tables, views, or materialized views. This article provides a glimps…
This article started out as an Experts-Exchange question, which then grew into a quick tip to go along with an IOUG presentation for the Collaborate confernce and then later grew again into a full blown article with expanded functionality and legacy…
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
Via a live example, show how to take different types of Oracle backups using RMAN.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now