网站首页 > 文章中心 > 其它

oracle脚本怎么保存_脚本修改后怎么保存

作者:小编 更新时间:2023-10-08 11:00:01 浏览量:443人看过

怎么在oracle下写一个脚本,然后导出表数据为EXCEL格式文件?

无法直接保存到excel中,但是可以保存到csv文件,同样是excel的格式,方法如下:

譬如要把文件生成在d盘下的test目录下:

①.,在d盘根目录下新建test目录

然后建立存储过程,表是随便建了一个,最后的文件名按要求需要按照当前日期的前一天生成,所以后边文件名的地方write_file_name处就按照要求来了

create or replace PROCEDURE SP_OUTPUT

(

on_flag OUT NUMBER,

is

v_code number;

file_handle utl_file.file_type;

cursor cur_sp_out

select aaa,bbb

from aaa;

begin

open cur_sp_out;

loop

fetch cur_sp_out into v_aaa,v_bbb;

exit when cur_sp_out%notfound;

write_file_name := to_char(SYSDATE,'YYYYMMDD')||'.xls';

file_handle := utl_file.fopen('TMP',write_file_name,'a');

write_content := v_aaa||' '||v_bbb;

--write file

IF utl_file.is_open(file_handle) THEN

utl_file.put_line(file_handle,write_content);

END IF;

--close file

utl_file.fclose(file_handle);

end loop;

close cur_sp_out;

v_code := 0;

v_text := '完成';

exception

when others then

on_flag := SQLCODE;

out_reason := SQLERRM;

end IF;

end;

rollback;

这样基本就完成了,但是建立完毕后需要重启数据库,否则文件写不进指定的目录下

需要注意的是: write_content := v_aaa||' '||v_bbb; 这个位置

v_aaa|| 和v_bbb中间引号的地方是TAB符,否则输出来的XLS文件中,会把这些字符串合在一个单元格中.

Oracle数据库RMAN的自动备份脚本简介

Oracle数据库RMAN的自动备份脚本简介

各位同学知道Oracle数据库RMAN如何自动备份脚本嘛?下面我为大家整理了关于Oracle数据库RMAN的自动备份脚本文章,希望能为你提供帮助:

①.、数据库设置为归档方式

db_full_backup.sh :数据库全备脚本

db_l0_backup.sh :数据库0级备份脚本

db_l1_backup.sh :数据库1级备份脚本

:数据FTP上传脚本

ftp_del.sh :数据FTP清理脚本

rman_bak.sh :数据备份主程序

备份文件上传到FTP服务器

所有工作防暑crontab中自动执行备份

arc :数据库归档目录

rmanbak :数据库备份文件的保存目录

rmanscripts :数据库脚本存放路径

ftp上必须手动建立目录

L0:

---1

L1:

---0

---0.bak

rman_bak.sh脚本主程序

#!/bin/bash

#--------------------------------------------

# Oracle auto backup using rman

#

# author:songrh

# Copyright by ChenLong Tec

export ORACLE_SID=PROD

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export TNS_ADMIN=$ORACLE_HOME/network/admin

export PATH=/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:$PATH

export PATH=$PATH:/opt/local/bin

#FULL_PATH=$RMAN_BAK_PATH/full

L0_PATH=$RMAN_BAK_PATH/L0

L1_PATH=$RMAN_BAK_PATH/L1

#DAY_TAG=+date "%Y-%m-%d"+

LOG_TAG=+date "%Y-%m-%d"+

#FIRST_DAY=+date %e+

WEEK=+date %w+

#WEEK=1

# FTP configure

FTPUSER="ftpbak"

FTPPASS="******"

FTPROOT0="L0"

FTPROOT1="L1"

####check path function

############

rm -rf $L0_PATH/*

rm -rf $L1_PATH/*

fi

if [ ! -d $L0_PATH ]; then

mkdir $L0_PATH

if [ "$WEEK" = "1" ]; then

mkdir $L0_PATH/$WEEK

$SH_PATH/db_l0_backup.sh $L0_PATH/$WEEK

cd $L0_PATH/$WEEK

$SH_PATH/ftp_del.sh $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAG.log

else

if [ ! -d $L0_PATH/$WEEK ]; then

$SH_PATH/ $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAG.log

;

如何将oracle数据库的sql语句执行结果保存到另一个sql文件中?

在oracle中怎么把查询语句保存成脚本,然后执行

建立一个txt文件,然后在里面写入你的查询语句,然后保存,将txt文件更改为sql后缀名的文件.

然后进入到oracle中,输入@+文件的详细路径就ok了

如:

路径:c:\

文件:abc.txt

然后在abc.txt中写 select table_name from user_tables;

然后将abc.txt更改为abc.sql

然后进入数据库

sqlplus / as sysdba

@c:\abc

回车执行,这里不用写后缀名就OK.

这还不明白的话就没得可讲了...

如何将oracle数据库的sql语句执行结果保存到一个sql文件中?

set feedback off heading off term off

set echo off

spool result.sql

Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;

spool off

把以上部分放入一个脚本文件中再执行,会在当前目录下生成你要的文件result.sql

如何利用脚本文件来管理Oracle数据库

第一步:创建脚本文件.

第三步:运行脚本文件.

脚本建立好之后,如何运行脚本呢?在Oracle系统中也提供了许多方式.数据库管理员可以根据自己的使用习惯来进行选择.

一是通过Start语句来调用脚本文件.其语法是Start Filemame[相关参数].在运行这个命令的时候,需要注意几个问题.

①.、脚本文件的扩展名问题.上面在建立脚本文件的时候,笔者就跳掉过,为了在SQL*Plus等工具中可以直接调用这个脚本文件,最好能够把扩展名改为Oracle数据库能够接受的扩展名.默认情况下,扩展名设置为SQL即可.

都说到这里了大家应该明白,脚本文件是我们管理Oracle数据库的一大利器.我们好好利用脚本文件,可以提高Oracle数据库的管理效率.毕竟,每次在需要的时候,都去编写命令是一件很麻烦的事情.而脚本文件的最大好处,就是可以提高语句的重复利用,节省我们编写语句、调试测试的时间.

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章