Sunteți pe pagina 1din 4

User Managed hot backup of oracle database

Used managed backup means you take backup without any oracle feature. Suppose if you take backup by Operating system then it is called user managed backup. And the term hot backup means taking your backup whenever your database is at open state. To take full database backup follow the following steps. 1)Before proceed remember you can take online/hot backup whenever your database is in Archivelog mode. If your database run on noarchivelog mode then you must take consistent backup that is after cleanly shutdown. In order to determine the archival mode, issue the query, SQL> SELECT LOG_MODE FROM V$DATABASE; LOG_MODE ARCHIVELOG If you see ARCHIVELOG then you can proceed further. In order to take backup while you are in noarhivelog mode follow other post on my blog. 2)Determine the files that you need to take backup. Whenever you decide to take your database backup then take backup of data files , online redo log files ,control files, spfile. In order to decide which files you need to backup issue the following query. SQL>SELECT NAME File Need Backup FROM V$DATAFILE UNION ALL SELECT MEMBER FROM V$LOGFILE UNION ALL SELECT NAME FROM V$CONTROLFILE UNION ALL SELECT VALUE FROM V$PARAMETER WHERE NAME=spfile; File Need Backup /oradata2/data1/dbase/system01.dbf /oradata2/data1/dbase/undotbs01.dbf /oradata2/data1/dbase/sysaux01.dbf /oradata2/data1/dbase/users01.dbf /oradata2/data.dbf /oradata2/data1/data02.dbf /oradata2/6.dbf /oradata2/DBASE/datafile/o1_mf_permanen_42l31vg0_.dbf /oradata2/data_test.dbf /oradata2/data1/dbase/redo03.log

/oradata2/data1/dbase/redo02.log /oradata2/data1/dbase/redo01.log /oracle/app/oracle/product/10.2.0/db_1/dbs/cntrldupbase.dbf /oracle/app/oracle/product/10.2.0/db_1/dbs/spfiledupbase.ora 13 rows selected. So after running the above query I can say I need to backup 13 files. 3)Take the tablespace in backup mode rather than offline and read-only tablespace. In case of offline and read only tablespace you do not have to place the tablespace in backup mode because the database is not permitting changes to the datafiles. You can check the status, tablespace_name and its associated data file name with the following query, SELECT t.STATUS,t.TABLESPACE_NAME Tablespace, f.FILE_NAME Datafile FROM DBA_TABLESPACES t, DBA_DATA_FILES f WHERE t.TABLESPACE_NAME = f.TABLESPACE_NAME; ORDER BY t.NAME; Take the tablespace in backup mode rather than offline and read-only tablespace. You can easily make a script of taking the online tablespace in backup mode by following query. SQL>SELECT ALTER TABLESPACE ||TABLESPACE_NAME || BEGIN BACKUP; Script FROM DBA_TABLESPACES WHERE STATUS NOT IN (READ ONLY,'OFFLINE); Script ALTER TABLESPACE SYSTEM BEGIN BACKUP; ALTER TABLESPACE UNDOTBS1 BEGIN BACKUP; ALTER TABLESPACE SYSAUX BEGIN BACKUP; ALTER TABLESPACE TEMP BEGIN BACKUP; ALTER TABLESPACE USERS BEGIN BACKUP; ALTER TABLESPACE TEMP_T BEGIN BACKUP; 6 rows selected. Alternatively, you can issue SQL>ALTER DATABASE BEGIN BACKUP; 4)Copy the datafile to backup location. After making a tablespace in backup mode take backup/copy of the associated datafiles. Here you can also make a script in order to copy datafiles to another location. For online tablespace you must at first take it backup mode. You can check whether

backup mode now active or not by issuing following query, SQL>SELECT t.name AS TB_NAME, d.file# as DF#, d.name AS DF_NAME, b.status FROM V$DATAFILE d, V$TABLESPACE t, V$BACKUP b WHERE d.TS#=t.TS# AND b.FILE#=d.FILE# AND b.STATUS=ACTIVE; SQL> SELECT host scp || FILE_NAME || &backup_location Backup Command FROM DBA_DATA_FILES; Enter value for backup_location: /backup old 1: SELECT host scp || FILE_NAME || &backup_location Backup Command FROM DBA_DATA_FILES new 1: SELECT host scp || FILE_NAME || /backup Backup Command FROM DBA_DATA_FILES Backup Command host scp /oradata2/data1/dbase/system01.dbf /backup host scp /oradata2/data1/dbase/undotbs01.dbf /backup host scp /oradata2/data1/dbase/sysaux01.dbf /backup host scp /oradata2/data1/dbase/users01.dbf /backup host scp /oradata2/data.dbf /backup host scp /oradata2/data1/data02.dbf /backup host scp /oradata2/6.dbf /backup host scp /oradata2/DBASE/datafile/o1_mf_permanen_42l31vg0_.dbf /backup host scp /oradata2/data_test.dbf /backup 9 rows selected. Also you can backup network files. Do a recursive search for *.ora starting in your Oracle home directory and under it. In order to make script for to copy data files for those tablespace which are only in backup mode then issue, SQL>SELECT host scp || d.name || &backup_location FROM V$DATAFILE d, V$TABLESPACE t, V$BACKUP b WHERE d.TS#=t.TS# AND b.FILE#=d.FILE# AND b.STATUS=ACTIVE; Run the script that you genereted. On windows or other operating system you can use graphical browser to copy or other associated copy command. 5)Whenever you copy is finished make the tablespace out of backup mode. You can issue

BEGIN BACKUP .. SCP serially (Take one tablespace in begin backup mode and then copy the associated datafiles and make the tablespace out of backup mode) or you can do it parallely(Take all tablespaces in begin backup mode and then copy the associated datafiles of all tabelspaces and then make the tablespace out of backup mode). You here also make a script like, SQL>SELECT ALTER TABLESPACE ||t.name || END BACKUP; End Backup Script FROM V$DATAFILE d, V$TABLESPACE t, V$BACKUP b WHERE d.TS#=t.TS# AND b.FILE#=d.FILE# AND b.STATUS=ACTIVE; End Backup Script ALTER TABLESPACE SYSTEM END BACKUP; You if you have taken Database in backup mode then issue SQL>ALTER DATABASE END BACKUP;

S-ar putea să vă placă și