當前位置:首頁 » 編程軟體 » oracle資料庫日常運維常用腳本

oracle資料庫日常運維常用腳本

發布時間: 2023-02-23 08:23:25

1. oracle用戶下執行資料庫腳本方式。

在DOS提示符下可以按下列方式執行:
C>sqlplus 用戶名/口令@連接字元串 @腳本名

腳本是SQL類型文件,裡面寫上你的兩個語句:
select * from tbo_presenceinfo;
quit
裡面的語句更多當然也可以。在#提示符下我沒試過。

2. oracle資料庫如何每天自動執行腳本完成正式資料庫到備份資料庫的備份

寫個腳本完成正式資料庫到備份資料庫的備份
再設定Task Schele 每天某個時間自動執行這個腳本

3. 如何利用腳本文件來管理Oracle資料庫

第一步:創建腳本文件。
在Oracle資料庫重,創建腳本文件的方式很多。如可以直接在記事本中創建腳本文件,也可以通過SQL*Plus工具直接創建。不過,筆者的意見是,在SQL*Plus中直接創建腳本文件的話,比較麻煩。這主要是因為在SQL*Plus工具中,命令編輯能力非常有效。如不能夠使用鍵盤上的箭頭鍵定位輸入的位置,不能夠使用DEL鍵刪除輸入的內容等等。而且閱讀起來也比較困難。
第二步:編輯腳本文件。
在我們使用腳本文件的時候,往往需要根據實際情況,對其進行稍微的調整。對腳本文件進行編輯,也有兩種方式。一是通過SQL*Plus工具,二是第三方獨立的腳本編輯軟體。
對於一些調整不大的腳本文件,我們可以直接利用SQL*Plus工具打開,然後進行編輯。但是,對於需要進行大量修改的腳本文件,則筆者建議資料庫管理員採用第三方獨立的腳本編輯軟體。原因很簡單,就如同上面所說的那樣,SQL*Plus工具腳本命令編輯功能非常的薄弱。若採用這個工具對現成的腳本語句進行編輯的話,則可能工作量還是重新編寫一個來的輕。所以,資料庫管理員要根據實際的情況,選擇合適的腳本編輯工具。
另外,在編輯的過程中,要注意語法的正確性。特別是要注意,不能夠改變其固有的格式。如不要不小心刪除了最後的「/」符號結束。
第三步:運行腳本文件。
腳本建立好之後,如何運行腳本呢?在Oracle系統中也提供了許多方式。資料庫管理員可以根據自己的使用習慣來進行選擇。
一是通過Start語句來調用腳本文件。其語法是Start Filemame[相關參數]。在運行這個命令的時候,需要注意幾個問題。
1、腳本文件的擴展名問題。上面在建立腳本文件的時候,筆者就跳掉過,為了在SQL*Plus等工具中可以直接調用這個腳本文件,最好能夠把擴展名改為Oracle資料庫能夠接受的擴展名。默認情況下,擴展名設置為SQL即可。
2、腳本文件的路徑問題。若用戶在利用Start調用腳本文件的時候,若沒有清楚的指名保存路徑的話,則SQL*Plus工具會現在當前的目錄中進行查找;若沒有的話,則會根據環境變數中確定的目錄中進行查找。而一般情況下,我們把腳本文件都會獨立存放。所以,在使用Start命令執行腳本文件的時候,最好能夠註明腳本文件的絕對路徑名。防止語句執行錯誤。
另外@命令也可以起到跟Start命令一樣的作用。只不過,前者的使用范圍更廣一點。@命令可以脫離SQL*PLUS工具而使用。如可以直接在微軟操作系統中的命令行方式下使用。當然,這操作系統要事先部署了Oracle資料庫環境。
二是可以直接利用SQL*Plus工具打開文本文件,執行腳本語句。然後點擊「文件」、「執行」命令執行這個腳本語句。這種方式的好處就是,系統會主動提示用戶需要輸入的參數。

