當前位置:首頁 » 數據倉庫 » oracle資料庫中的sp是什麼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle資料庫中的sp是什麼

發布時間: 2022-12-23 19:03:26

A. oracle資料庫的 to char 和to date 區別

一、功能不同

1、to char:將時間日期按照指定的格式輸出,得到的是字元串,而非date類型。

2、to date:將字元串按照指定的格式輸出,得到的是日期類型。

二、語法不同

1、to char:to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') 。

2、to date:to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') 。


三、規則不同

1、to char:只要被轉換的是一個日期,yyyy,mm,dd中間加不加連接符,加什麼連接符都可以。

2、to date:第一個參數的yyyy,mm,dd之間有沒有連接符。如果有,那麼第二個參數必須有連接符,隨便是什麼連接符。


B. oracle資料庫 ,想統計一個用戶下,所有表的記錄的總條數,用什麼語句可以實現

1. 查看資料庫的版本
select @@version
2. 查看資料庫所在機器操作系統參數
exec master..xp_msver
3. 查看資料庫啟動的參數
sp_configure
4. 查看資料庫啟動時間
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
查看資料庫伺服器名和實例名
print 'Server Name...............:' + convert(varchar(30),@@SERVERNAME)
print 'Instance..................:' + convert(varchar(30),@@SERVICENAME)
5. 查看所有資料庫名稱及大小
sp_helpdb
重命名資料庫用的sql
sp_renamedb 'old_dbname', 'new_dbname'
6. 查看所有資料庫用戶登錄信息
sp_helplogins
查看所有資料庫用戶所屬的角色信息
sp_helpsrvrolemember
修復遷移伺服器時孤立用戶時,可以用的fix_orphan_user腳本或者LoneUser過程
更改某個數據對象的用戶屬主
sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'
注意:更改對象名的任一部分都可能破壞腳本和存儲過程。
把一台伺服器上的資料庫用戶登錄信息備份出來可以用add_login_to_aserver腳本
查看某資料庫下,對象級用戶許可權
sp_helprotect
7. 查看鏈接伺服器
sp_helplinkedsrvlogin
查看遠端資料庫用戶登錄信息
sp_helpremotelogin
8.查看某資料庫下某個數據對象的大小
sp_spaceused @objname
還可以用sp_toptables過程看最大的N(默認為50)個表
查看某資料庫下某個數據對象的索引信息
sp_helpindex @objname
還可以用SP_NChelpindex過程查看更詳細的索引情況
SP_NChelpindex @objname
clustered索引是把記錄按物理順序排列的,索引占的空間比較少。
對鍵值DML操作十分頻繁的表我建議用非clustered索引和約束,fillfactor參數都用默認值。
查看某資料庫下某個數據對象的的約束信息
sp_helpconstraint @objname
9.查看資料庫里所有的存儲過程和函數
use @database_name
sp_stored_proceres
查看存儲過程和函數的源代碼
sp_helptext '@procere_name'
查看包含某個字元串@str的數據對象名稱
select distinct object_name(id) from syscomments where text like '%@str%'
創建加密的存儲過程或函數在AS前面加WITH ENCRYPTION參數
解密加密過的存儲過程和函數可以用sp_decrypt過程
10.查看資料庫里用戶和進程的信息
sp_who
查看SQL Server資料庫里的活動用戶和進程的信息
sp_who 'active'
查看SQL Server資料庫里的鎖的情況
sp_lock
進程號1--50是SQL Server系統內部用的,進程號大於50的才是用戶的連接進程.
spid是進程編號,dbid是資料庫編號,objid是數據對象編號
查看進程正在執行的SQL語句
dbcc inputbuffer ()
推薦大家用經過改進後的sp_who3過程可以直接看到進程運行的SQL語句
sp_who3
檢查死鎖用sp_who_lock過程
sp_who_lock
11.查看和收縮資料庫日誌文件的方法
查看所有資料庫日誌文件大小
dbcc sqlperf(logspace)
如果某些日誌文件較大,收縮簡單恢復模式資料庫日誌,收縮後@database_name_log的大小單位為M
backup log @database_name with no_log
dbcc shrinkfile (@database_name_log, 5)
12.分析SQL Server SQL 語句的方法:
set statistics time
set statistics io
圖形方式顯示查詢執行計劃
在查詢分析器-查詢-顯示估計的評估計劃(D)-Ctrl-L 或者點擊工具欄里的圖形
文本方式顯示查詢執行計劃
set showplan_all
set showplan_text
set statistics profile
13.出現不一致錯誤時,NT事件查看器里出3624號錯誤,修復資料庫的方法
先注釋掉應用程序里引用的出現不一致性錯誤的表,然後在備份或其它機器上先恢復然後做修復操作
alter database [@error_database_name] set single_user
修復出現不一致錯誤的表
dbcc checktable('@error_table_name',repair_allow_data_loss)
或者可惜選擇修復出現不一致錯誤的小型資料庫名
dbcc checkdb('@error_database_name',repair_allow_data_loss)
alter database [@error_database_name] set multi_user
CHECKDB 有3個參數:
repair_allow_data_loss 包括對行和頁進行分配和取消分配以改正分配錯誤、結構行或頁的錯誤,以及刪除已損壞的文本對象,這些修復可能會導致一些數據丟失。
修復操作可以在用戶事務下完成以允許用戶回滾所做的更改。
如果回滾修復,則資料庫仍會含有錯誤,應該從備份進行恢復。
如果由於所提供修復等級的緣故遺漏某個錯誤的修復,則將遺漏任何取決於該修復的修復。
修復完成後,請備份資料庫。
repai*_**st 進行小的、不耗時的修復操作,如修復非聚集索引中的附加鍵。
這些修復可以很快完成,並且不會有丟失數據的危險。
repair_rebuild 執行由 repai*_**st 完成的所有修復,包括需要較長時間的修復(如重建索引)。
執行這些修復時不會有丟失數據的危險。
添加、刪除、修改使用db.Execute(Sql)命令執行操作
╔--------------------╗
☆ 數據記錄篩選 ☆
╚--------------------╝
注意:單雙引號的用法可能有誤(沒有測式)
Sql = Select Distinct 欄位名 From 數據表
Distinct函數,查詢資料庫存表內不重復的記錄
Sql = Select Count(*) From 數據表 where 欄位名1#18:0:0# and 欄位名1 #19:00#
count函數,查詢數庫表內有多少條記錄,「欄位名1」是指同一欄位
例:
set rs=conn.execute(select count(id) as idnum from news)
response.write rs(idnum)
sql=select * from 數據表 where 欄位名 between 值1 and 值2
Sql=select * from 數據表 where 欄位名 between #2003-8-10# and #2003-8-12#
在日期類數值為2003-8-10 19:55:08 的欄位里查找2003-8-10至2003-8-12的所有記錄,而不管是幾點幾分。
select * from tb_name where datetime between #2003-8-10# and #2003-8-12#
欄位裡面的數據格式為:2003-8-10 19:55:08,通過sql查出2003-8-10至2003-8-12的所有紀錄,而不管是幾點幾分。
Sql=select * from 數據表 where 欄位名=欄位值 order by 欄位名 [desc]
Sql=select * from 數據表 where 欄位名 like '%欄位值%' order by 欄位名 [desc]
模糊查詢
Sql=select top 10 * from 數據表 where 欄位名 order by 欄位名 [desc]
查找資料庫中前10記錄
Sql=select top n * form 數據表 order by newid()
隨機取出資料庫中的若干條記錄的方法
top n,n就是要取出的記錄數
Sql=select * from 數據表 where 欄位名 in ('值1','值2','值3')
╔--------------------╗
☆ 添加數據記錄 ☆
╚--------------------╝
sql=insert into 數據表 (欄位1,欄位2,欄位3 …) valuess (值1,值2,值3 …)
sql=insert into 數據表 valuess (值1,值2,值3 …)
不指定具體欄位名表示將按照數據表中欄位的順序,依次添加
sql=insert into 目標數據表 select * from 源數據表
把源數據表的記錄添加到目標數據表
╔--------------------╗
☆ 更新數據記錄 ☆
╚--------------------╝
Sql=update 數據表 set 欄位名=欄位值 where 條件表達式
Sql=update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表達式
Sql=update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n
沒有條件則更新整個數據表中的指定欄位值
╔--------------------╗
☆ 刪除數據記錄 ☆
╚--------------------╝
Sql=delete from 數據表 where 條件表達式
Sql=delete from 數據表
沒有條件將刪除數據表中所有記錄)
╔--------------------------╗
☆ 數據記錄統計函數 ☆
╚--------------------------╝
AVG(欄位名) 得出一個表格欄平均值
COUNT(*|欄位名) 對數據行數的統計或對某一欄有值的數據行數統計
MAX(欄位名) 取得一個表格欄最大的值
MIN(欄位名) 取得一個表格欄最小的值
SUM(欄位名) 把數據欄的值相加
引用以上函數的方法:
sql=select sum(欄位名) as 別名 from 數據表 where 條件表達式
set rs=conn.excute(sql)
用 rs(別名) 獲取統的計值,其它函數運用同上。
╔-----------------------------╗
☆ 數據表的建立和刪除 ☆
╚-----------------------------╝
CREATE TABLE 數據表名稱(欄位1 類型1(長度),欄位2 類型2(長度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 數據表名稱 (永久性刪除一個數據表)
╔--------------------------╗
☆ 記錄集對象的方法 ☆
╚--------------------------╝
rs.movenext 將記錄指針從當前的位置向下移一行
rs.moveprevious 將記錄指針從當前的位置向上移一行
rs.movefirst 將記錄指針移到數據表第一行
rs.movelast 將記錄指針移到數據表最後一行
rs.absoluteposition=N 將記錄指針移到數據表第N行
rs.absolutepage=N 將記錄指針移到第N頁的第一行
rs.pagesize=N 設置每頁為N條記錄
rs.pagecount 根據 pagesize 的設置返回總頁數
rs.recordcount 返回記錄總數
rs.bof 返回記錄指針是否超出數據表首端,true表示是,false為否
rs.eof 返回記錄指針是否超出數據表末端,true表示是,false為否
rs.delete 刪除當前記錄,但記錄指針不會向下移動
rs.addnew 添加記錄到數據表末端
rs.update 更新數據表記錄
用Oracle資料庫!!!!!!!!!!!!!!

C. 在oracle資料庫中怎麼通過sql語句查詢一個表的Primary Key

可以通過」dba_constraints 「表中的信息來查看
sql:select t.* from dba_constraints t where t .constraint_type='P' and t.table_name='tablename';

解釋:讀取dba_constraints 表中欄位"鍵類型"為「P」(必須大寫)和欄位"表名"為「tablename」的主鍵的信息。

D. 什麼是ORACLE系統

由於ORACLE資料庫產品是當前資料庫技術的典型代表,她的產品除了資料庫系統外,還有應用系統、開發工具等。剛接觸Oracle的人員都有這樣的感覺:Oracle的產品太多,每個產品內容精深,不知道從哪兒開始學才好。為了用少量時間更好地理解和使用oracle 資料庫系統,有必要對oracle的一些基本術語及概念進行了解,下面給出一些在管理中經常用到的概念和術語,供初學者快速了解Oracle資料庫系統提供方便。

§1.1 ORACLE7和ORACLE8
ORACLE7是一種完全的關系資料庫系統,它不支持面向對象。
ORACLE8 則是一個引入面向對象的資料庫系統,它既非純的面向對象的資料庫也非純的關系資料庫,它是兩者的結合,因此叫做「對象關系資料庫」。

§1.2 ORACLE8 特點
ORACLE8 於 1997年6月正式發布,它包括了幾乎所有的資料庫技術,因此被認為是未來企業級主選資料庫之一。主要有以下特點:

1.對象/關系模型

ORACLE8對於對象模型採取較為現實和謹慎的態度,使用了對象/關系模型,即在完全支持傳統關系模型的基礎上,為對象機制提供了有限的支持。ORACLE8不僅能夠處理傳統的表結構信息,而且能夠管理由C++,Smalltalk 以及其它開發工具生成的多媒體數據類型,如文本,視頻,圖形,空間對向等。這種做法允許現有軟體開發產品與工具軟體及ORACLE8應用軟體共存,保護了客戶的投資。

2.資料庫伺服器系統的動態可伸縮性

ORACLE8引入了連接存儲池(connection polling)和多路復用(multiplexing)機制,提供了對大型對象的支持。當需要支持一些特殊數據類型時,用戶可以創建軟體插件(catridge )來實現。ORACLE8採用了高級網路技術,提高共享池和連接管理器來提高系統的可括性,容量可從幾 GB 到 幾百 TB 位元組,可允許10萬用戶同時並行訪問,ORACLE 的資料庫中每個表可以容納 1000列,能滿足目前資料庫及數據倉庫應用的需要。
ORACLE 公司稱,ORACLE8可以支持達 512PB的數據量。但目前還未有哪一家用戶的資料庫的數據量達到這個數量。下面是幾種常用數據量的等價關系:
1MB = 1024 KB
1GB = 1Gigabyte Byte = 1024 MB
1TB = 1TeraByte = 1024 GB = 1024*1024MB
1PB = 1PeraByte = 1024 TB = 1024 * 1024 * 1024 MB
1EB = 1ExaByte = 1024 PB = 1024 * 1024 *1024 *1024 MB

3.系統的可用性和易用性

ORACLE8提供了靈活多樣的數據分區功能,一個分區可以是一個大型表,也可以是索引易於管理的小塊,可以根據數據的取值分區。有效地提高了系統操作能力及數據可用性 ,減少I/O 瓶頸。ORACLE8還對並行處理進行了改進,在點陣圖索引,查詢,排序,連接和一般索引掃描等操作引入並行處理,提高了單個查詢的並行度。ORACLE8通過並行伺服器(Parallel Server Option )來提高系統的可用性。

4.系統的可管理性和數據安全功能

ORACLE8提供了自動備份和恢復功能,改進了對大規模和更加細化的分布式操作系統的支持,如加強了SQL 操作復制的並行性。為了幫助客戶有效地管理整個資料庫和應用系統,ORACLE還提供了企業管理系統(ORACLE Enterprise Manager),資料庫管理員可以從一個集中控制台拖放式圖形用戶界面管理ORACLE的系統環境。
ORACLE8通過安全伺服器中提供的安全服務,加強了ORACLE Web Server 中原有的用戶驗證和用戶管理。

5.面向網路計算

ORACLE8i在 與JAVA VM 及 CORBA ORB 集成後,將成為NCA(網路計算機體結構)的核心部件。NCA是ORACLE 關於分布式對象與網路計算機的戰略規劃。ORACLE8 對NCA產生了巨大影響,簡化了應用軟體的化分,推動了瘦型客戶機及Web 應用軟體的發展。在ORACLE8 FOR NT 中還提共了新產品Web 發布助理(Web Publishing Assistant ORACLE),提供了一種在WORD WIDE WEB 上發布資料庫信息的簡便,有效的方法。

6.對多平台的支持與開放性

網路結構往往含有多個平台,ORACLE8 可以運行於目前所有主流平台上,如
SUN Solarise, Sequent Dynix/PTX,Intel Nt,HP_UX,DEC_UNIX,IBM AIX 和 SP等。ORACLE8 的異構服務為同其它數據源以及使用SQL 和PL/SQL的服務進行通訊提供了必要的基礎設施。ORACLE8 繼續至力於對開放標准規范SQL3,JDBC,JSQL和CORBA 的支持。

§1.3 ORACLE8和ORACLE8i
當 ORACLE 8 第一次發行時,它提供了優於 ORACLE 7 的性能和選件,但是它基本是ORACLE7 的引擎。 在ORACLE8 的後來版本中不斷作過多次的完善,出現 ORACLE 8.0.X 版本。然而1998年初發行(推出)的 ORACLE 8I 可以被看作是 ORACLE 8 的功能擴展集。
由於ORACLE 8I 比 ORACLE 8 提供了更多的功能,它除了共同的RDBMS功能外,還提供了許多與INTERNET 有關的能力,最重要的是它將 JAVA 集成為一種內部的數據語言,這種語言可充當或替代品,而且它還集成了一個WEB伺服器和開發平台(Web DB )。對ORACLE 8.0.x 來說只到 ORACLE 8.0.5 版本就終止了,接著就推出了 ORACLE8i 8.1.5版本,ORACLE8i 8.1.5版本也經常被稱為Release 1;而ORACLE8i 8.1.6版本被稱為Release 2;ORACLE8i 8.1.7版本被稱為Release 3。
§1.4 ORACLE8i和ORACLE9i
在正式進入21世紀前的2000年年底,ORACLE公司正式發布了ORACLE 9i 新資料庫系統。原先預料可能會有ORACLE 8i V8.1.8等版本,但ORACLE8i版本只推出8.1.7就被Oracle9i所代替。ORACLE公司和其它的軟體公司一樣,為了搶占市場,不再願意在原來版本上再作更多的改進和優化工作,而是直接的推出新產品這樣一種策略。ORACLE9i 與ORACLE8i 比較,ORACLE 9i 主要包括下面三大部分:

l 資料庫核心(Database )
l 應用伺服器(Application Server )
l 開發工具集(Developer Suite )

Oracle9i 主要焦點(Oracle9i Focus ):
l 電子商務智能化( E-Business Intelligence )
l 應用開發( Applications Development )
l 應用主機( Applications Hosting )
l 門戶與內容( Portals and Content )
l 電子商務連續性( E-Business Continuity )

Oracle9i 為了結合 Internet 市場設計。Oracle9i適合並勝任市場上所有的苛刻要求。
l Oracle9I實時應用( Oracle9i Real Application)
l Oracle9I高可用性(Oracle9i High Availability)
l Oracle9I 系統管理( Oracle9i Systems Management )
l Oracle9I 安全( Oracle9i Security)

Oracle9i 資料庫服務(Oracle9i Database Services):
l 商業智能與數據倉庫( Business Intelligence and Data Warehousing)
l Oracle9I動態服務( Oracle9i Dynamic Services)
l Oracle9I JAVA 和XML(Oracle9i Java and XML)

l 電子商務集成( E-Business Integration )

§1.5 ORACLE OAS和ORACLE iAS
目前的ORACLE公司的iAS 的早期版本是 ORACLE Web Server ,後來第4版改名為ORACLE APPLICATION SERVER ,2000年底前又改名為 ORACLE9i Internet Application Server(ORACLE iAS)。目前的iAS可以與ORACLE8i 或ORACLE9i 結合在一起的綜合開發工具。為創建和部署任何基於網路的應用程序提供了一個完整的Internet 平台,iAS包括了門戶、事務應用、商業智能工具、無線上網應用和企業集成等。
Oracle Internet Application Server 提供了行業中最全面的中間層產品,包括通信、表示、商業邏輯、數據緩存和系統服務等。

1.通信服務:

基於Apache 的ORACLE HTTP Server,主要包括下面模塊:
mod_jserv:將對servlet 的HTTP請求分發到Oracle iAS 的Servlet 引擎。
Mod_perl:將perl 程序的HTTP 請求分發到Apache Web Server 的Perl Interpreter。
Mod_ssl:提供基於SSL證書的公共密鑰,它被用來在客戶端和Apache Server 之間進行加密通信。
Mod_plsql:Oracle 專用模塊,用來將HTTP請求傳到資料庫內的PL/SQL和Java存儲過程。

2. 表示服務

提供下面方法進行內容表示:
Oracle portal(Oracle 門戶)
Apache Jserver (Apache Java 伺服器)
Perl Interpreter( Perl 解釋程序 )
Oracle JavaServer Pager(JSP)
Oracle PL/SQL Server Pages(PSP)

3.商業邏輯服務

可提供以下服務組件:

Oracle8i JVM( Java 虛擬機)
Oracle8i PL/SQL
Java 商業組件(BC4J)
Form Service
Report Service
Discoverer Viewer

4.數據管理服務

Oracle 8i cache

5.系統服務

Oracle Enterprise Manager(Oracle 企業管理器)
Oracle Advanced Security (Oracle 高級安全性)
Developer's KITS(開發工具),包括:

l Oracle database client developer's Kit
l Oracle XML developer's Kit(XDK)
l Oracle LDAP developer's Kit

§1.6 ORACLE Application R11i
Oracle 公司除了提供完美的資料庫系統外,也提供完整的解決方案的套件,即全套應用系統,通常稱作 Oracle Application R11i。它是一全面集成的電子商務套件。它包括:

1.數據倉庫平台
l Oracle 8i 企業級資料庫伺服器
l Oracle Warehouse Builder(數據倉庫構造器)

2.商業智能工具集
l Oracle Discoverer
l Oracle Express產品系列
l Oracle darwin

3.Oracle 金融服務應用
l 績效管理
l 客戶關系管理
l 風險管理

4.ORACLE財務系統
基於Internet 的財務管理系統包括下面模塊:
l 商業智能管理
l 預算管理
l 合並管理
l 現金預測管理
l 員工費用管理
l Oracle 財務分析系統
l Oracle 項目管理系統
l 工作流程管理
l 預警系統

§1.7 ORACLE 伺服器組件
l 過程組件

可以用於建立過程、觸發器(封裝),這些代碼可以存放在資料庫伺服器中。Oracle,Sybase,Informix,Sql Server 都把這些所謂存儲過程存放在資料庫內,而DB2則把這些所謂存儲過程存放在伺服器的另外一個專門分區內。

l 分布選件

可以支持多台伺服器(在不同的地方)間的通信,即每個伺服器上均有Oracle系統,而分布選件就是把這些不同的地方的資料庫系統管理起來的部件。

l 並行選件

對一台具有多個CPU的機器能進行並行查詢、充分利用計算機的性能。

l 並行伺服器

對於多台機器(有自己的處理器)共同訪問同一個硬碟這樣的結構進行管理,為用戶提供很高的容錯性。當某台機器出現故障時,可以安排用戶使用(登錄)到另一台機器上。當兩台都出現故障時,則整個系統都不能使用。

l 圖象選件

可以存儲、管理和提供實時的,全屏幕的圖象和高質量的聲音給網路上的用戶。

l 企業管理器

Oracle 提供一個幫助用戶管理系統,應用網路和資料庫工具「Oracle企業管理器(OEM)」.

l 空間數據選件(Spatial data option)

空間數據選件是一種存儲和檢索數據的新方法,在查詢中系統根據所關心的數據進行組織,因此,資料庫性能的主要決定因素是所感興趣的資料庫集的大小。

l 上下文選件

是一種文本管理方案,它把非結構化的文本數據管理如同結構化一樣。可以建立和開展基於文本的帶有類似SQL介面的應用。這種方法只有 ORACLE8 及以後版本能支持。

l Web伺服器

可以通過WWW來訪問Oracle資料庫中的數據。

l OLAP選件

聯機分析處理,Oracle提供Oracle Express作為聯機分析處理。

§1.8 目前ORACLE8i 的主要產品
(Oracle9i產品在最後一天介紹)

l SQL*Plus

Oracle的SQL*Plus是標准SQL的一個超集,它除提供符合SQL標準的語句外,還提供一些Oracle特定的外加語句,set,column,Ttitle等。

l Oralce Forms

Oracle Forms的前身是SQL*Forms。SQL*Forms和Oracle Forms都是為用戶提供輸入、查詢、修改等功能的開發工具,前者是在字元終端上運行。後者是在圖形終端上運行。Oracle Forms除了在許多觸發器及功能鍵繼承前者外,大部分的設計界面都發生了變化。
SQL*Forms不含Menu功能,Menu專門為一個產品叫SQL*Menu;而Oracle Forms 把Menu,Library 等融為一體,使功能更強大。

l Oracle Reports

Oracle Reports的先前版本是SQL*Reportwriter,自從Oracle7以後,將其發展為能支持Windows界面的開發工具,在最新版本中,它可以訪問其他主要資料庫,如Sybase, Informix, DB2 ,Microsoft SQL Server等。

l Oracle Book

Oracle Book提供一個共享Oracle產品文本的聯機文檔生成與瀏覽工具。

l Oracle Loader

Oracle Loader早期就提供一個ODL(Oracle data Loader)數據載入工具。該工具可以把多種格式的文本數據載入到Oracle表中。後來的版本更名為SQL*Loader,現在叫Oracle Loader,目前版本可以把多媒體數據載入到資料庫系統中。

l Developer/2000 和 Oracle Developer

是一個綜合產品的總稱,它包括:

l Oracle Reports
l Oracle Forms
l Oracle Graphics
l Procere Builder

四個部件,它的先前名稱叫CDE產品(即協同開發環境),現在Oracle的開發工具叫Oracle Developer。

l ORACLE Designer(Designer /2000)

ORACLE Designer 的前身是 Designer/2000,而Designer/2000的前身是SQL*Case,它是一個資料庫Case工具(計算機輔助設計工具),它目前版本包含:
Business Process Reengineering
Modellers
Generators

l Personal Oracle

95年後,Oracle 提供了可以在Dos,Windows3.x,Windows95,Windows NT 等不同的單機版,它的基本使用方法完全同工作組版和企業版一樣。

l SQL*Net和Net 8

SQL*Net和Net 8都提供在網路下的訪問Oracle資料庫的產品。SQL*Net 分為SQL*Net V1 和SQL*Net V2。SQL*Net V1主要支持字元終端方式,如Dos,終端伺服器方式;SQL*Net V2.x主要支持圖形終端與Oracle的連接,而Net 8則是Oracle 8網路產品SQL*Net V2.x的升級版。

l Oracle Jdeveloper

Oracle 最新產品,它是一個具有高效生產力的3GL編程工具,它可以使編程人員在Java中嵌入SQL語句,編寫能訪問資料庫的Java程序。

l Oracle Express

可以在線分析處理的工具,利用它可以方便地進行各種數據分析。

l PRO*C, PRO*COBOL, PRO*FORTRAN等

可以提供與3GL介面的工具,利用它可以在高級語言中嵌入 SQL語句,從而達到訪問Oracle資料庫的目的。

l 財務軟體( ORACLE Financials )

ORACLE Financials 是 ORACLE APPLICATION 中用於財務管理的應用程序模塊。包括財務會計,管理會計。

l 供應鏈與製造應用軟體

包括:
l 銷售定單管理
l 供應商管理
l 新產品工程設計管理
l 物料管理
l 成本管理
l 質量管理

E. Oracle存儲過程中怎樣操作另一個Oracle資料庫

1、注冊遠程資料庫伺服器

EXEC sp_addlinkedserver '遠程主機', N'SQL Server'

2、注冊遠程資料庫伺服器的登錄方法

EXEC sp_addlinkedsrvlogin '遠程主機', 'false', NULL, 'sa', ''

3、查看數據記錄
select * into 對象名 from 遠程主機.資料庫.DBO.數據表

--sp_addlinkedserver /sp_addlinkedsrvlogin 是兩個系統存在的存儲過程(master中,可以使用數據分析器-對象搜索=搜索到,可打開查看仔細內容或看幫助。

--對象名稱我們也可以使用本地或遠程資料庫對象,其中遠程資料庫需要依照上述方法進行注冊和登錄,即可實現。

F. 在oracle數據字典里頭,x$bh和x$ksmsp這兩個表是拿來干什麼的啊

x$bh--buffer header 它記錄了數據塊頭信息,比如這個塊被touch了多少次(tch欄位),被touch的越多就表示這個塊越搶手。

x$ksmsp是 shared pool中條目相關信息

G. oracle spplication是什麼意思

oracle supplication
甲骨文公司

H. Oracle中觸發器有幾種,用法與SQL Server一樣嗎謝謝

ORACLE觸發器有以下兩類:
1
語句級(Statement-level)觸發器,在CREATE
TRIGGER語句中不包含FOR
EACH
ROW子句。語句級觸發器對於觸發事件只能觸發一次,
而且不能訪問受觸發器影響的每一行的列值。一般用語句級觸發器處理有關引起觸發器觸發的SQL語句的信息——例如,由誰來執行
2
行級(Row-level)觸發器,在CREATE
TRIGGER語句中包含FOR
EACH
ROW子句。行級觸發器可對受觸發器影響的每一行觸發,並且能
夠訪問原列值和通過SQL語句處理的新列值。行級觸發器的典型應用是當需要知道行的列值時,執行一條事務規則。
SQL
Server支持兩種類型的觸發器:
AFTER
觸發器和INSTEAD
OF
觸發器。其中AFTER
類型觸發器要求只有執行某一操作(INSERT
UPDATE
DELETE)
之後,觸發器才被觸發,且只能在表上定義。可以為針對表的同一操作定義多個觸發器。對於AFTER
觸發器,可以定義哪一個觸發器被最先觸發,哪一個被最後觸發,通常使用系統過程sp_settriggerorder
來完成此任務。
INSTEAD
OF
觸發器表示並不執行其所定義的操作(INSERT、
UPDATE、
DELETE),而僅是執行觸發器本身。既可在表上定義INSTEAD
OF
觸發器,也可以在視圖上定義INSTEAD
OF
觸發器,但對同一操作只能定義一個INSTEAD
OF
觸發器。

I. oracle中的trigger有幾種啊

ORACLE資料庫有四種觸發器,分別是DML、Instead-of、DDL、DB觸發器,一般的應用系統中都是用到DML、Instead-of觸發器,DDL、DB兩種觸發器是DBA管理資料庫用得比較多

四種觸發器分別有不同的作用
一、DML觸發器:當發出UPDATE、INSERT、DELETE命令就可以觸發已定義好的DML觸發器,是最簡單和常用的一種觸發器
語法:
create or replace trigger trigger_name
after|before insert|update|delete
on table_name
for each row
二、Instead-of觸發器:當向一個由多個表聯接成的視圖作DML操作時,一般情況下是不允許的,這時候就可以用Instead-of觸發器來解決這種問題(在觸發器寫代碼分別對各表作相應DML操作),語法是這樣的:
create or replace trigger trigger_name
instead of insert|update|delete
on view_name
for each row
三、DDL觸發器:當發出CREATE、ALTER、DROP、TRUNCATE命令時會觸發已定義好的DDL觸發器,這種觸發器可以用來監控某個用戶或整個資料庫的所有對象的結構變化
語法:
create or replace trigger trigger_name
before|after create|alter|drop|truncate
on schema|database
例:
--禁止用CREATE、ALTER、DROP、TRUNCATE命令操作APPS用戶的對象
create or replace trigger apps_no_ddl
before create or alter or drop or truncate
on apps
begin
raise_application_error(-20001,'不允許用DDL操作APPS用戶的對象');
end;
四、DB事件觸發器:當STARTUP、SHUTDOWN、LOGON、LOGOFF資料庫時就會觸發DB事件觸發器,這種觸發器可以用來監控資料庫什麼時候關閉/打,或者用戶的LOGON/LOGOFF資料庫情況
語法:
create or replace trigger trigger_name
before|after startup|shutdown|logon|logoff
on database
例:
--記錄資料庫關閉的時間(shutdown類型要用關鍵字before,startup用after)
create or replace trigger db_shutdown
before shutdown
on database
begin
insert into test_tbl(log_event) values('db shutdown at '||to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
commit;
end;
--記錄用戶LOGON時間(logoff類型要用關鍵字before,logon用after)
create or replace trigger user_logon_db
after logon
on database
begin
insert into test_tbl(username,logon_time) values(user,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
commit;
end;
注意:要創建DDL和DB事件這兩種觸發器必須要有DBA的許可權才行