欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

oracle腳本怎么保存,oracle 導(dǎo)入腳本

怎么在oracle下寫一個(gè)腳本,然后導(dǎo)出表數(shù)據(jù)為EXCEL格式文件?

無(wú)法直接保存到excel中,但是可以保存到csv文件,同樣是excel的格式,方法如下:

十多年的嵩明網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整嵩明建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“嵩明網(wǎng)站設(shè)計(jì)”,“嵩明網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

譬如要把文件生成在d盤下的test目錄下:

1,在d盤根目錄下新建test目錄

2,sqlplus以system用sysdba登錄

3,create or replace directory TMP as ’d:\test’;

4,grant read on directory TMP to user;

5,alter system set utl_file_dir='d:\test' scope=spfile;

然后建立存儲(chǔ)過(guò)程,表是隨便建了一個(gè),最后的文件名按要求需要按照當(dāng)前日期的前一天生成,所以后邊文件名的地方write_file_name處就按照要求來(lái)了

create or replace PROCEDURE SP_OUTPUT

(

on_flag OUT NUMBER,

out_reason OUT VARCHAR2)

is

v_code number;

v_text varchar2(255);

file_handle utl_file.file_type;

Write_content VARCHAR2(1024);

Write_file_name VARCHAR2(50);

v_aaa varchar2(5);

v_bbb varchar2(5);

cursor cur_sp_out

is

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;

begin

IF utl_file.is_open(file_handle) THEN

utl_file.fclose(file_handle);

end IF;

end;

rollback;

end;

這樣基本就完成了,但是建立完畢后需要重啟數(shù)據(jù)庫(kù),否則文件寫不進(jìn)指定的目錄下

需要注意的是: write_content := v_aaa||' '||v_bbb; 這個(gè)位置

v_aaa|| 和v_bbb中間引號(hào)的地方是TAB符,否則輸出來(lái)的XLS文件中,會(huì)把這些字符串合在一個(gè)單元格中。

Oracle數(shù)據(jù)庫(kù)RMAN的自動(dòng)備份腳本簡(jiǎn)介

Oracle數(shù)據(jù)庫(kù)RMAN的自動(dòng)備份腳本簡(jiǎn)介

各位同學(xué)知道Oracle數(shù)據(jù)庫(kù)RMAN如何自動(dòng)備份腳本嘛?下面我為大家整理了關(guān)于Oracle數(shù)據(jù)庫(kù)RMAN的自動(dòng)備份腳本文章,希望能為你提供幫助:

1、數(shù)據(jù)庫(kù)設(shè)置為歸檔方式

2、數(shù)據(jù)庫(kù)的備份腳本

db_full_backup.sh :數(shù)據(jù)庫(kù)全備腳本

db_l0_backup.sh :數(shù)據(jù)庫(kù)0級(jí)備份腳本

db_l1_backup.sh :數(shù)據(jù)庫(kù)1級(jí)備份腳本

:數(shù)據(jù)FTP上傳腳本

ftp_del.sh :數(shù)據(jù)FTP清理腳本

rman_bak.sh :數(shù)據(jù)備份主程序

3、備份原理

每周1、3、6進(jìn)行0級(jí)備份

每周日、2、4、5進(jìn)行1級(jí)備份

備份文件上傳到FTP服務(wù)器

FTP服務(wù)器每周清理一次,但是清理后將周六和周日的備份進(jìn)行保留(6.bak和0.bak)

所有工作防暑crontab中自動(dòng)執(zhí)行備份

4、備份目錄含義

arc :數(shù)據(jù)庫(kù)歸檔目錄

rmanbak :數(shù)據(jù)庫(kù)備份文件的保存目錄

rmanscripts :數(shù)據(jù)庫(kù)腳本存放路徑

5、FTP目錄

ftp上必須手動(dòng)建立目錄

L0:

---1

---3

---6

---6.bak

L1:

---2

---4

---5

---0

---0.bak

rman_bak.sh腳本主程序

#!/bin/bash

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

# Oracle auto backup using rman

#

# author:songrh

# week:1,3,6 Level 0 backup

# 2,4,5,0 Level 1 backup

# Copyright by ChenLong Tec

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

#

#

export ORACLE_BASE=/u02/oracle

