cp command in ASMCMD actually not copies system generated the file but creates an alias for real file. Here is a procedure to copy system generated file (redo log) from one asm datagroup to an other:
1-) Login a database which has access to asm disk groups
2-) Create following directories
CREATE OR REPLACE DIRECTORY SOURCE_DIR AS '+DG1/DBNAME/ONLINELOG';
CREATE OR REPLACE DIRECTORY DEST_DIR AS '/..filesystem_path../ONLINELOG';
3-) Copy asm file to filesystem
BEGIN
dbms_file_transfer.copy_file(source_directory_object =>
'SOURCE_DIR', source_file_name => 'filename',
destination_directory_object => 'DEST_DIR',
destination_file_name => 'filename');
END;
/
4-) Copy file on filesystem back to asm
CREATE OR REPLACE DIRECTORY SOURCE_DIR AS '/..filesystem_path../ONLINELOG';
CREATE OR REPLACE DIRECTORY DEST_DIR AS '+DG2/DBNAME/ONLINELOG';
BEGIN
dbms_file_transfer.copy_file(source_directory_object =>
'SOURCE_DIR', source_file_name => 'filename',
destination_directory_object => 'DEST_DIR',
destination_file_name => 'new_filename');
END;
/
No comments:
Post a Comment