(1)startup(用sys用戶或者其他擁有啟動(dòng)數(shù)據(jù)庫(kù)權(quán)限的用戶登錄數(shù)據(jù)庫(kù)軟件,然后執(zhí)行該命令即可,如果存在多個(gè)實(shí)例,請(qǐng)?jiān)趩?dòng)前確認(rèn)SID),數(shù)據(jù)庫(kù)有三個(gè)狀態(tài)nomount,mount,和open,默認(rèn)開啟到open,如果開啟到另外兩個(gè)狀態(tài),那么可以通過(guò)alter命令改變狀態(tài)。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的莊河網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
(2)如果是rac中啟停數(shù)據(jù)庫(kù)節(jié)點(diǎn),那么有專門的命令srvcrl(這個(gè)僅僅是命令的操作符,后面有參數(shù)的,參數(shù)我就不寫了,具體可以查一下,網(wǎng)上很多與偶內(nèi)容的),另外還有crscrl(啟停crs服務(wù)的命令,同樣也是操作符,后面有參數(shù)的,這里也不寫了,自己查一下就可以了)
(3)啟動(dòng)數(shù)據(jù)庫(kù)還有一個(gè)命令就是啟動(dòng)監(jiān)聽,lsnrctl命令(后面同樣有參數(shù),能啟動(dòng)停止,也能查詢監(jiān)聽狀態(tài),這個(gè)監(jiān)聽的基本命令)
oracle是塊結(jié)構(gòu)語(yǔ)言,oracle程序劃分成幾個(gè)部分,并在每個(gè)部分中寫入邏輯代碼塊,每個(gè)塊由三個(gè)子部分組成。
聲明部分:此部分是以關(guān)鍵字DECLARE開頭。這是一個(gè)可選部分,并定義了程序中要使用的所有變量,游標(biāo),子程序和其他元素。
可執(zhí)行命令部分:此部分包含在關(guān)鍵字BEGIN和END之間,這是一個(gè)強(qiáng)制性部分。由程序的可執(zhí)行oracle語(yǔ)句組成。應(yīng)該有至少一個(gè)可執(zhí)行代碼行,可以只是一個(gè)NULL命令,表示不執(zhí)行任何操作。
異常處理部分 :此部分以關(guān)鍵字EXCEPTION開頭。這是一個(gè)可選部分,包含處理程序中錯(cuò)誤的異常。
每個(gè)oracle語(yǔ)句以分號(hào)(;)結(jié)尾。使用BEGIN和END可以將oracle塊嵌套在其他oracle塊中。以下是Poracle塊的基本結(jié)構(gòu)。
Hello World示例:
END;行表示oracle塊的結(jié)尾。要從oracle命令行運(yùn)行代碼,需要在代碼的最后一行之后鍵入/字符。當(dāng)上述代碼在oracle提示符下執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果:
oracle標(biāo)識(shí)符:oracle標(biāo)識(shí)符是常量,變量,異常,過(guò)程,游標(biāo)和保留字。標(biāo)識(shí)符包括一個(gè)字母,可選地后跟多個(gè)字母,數(shù)字,美元符號(hào),下劃線和數(shù)字符號(hào),不得超過(guò)30個(gè)字符。
默認(rèn)情況下,標(biāo)識(shí)符不區(qū)分大小寫。例如,可以使用integer或INTEGER來(lái)表示一個(gè)數(shù)值。 不能使用保留關(guān)鍵字作為標(biāo)識(shí)符。
擴(kuò)展資料
oracle注釋程序:注釋可以在編寫的oracle代碼中包含的說(shuō)明性文字,并幫助其他人閱讀源代碼。所有編程語(yǔ)言都允許某種形式的注釋。
oracle支持單行和多行注釋。注釋中的所有字符都被oracle編譯器忽略。oracle單行注釋以分隔符開頭 --(雙連字符),多行注釋由/*和*/括起來(lái)。
當(dāng)上述代碼在oracle提示符下執(zhí)行時(shí),會(huì)產(chǎn)生以下結(jié)果:
oracle變量的名稱由可選的字母,數(shù)字,美元($)符號(hào),下劃線和數(shù)字符號(hào)組成,不能超過(guò)30個(gè)字符。 默認(rèn)情況下,變量名不區(qū)分大小寫。不能將保留的oracle關(guān)鍵字用作變量名稱。
oracle編程語(yǔ)言允許定義各種類型的變量,如:日期時(shí)間數(shù)據(jù)類型,記錄,集合等,我們將在后面的章節(jié)中介紹。 在本章中僅學(xué)習(xí)基本的變量類型。
正在看的ORACLE教程是:Oracle如何直接運(yùn)行OS命令(上)。
在Oracle
8i中,往往會(huì)出現(xiàn)要在存儲(chǔ)過(guò)程中運(yùn)行操作系統(tǒng)命令的情況。一般來(lái)說(shuō),利用Oracle
Enterprise
Manager設(shè)定作業(yè)時(shí)可以達(dá)到這個(gè)目的。但是由于OEM在設(shè)定作業(yè)缺
乏靈活性,設(shè)定的作業(yè)的參數(shù)是固定的。在實(shí)際應(yīng)用當(dāng)中往往需要在SQL語(yǔ)句當(dāng)中運(yùn)行需要隨時(shí)運(yùn)行操作系統(tǒng)命令。Oracle
8i沒有直接運(yùn)行OS命令的語(yǔ)句,我們可以利用DBMS_PIPE程序包實(shí)現(xiàn)這一要求。
DBMS_PIPE通過(guò)創(chuàng)建管道,可以讓至少兩個(gè)進(jìn)程進(jìn)行通信。Oracle的管道與操作系統(tǒng)的管道在概念上有相同的地方,但是在實(shí)現(xiàn)機(jī)制不同。
下面介紹實(shí)現(xiàn)具體步驟:
1、創(chuàng)建一個(gè)程序包,姑且起名叫DAEMON,SQL語(yǔ)句如下:
/*創(chuàng)建daemon程序包*/
CREATE
OR
REPLACE
PACKAGE
BODY
daemon
AS
/*execute_system是實(shí)現(xiàn)運(yùn)行os命令的函數(shù)*/
FUNCTION
execute_system(command
VARCHAR2,
timeout
NUMBER
DEFAULT
10)
RETURN
NUMBER
IS
status
NUMBER;
result
VARCHAR2(20);
command_code
NUMBER;
pipe_name
VARCHAR2(30);
BEGIN
pipe_name
:=
DBMS_PIPE.UNIQUE_SESSION_NAME;
DBMS_PIPE.PACK_MESSAGE('SYSTEM');
DBMS_PIPE.PACK_MESSAGE(pipe_name);
DBMS_PIPE.PACK_MESSAGE(command);
/*向daemon管道發(fā)送表示命令的字符*/
status
:=
DBMS_PIPE.SEND_MESSAGE('daemon',
timeout);
IF
status
THEN
RAISE_APPLICATION_ERROR(-20010,
'Execute_system:
Error
while
sending.
Status
=
'
||
status);
END
IF;
當(dāng)前1/2頁(yè) 12下一頁(yè)
Oracle執(zhí)行外部文件:
c:sqlplus
user/pwd@db
sql@new.sql
執(zhí)行多個(gè)sql文件:
1.把所有的文件都放在同一個(gè)目錄下,然后在命令行里執(zhí)行命令:
c:dir/b
d:/1.sql
會(huì)把所有的sql文件名都輸出到一個(gè)sql文件中。
2.用UltraEdit打開生成的sql文件,alt+C切換到column
mode,給所有的行前都添加一個(gè)"@",保存。
3.在sqlplus中執(zhí)行"@d:/1.sql"
如何避免''字符:
sql中可以傳遞參數(shù),但有時(shí)需要插入'',例:
SQL
select
'hello'
v
from
dual;
輸入
hello
的值:
hello
原值
1:
select
'hello'
v
from
dual
新值
1:
select
'hello'
v
from
dual
v
-----
hello
可以使用如下方法避免:
A:
SQL
select
chr(38)
||
'hello'
v
from
dual;
V
------
hello
B:
SQL
set
define
off
SQL
select
'hello'
v
from
dual;
V
------
hello
啟動(dòng)oracle數(shù)據(jù)庫(kù)步驟:\x0d\x0a首先使用oracle用戶登錄Linux,然后在shell命令行中執(zhí)行下面的命令:\x0d\x0a第一步:打開Oracle監(jiān)聽\x0d\x0a$ lsnrctl start\x0d\x0a第二步:進(jìn)入sqlplus\x0d\x0a$ sqlplus /nolog\x0d\x0aSQL\x0d\x0a第三步:使用sysdab角色登錄sqlplus\x0d\x0aSQL conn /as sysdba\x0d\x0a第四步:?jiǎn)?dòng)數(shù)據(jù)庫(kù)\x0d\x0aSQL startup\x0d\x0a經(jīng)過(guò)上面的四個(gè)步驟,oracle數(shù)據(jù)庫(kù)就可以啟動(dòng)了。\x0d\x0a關(guān)閉數(shù)據(jù)庫(kù)用 shutdown 是要等待事物結(jié)束才關(guān)閉,強(qiáng)制關(guān)閉用 shutdown abort。