export ORACLE_HOME=/u02/oracle/product/9.2.4

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 NLS_LANG=american_america.ZHS16GBK

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NL33=$ORACLE_HOME/ocommon/nls/admin/data

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

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

#

SH_PATH=/u02/rmanscripts

ARC_PATH=/u02/arch

RMAN_BAK_PATH=/u02/rmanbak

#

#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

IP="122.120.150.155"

FTPUSER="ftpbak"

FTPPASS="******"

FTPROOT0="L0"

FTPROOT1="L1"

#

DISK_USE=`df -k |sed -n '/u02/'p | awk '{print $5}' |sed 's/%//'`

####check path function

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

if [[ $DISK_USE -ge 90 ]]; then

rm -rf $L0_PATH/*

rm -rf $L1_PATH/*

fi

if [ "$WEEK" = "6" -o "$WEEK" = "3" -o "$WEEK" = "1" ]; then

if [ ! -d $L0_PATH ]; then

mkdir $L0_PATH

fi

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

rm -rf $L0_PATH/*

rm -rf $L1_PATH/*

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

mkdir $L0_PATH/$WEEK

$SH_PATH/db_l0_backup.sh $L0_PATH/$WEEK

cd $L0_PATH/$WEEK

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

else

;

如何將oracle數(shù)據(jù)庫(kù)的sql語(yǔ)句執(zhí)行結(jié)果保存到另一個(gè)sql文件中?

set feedback off heading off term off\x0d\x0aset pages 0 trim on trims on lines 32767 long 999999\x0d\x0aset echo off\x0d\x0aspool result.sql\x0d\x0aSelect 'alter table '||table_name||allocate extent;from user_tables where num_rows=0; \x0d\x0aspool off\x0d\x0a把以上部分放入一個(gè)腳本文件中再執(zhí)行,會(huì)在當(dāng)前目錄下生成你要的文件result.sql

在oracle中怎么把查詢語(yǔ)句保存成腳本,然后執(zhí)行

建立一個(gè)txt文件,然后在里面寫入你的查詢語(yǔ)句,然后保存,將txt文件更改為sql后綴名的文件。

然后進(jìn)入到oracle中,輸入@+文件的詳細(xì)路徑就ok了

如:

路徑:c:\

文件:abc.txt

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

然后將abc.txt更改為abc.sql

然后進(jìn)入數(shù)據(jù)庫(kù)

sqlplus / as sysdba

@c:\abc

回車執(zhí)行,這里不用寫后綴名就OK。

這還不明白的話就沒(méi)得可講了...

如何將oracle數(shù)據(jù)庫(kù)的sql語(yǔ)句執(zhí)行結(jié)果保存到一個(gè)sql文件中?

set feedback off heading off term off

set pages 0 trim on trims on lines 32767 long 999999

set echo off

spool result.sql

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

spool off

把以上部分放入一個(gè)腳本文件中再執(zhí)行,會(huì)在當(dāng)前目錄下生成你要的文件result.sql

如何利用腳本文件來(lái)管理Oracle數(shù)據(jù)庫(kù)

第一步:創(chuàng)建腳本文件。

在Oracle數(shù)據(jù)庫(kù)重,創(chuàng)建腳本文件的方式很多。如可以直接在記事本中創(chuàng)建腳本文件,也可以通過(guò)SQL*Plus工具直接創(chuàng)建。不過(guò),筆者的意見(jiàn)是,在SQL*Plus中直接創(chuàng)建腳本文件的話,比較麻煩。這主要是因?yàn)樵赟QL*Plus工具中,命令編輯能力非常有效。如不能夠使用鍵盤上的箭頭鍵定位輸入的位置,不能夠使用DEL鍵刪除輸入的內(nèi)容等等。而且閱讀起來(lái)也比較困難。

第二步:編輯腳本文件。

在我們使用腳本文件的時(shí)候,往往需要根據(jù)實(shí)際情況,對(duì)其進(jìn)行稍微的調(diào)整。對(duì)腳本文件進(jìn)行編輯,也有兩種方式。一是通過(guò)SQL*Plus工具,二是第三方獨(dú)立的腳本編輯軟件。

對(duì)于一些調(diào)整不大的腳本文件,我們可以直接利用SQL*Plus工具打開(kāi),然后進(jìn)行編輯。但是,對(duì)于需要進(jìn)行大量修改的腳本文件,則筆者建議數(shù)據(jù)庫(kù)管理員采用第三方獨(dú)立的腳本編輯軟件。原因很簡(jiǎn)單,就如同上面所說(shuō)的那樣,SQL*Plus工具腳本命令編輯功能非常的薄弱。若采用這個(gè)工具對(duì)現(xiàn)成的腳本語(yǔ)句進(jìn)行編輯的話,則可能工作量還是重新編寫一個(gè)來(lái)的輕。所以,數(shù)據(jù)庫(kù)管理員要根據(jù)實(shí)際的情況,選擇合適的腳本編輯工具。

另外,在編輯的過(guò)程中,要注意語(yǔ)法的正確性。特別是要注意,不能夠改變其固有的格式。如不要不小心刪除了最后的“/”符號(hào)結(jié)束。

第三步:運(yùn)行腳本文件。

腳本建立好之后,如何運(yùn)行腳本呢?在Oracle系統(tǒng)中也提供了許多方式。數(shù)據(jù)庫(kù)管理員可以根據(jù)自己的使用習(xí)慣來(lái)進(jìn)行選擇。

一是通過(guò)Start語(yǔ)句來(lái)調(diào)用腳本文件。其語(yǔ)法是Start Filemame[相關(guān)參數(shù)]。在運(yùn)行這個(gè)命令的時(shí)候,需要注意幾個(gè)問(wèn)題。

1、腳本文件的擴(kuò)展名問(wèn)題。上面在建立腳本文件的時(shí)候,筆者就跳掉過(guò),為了在SQL*Plus等工具中可以直接調(diào)用這個(gè)腳本文件,最好能夠把擴(kuò)展名改為Oracle數(shù)據(jù)庫(kù)能夠接受的擴(kuò)展名。默認(rèn)情況下,擴(kuò)展名設(shè)置為SQL即可。

2、腳本文件的路徑問(wèn)題。若用戶在利用Start調(diào)用腳本文件的時(shí)候,若沒(méi)有清楚的指名保存路徑的話,則SQL*Plus工具會(huì)現(xiàn)在當(dāng)前的目錄中進(jìn)行查找;若沒(méi)有的話,則會(huì)根據(jù)環(huán)境變量中確定的目錄中進(jìn)行查找。而一般情況下,我們把腳本文件都會(huì)獨(dú)立存放。所以,在使用Start命令執(zhí)行腳本文件的時(shí)候,最好能夠注明腳本文件的絕對(duì)路徑名。防止語(yǔ)句執(zhí)行錯(cuò)誤。

另外@命令也可以起到跟Start命令一樣的作用。只不過(guò),前者的使用范圍更廣一點(diǎn)。@命令可以脫離SQL*PLUS工具而使用。如可以直接在微軟操作系統(tǒng)中的命令行方式下使用。當(dāng)然,這操作系統(tǒng)要事先部署了Oracle數(shù)據(jù)庫(kù)環(huán)境。

二是可以直接利用SQL*Plus工具打開(kāi)文本文件,執(zhí)行腳本語(yǔ)句。然后點(diǎn)擊“文件”、“執(zhí)行”命令執(zhí)行這個(gè)腳本語(yǔ)句。這種方式的好處就是,系統(tǒng)會(huì)主動(dòng)提示用戶需要輸入的參數(shù)。

總之,腳本文件是我們管理Oracle數(shù)據(jù)庫(kù)的一大利器。我們好好利用腳本文件,可以提高Oracle數(shù)據(jù)庫(kù)的管理效率。畢竟,每次在需要的時(shí)候,都去編寫命令是一件很麻煩的事情。而腳本文件的最大好處,就是可以提高語(yǔ)句的重復(fù)利用,節(jié)省我們編寫語(yǔ)句、調(diào)試測(cè)試的時(shí)間。

當(dāng)前名稱:oracle腳本怎么保存,oracle 導(dǎo)入腳本
本文網(wǎng)址:http://chinadenli.net/article0/heiiio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、搜索引擎優(yōu)化商城網(wǎng)站域名注冊(cè)、小程序開(kāi)發(fā)全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名