如何使用oracle資料庫
Ⅰ Oracle資料庫怎麼使用
Oracle資料庫怎麼使用
,這兩者都要保證你的服務是否啟動,一般啟動最後兩個就可以
1.cmd進入命令行 lsnrctl start 啟動監聽服務,看出現什麼錯誤
如果沒有錯誤,察看資料庫是否可以正常進行連接
2.看下你電腦是不是裝了防火牆 先把防火牆禁止掉去
3.去orant\net80\trace\看看,一般有錯都會在那裡產生一個.log文件
如果是機器改名的話,編輯[oracle_home]\ora81\network\admin\listener.ora文件,將原機器名改為新的即可.也可能是埠沖突,比如我曾經因為安裝一個上網代理軟體而導致資料庫服務不能啟動.卸載該軟體即可.
已解決,主要是修改了機器名稱.導致監聽啟動後自動退出
將listener.ora 中,HOST 的值改成現在的機器名或IP 地址,然後再啟動監聽.問題就解決
啟動資料庫,在伺服器上
(9I版本以上)
sqlplus /nolog
connect /as sysdba
startup
exit
Ⅱ oracle資料庫中函數怎麼使用
oracle資料庫中函數較多,而且每個函數都有自己的用法,所以要根據具體的函數查詢具體的使用方法,比如:
decode(條件,值1,返回值1,值2,返回值2,...值n,返回值n,預設值)
這個函數運行的結果是,當欄位或欄位的運算的值等於值1時,該函數返回值2,否則返回值3
當然值1,值2,值3也可以是表達式,這個函數使得某些sql語句簡單了許多
使用方法:
1、比較大小
select
decode(sign(變數1-變數2),-1,變數1,變數2)
from
al;
--取較小值
sign()函數根據某個值是0、正數還是負數,分別返回0、1、-1
例如:
變數1=10,變數2=20
則sign(變數1-變數2)返回-1,decode解碼結果為「變數1」,達到了取較小值的目的。
2、此函數用在SQL語句中,功能介紹如下:
Decode函數與一系列嵌套的
IF-THEN-ELSE語句相似。base_exp與compare1,compare2等等依次進行比較。如果base_exp和
第i
個compare項匹配,就返回第i
個對應的value
。如果base_exp與任何的compare值都不匹配,則返回default。每個compare值順次求值,如果發現一個匹配,則剩下的compare值(如果還有的話)就都不再求值。一個為NULL的base_exp被認為和NULL
compare值等價。如果需要的話,每一個compare值都被轉換成和第一個compare
值相同的數據類型,這個數據類型也是返回值的類型。
Ⅲ 怎麼使用oracle資料庫的其他用戶
一 如果訪問其他用戶的數據,需要有一定的許可權
(1) 可以授權這個用戶查看其他用戶表的許可權
如:grant select on scott.emp to test;
(2) 或者直接授予這個用戶dba許可權
如 grant dba to test;
(3) 查詢其他用戶表
select * from scott.emp;
二 如果訪問其他資料庫表
(1) 創建相應連接其他資料庫某一用戶的dblink
配置相應的tnsname.ora,創建完成後通過tnsping命令查看網路是否通
(2) 配置好dblink,通過dblink查詢
如 select * from emp@d_name;
Ⅳ oracle資料庫如何靈活使用
1、分組統計時使用
2、3:根據具體業務需求使用
使用什麼查詢,不是因為你知道什麼,就用什麼查詢,而是你想要得到什麼,而使用什麼。
一般情況下,你要了解,但不一定要全部記住oracle中的絕大部分函數或語句的使用關鍵字,知道oracle能夠干什麼,今後有業務需要了,再去查詢詳細。
當然,你記不住也沒關系,如果你明確知道你想要達到的目標,那麼你在網路上搜索一下,也會有很多答案。
Ⅳ oracle資料庫連接怎麼使用
操作步驟如下:
1、請先保證oracle可以正常運行。
2、打開Eclipse,找到逗Window地--逗Show View地--逗Other...地
3、在彈出的新窗口中,打開文件夾逗Data Management地找到逗Data Source Explorer地,並單擊逗OK地。
4、這時候,Eclipse主界面下方會多出一個逗Data Source Explorer地標簽欄,在其中逗Database Connections地文件夾圖標上單擊右鍵,選中逗New...地。
5、出現新窗口,找到自己正在使用的資料庫"Oracle",自行起個名字,在此起了"cityinfo"這個名字。然後單擊逗Next>地
6、出現如下窗口時,請單擊右上方圖中所示的符號(位置),注意此步驟。
7、緊接上步,在新的對話框中,找到所使用的oracle版本,建議選用Oracle Thin Driver。
8、找到JAR List,若大家使用的是oracle11,請將其中的ojdbc14給remove掉,否則,Eclipse會不停提示出錯。
9、按著上一步remove掉ojdbc14後,請導入目前正使用的oracle的驅動包,這里用的是oracle11,因此,需要導入ojdbc6,這一驅動包在oracle安裝文件中就有。
10、進入properties標簽欄,輸入自己所建資料庫相關內容,這里在oracle中建的用戶名是逗cityinfo地。這一步各自的信息可能不同,請自行決定。然後單擊逗OK地。
11、上步點擊逗OK地後,會返回前一個窗口,這時,Eclipse會提示要求輸入"user name"用戶名,就是大家所建立的資料庫的名稱,不是任意起的名字。輸入後,可單擊下方的"Test Connection",當提示逗Ping Successed!地時,表示Eclipse和oracle連接成功。然後單擊逗Finish地完成配置。
12、此時,要做的工作就是在Eclipse中,用視圖顯示出所建資料庫中的各表。回到Eclipse主界面,找到如下圖所示位置,在"tables"中,任意表點擊右鍵,選擇逗Data地--"Sample Contents"。
13、出現新的標簽欄SQL Results,裡面顯示的就是資料庫中所存的表的信息。
Ⅵ oracle中怎樣連接到資料庫
需要一些前提條件:
1、對方的主機能被連接(如在同一區域網內)
2、需要知道對方資料庫IP、埠號、服務名
3、需要知道對方提供的管理資料庫的用戶名及密碼
連接方法:
1、在本地的oracle安裝目錄,找到tnsnames.ora文件,一般在~oracleproct10.2.0db_1 etworkADMIN目錄下,如圖:
2、用文本打開tnsnames.ora文件,添加以下內容:
本地自定義實例名=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=資料庫IP或資料庫主機名)(PORT=資料庫埠號))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=資料庫服務名)
)
)
3、保存文件即可。
4、打開第三方工具,如plsq,輸入對方提供的用戶名及密碼,選擇新建的資料庫鏈接即可。
Ⅶ 怎麼用命令行操作oracle資料庫
眾所周知,一般操作系統會提供定時執行任務的方法,例如:Unix平台上提供了讓系統定時執行任務的命令Crontab。但是,對於某些需求,例如:一些對資料庫表的操作,最為典型的是證券交易所每日收盤後的結算,它涉及大量的資料庫表操作,如果仍然利用操作系統去定時執行,不僅需要大量的編程工作,而且還會出現用戶不一致等運行錯誤,甚至導致程序無法執行。
一、分析問題
事實上,對於以上需求,我們可以利用資料庫本身擁有的功能Job Queue(任務隊列管理器)去實現。任務隊列管理器允許用戶提前調度和安排某一任務,使其能在指定的時間點或時間段內自動執行一次或多次,由於任務在資料庫中被執行,所以執行效率很高。
任務隊列管理器允許我們定製任務的執行時間,並提供了靈活的處理方式,還可以通過配置,安排任務在系統用戶訪問量少的時段內執行,極大地提高了工作效率。例如,對於資料庫日常的備份、更新、刪除和復制等耗時長、重復性強的工作,我們就可以利用任務隊列管理器去自動執行以減少工作量。
目前,擁有此項功能的資料庫有許多,最有代表性的是SQL Server 7.0、Oracle 8.0.5等。但是,要讓任務隊列管理器工作,還需要我們加以配置才能實現。SQL Server的功能配置是在一個圖形化界面(GUI)中實現的,非常簡單。利用OEM客戶端管理工具,Oracle的配置也可以在一個圖形界面中完成。然而大多數的用戶更習慣於命令行的方式去操縱資料庫。本文介紹如何通過命令行實現這種配置。
二、實現步驟
1.確保Oracle的工作模式允許啟動任務隊列管理器
Oracle定時執行「Job Queue」的後台程序是SNP進程,而要啟動SNP進程,首先要確保整個系統的模式是可以啟動SNP進程的,這需要以DBA的身份去執行如下命令:
svrmgrl> alter system enable restricted session;
或sql> alter system disenable restricted session;
利用如上命令更改系統的會話方式為disenable restricted,為SNP的啟動創造條件。
2.確保Oracle的系統已經配置了任務隊列管理器的啟動參數
SNP的啟動參數位於Oracle的初始化文件中,該文件放在$ORACLE_HOME/dbs路徑下,如果Oracle的SID是myora8的話,則初始化文件就是initmyora8.ora,在文件中對SNP啟動參數的描述部分如下:
job_queue_process=n
job_queue_interval=N
第一行定義SNP進程的啟動個數為n。系統預設值為0,正常定義范圍為0~36,根據任務的多少,可以配置不同的數值。
第二行定義系統每隔N秒喚醒該進程一次。系統預設值為60秒,正常范圍為1~3600秒。事實上,該進程執行完當前任務後,就進入睡眠狀態,睡眠一段時間後,由系統的總控負責將其喚醒。
如果該文件中沒有上面兩行,請按照如上配置添加。配置完成後,需要重新啟動資料庫,使其生效。注意:如果任務要求執行的間隔很短的話,N的配置也要相應地小一點。
3.將任務加入到資料庫的任務隊列中
調用Oracle的dbms_job包中的存儲過程,將任務加入到任務隊列中:
dbms_job.submit( job out binary_integer,
whatinarchar2,
next_date indate,
intervalinvarchar2,
no_parseinboolean)
其中:
●job:輸出變數,是此任務在任務隊列中的編號;
●what:執行的任務的名稱及其輸入參數;
●next_date:任務執行的時間;
●interval:任務執行的時間間隔。
下面詳細討論一下dbms_job.submit中的參數interval。嚴格地講,interval是指上一次執行結束到下一次開始執行的時間間隔,當interval設置為null時,該job執行結束後,就被從隊列中刪除。假如我們需要該job周期性地執行,則要用『sysdate+m』表示。
將任務加入到任務隊列之前,要確定執行任務的資料庫用戶,若用戶是scott, 則需要確保該用戶擁有執行包dbms_job的許可權;若沒有,需要以DBA的身份將權利授予scott用戶:
svrmgrl> grant execute on dbms_job to scott;
4.將要執行的任務寫成存儲過程或其他的資料庫可執行的pl/sql程序段
例如,我們已經建立了一個存儲過程,其名稱為my_job,在sql/plus中以scott用戶身份登錄,執行如下命令:
sql> variable n number;
sql> begin
dbms_job.submit(:n『my_job;』,sysdate,
『sysdate+1/360』);
commit;
end;
/
系統提示執行成功。
Sql> print :n;
系統列印此任務的編號,例如結果為300。
如上,我們創建了一個每隔4分鍾執行一次的任務號為300的任務。可以通過Oracle提供的數據字典user_jobs察看該任務的執行情況:
sql> select job,next_date,next_sec,failures,broken from user_jobs;
執行結果如下:
job next_date next_sec failures broken
300 2000/10/10 11:45:15 0 N
這表示任務號為300的任務,下一次將在2000/10/10 11:45:15執行,此任務的執行失敗記錄為0次。注意:當執行job出現錯誤時,Oracle將其記錄在日誌里,失敗次數每次自動加1。當執行失敗次數達到16時,Oracle就將該job標志為broken。此後,Oracle不再繼續執行它,直到用戶調用過程dbms_job.broken,重新設置為not broken,或強制調用dbms_job.run來重新執行它。
除了以上我們討論的submit存儲過程之外,Oracle還提供了其他許多存儲過程來操作任務。例如:dbms_job.change 、 dbms_job.what、dbms_job.interval可以用來修改提交的任務。要想刪除該任務,只需運行dbms_job.remove(n)即可,其中n為任務號。
Ⅷ Oracle資料庫基本操作步驟是怎樣的呢
e資料庫伺服器就足夠了,這時你已經擁有oracle客戶端的功能。(1)你可以通過第三方軟體:如
plsql
developer(非常強大的oracle資料庫操作軟體)來操作oracle資料庫;(2)當然裝完oracle資料庫伺服器以後,你也可以通過控制台來操作,步驟如下:開始-〉運行-〉cmd(打開控制台窗口)-〉敲入
sqlplus
->輸入正確的用戶名密碼(如scott/tiger)就可以操作了。
裝完oracle資料庫伺服器以後,如果你還裝oracle客戶端(client),那麼你在連接資料庫的時候記得加上完整的資料庫服務名:如scott/[email protected]:1521/yourinstancename
這樣也能保證正確的操作資料庫了。
另外,虛機團上產品團購,超級便宜