總之,腳本文件是我們管理Oracle資料庫的一大利器。我們好好利用腳本文件,可以提高Oracle資料庫的管理效率。畢竟,每次在需要的時候,都去編寫命令是一件很麻煩的事情。而腳本文件的最大好處,就是可以提高語句的重復利用,節省我們編寫語句、調試測試的時間。

4. oracle資料庫,批量插入數據腳本

批量插入數據腳本
1、第一種批量插入數據腳本,可以基本滿足要求。理解上較為簡單,所以這個最常用。

NEXTVAL和CURRVAL的區別:
1、如果 sequence.CURRVAL 和 sequence.NEXTVAL 都出現在一個 SQL 語句中,則序列只增加一次。在這種情況下,每個 sequence.CURRVAL 和 sequence.NEXTVAL 表達式都返回相同的值,不管在語句中sequence.CURRVAL 和 sequence.NEXTVAL 的順序。

執行腳本結果如下:

3、兩個表,同時批量插入數據的腳本

3、
4、 涉及子表時,批量插入數據腳本,

5、 批量修改數據

時間取數方式:
一、SYSTIMESTAMP(取當前系統值)
二、SYSDATE(取當前系統值,但只精確到時,分和秒都為0)
三、固定值為:TO_TIMESTAMP (񟭓-2-12 15:24:45.703000', 'yyyy-mm-dd hh24:mi:ss.ff6')

把固定的欄位改為變數:
方式一:』||i||』 例:』{「no」:「111』||i||』」}』(此方式)
方式二:concat 例:concat(concat(』{「blNo」:111"』,i),』"}』)

5. Oracle資料庫備份腳本怎麼寫

沒必要用root許可權執行,oracle用戶同樣可以執行crontab計劃任務
1、su - oracle
crontab -e
0 4 * * 0 /home/oracle/exp.sh 2>&1 >>/home/oracle/script_exp.log;
0~59 表示分
0~23 表示小時
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)
2、cat /home/oracle/exp.sh
. ~/.bash_profile
bakdir=/opt/dbbak
logdir=/home/oracle/dbbak
rq=$(date +%Y%m%d)
exp system/***** owner=jysh file=${bakdir}/jysh_${rq}.dmp log=${logdir}/jysh_${rq}.log;
find ${bakdir} -type f -mtime +30 -exec rm -rf {} \;

6. Oracle資料庫RMAN的自動備份腳本簡介

Oracle資料庫RMAN的自動備份腳本簡介

各位同學知道Oracle資料庫RMAN如何自動備份腳本嘛?下面我為大家整理了關於Oracle資料庫RMAN的自動備份腳本文章,希望能為你提供幫助:

1、資料庫設置為歸檔方式

2、資料庫的備份腳本

db_full_backup.sh :資料庫全備腳本

db_l0_backup.sh :資料庫0級備份腳本

db_l1_backup.sh :資料庫1級備份腳本

ftp.sh :數據FTP上傳腳本

ftp_del.sh :數據FTP清理腳本

rman_bak.sh :數據備份主程序

3、備份原理

每周1、3、6進行0級備份

每周日、2、4、5進行1級備份

備份文件上傳到FTP伺服器

FTP伺服器每周清理一次,但是清理後將周六和周日的備份進行保留(6.bak和0.bak)

所有工作防暑crontab中自動執行備份

4、備份目錄含義

arc :資料庫歸檔目錄

rmanbak :資料庫備份文件的保存目錄

rmanscripts :資料庫腳本存放路徑

5、FTP目錄

ftp上必須手動建立目錄

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/proct/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/ftp.sh $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAG.log

else


;

7. oracle資料庫使用SQL腳本創建資料庫

1、第1、2個提示是由於序列和表不存在可以忽略
2、第3、4個提示
需要TourDB的建表語句

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:746
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1009
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:715
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:876
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:774
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1124
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:349
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:227
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:911
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:873