Oracle数据备份

Oracle数据备份,oracle,unix,Oracle,Unix,我正在使用Oracle 11g。我想将某些记录从表移动到平面文件。是否有任何实用程序可以像sqlldr一样执行相同的操作。我创建unix脚本也是为了做同样的事情,但它没有达到目的。请帮助您可以使用UTL_文件包将所有表格数据加载到平面文件中。下面是该方法的示例代码 DECLARE p_file util_file.file_type; l_table your_table_name.ROWTYPE; l_delimited VARCHAR2(1) :=

我正在使用Oracle 11g。我想将某些记录从表移动到平面文件。是否有任何实用程序可以像sqlldr一样执行相同的操作。我创建unix脚本也是为了做同样的事情,但它没有达到目的。请帮助

您可以使用UTL_文件包将所有表格数据加载到平面文件中。下面是该方法的示例代码

DECLARE
    p_file      util_file.file_type;
    l_table     your_table_name.ROWTYPE;
    l_delimited VARCHAR2(1) := '|';
BEGIN
    p_file := utl_file.Fopen('<file_path>', '<file_name>', 'W');

    FOR l_table IN (SELECT *
                    FROM  your_table_name) LOOP
        utl_file.Putline(p_file, l_table.col1
                                 ||l_delimited
                                 ||l_table.col2
                                 ||l_delimited
                                 ||l_table.col3
                                 ||l_delimited
                                 ||l_table.col4
                                 ||Chr(10));
    END LOOP;

    utl_file.Fclose_all();
END; 

查看软件包

如何分享您的脚本并解释其中的问题?这里最有可能的工具是使用SQL*Plus执行某些SQL的脚本。