
常见文件扩展名大全
很多后缀不认识。。。要学习:)
a 对象代码库文件
aam authorware shocked文件
aas authorware shocked包
abf adobe二进制屏幕字体
abk coreldraw自动备份文件
abs 该类文件有时用于指示一个摘要(就像在一篇有关科学方面的文章的一个摘要或概要,取自abstract)
ace ace压缩档案格式
acl coreldraw 6键盘快捷键文件
acm windows系统目录文件
acp microsoft office助手预览文件
acr 美国放射医学大学文件格式
act microsoft office助手文件
acv os/2的驱动程序,用于压缩或解压缩音频数据
ad after dark屏幕保护程序
ada ada源文件(非-gnat)
adb ada源文件主体(gnat);hp100lx组织者的约定数据库
add os/2用于引导过程的适配器驱动程序
adf amiga磁盘文件
adi autocad设备无关二进制绘图仪格式
adm after dark多模块屏幕保护;windows nt策略模板
adp faxwork用于传真调制解调器的交互安装文件;astound dynamite文件
adr after dark随机屏幕保护;smart address的地址簿
ads ada源文件说明书(gnat)
afm adobe的字体尺度
af2,af3 abc的flowchat文件
ai adobe illustrator格式图形
aif,aiff 音频互交换文件,silicon graphic and macintosh应用程序的声音格式
aifc 压缩aif
aim aol即时信息传送
ais acdsee图形序列文件;velvet studio设备文件
akw robohelp的帮助工程中所有a-关键词
alaw 欧洲电话音频格式
alb jasc image commander相册
all 艺术与书信库
ams velvet studio音乐模块(mod)文件;extreme的tracker模块文件
anc canon computer的调色板文件,包含一系列可选的颜色板
ani windows系统中的动画光标
ans ansi文本文件
ant simant for windows中保存的游戏文件
api adobe acrobat使用的应用程序设计接口文件
apr lotus approach 97文件
aps microsoft visual c++文件
arc lh arc的压缩档案文件
ari aristotle声音文件
arj robert jung arj压缩包文件
art xara studio绘画文件;canon crayola美术文件;clip art文件格式;另一种光线跟踪格式;aol使用的用johnson—grace压缩算法压缩的标记文件
asa microsoft visual interdev文件
asc ascⅱ文本文件;pgp算法加密文件
asd microsoft word的自动保存文件;microsoft高级流媒体格式(microsoft advanced streaming format,asf)的描述文件;可用nsrex打开 velvet studio例子文件
ase velvet studio采样文件
asf microsoft高级流媒体格式文件
asm 汇编语言源文件,pro/e装配文件
aso astound dynamite对象文件
asp 动态网页文件;procomm plus安装与连接脚本文件;astound介绍文件
ast astound多媒体文件;clarisworks"助手"文件
asv datacad自动保存文件
asx cheyenne备份脚本文件;microsoft高级流媒体重定向器文件,视频文件
att at< group 4位图文件
atw 来自个人软件的any time deluxe for windows个人信息管理员文件
au sun/next/dec/unix声音文件;音频u-law(读作"mu-law")文件格式
avb computer associates inoculan反病毒软件的病毒感染后文件
avi microsoft audio video interleave**格式
avr audio visual research文件格式
avs 应用程序可视化格式
awd faxvien文档
awr telsis数字储存音频文件扩展名格式
axx arj压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字)
a3l authorware 3x库文件
a4l authorware 4x库文件
a5l authorware 5x库文件
a3m,a4m authorware macintosh未打包文件
a4p authorware无运行时间的打包文件
a3w,a4w,a5w 未打包的authorware windows文件
bak 备份文件
bas basic源文件
bat 批处理文件
bdf west point bridger designer文件
bfc windows 95 briefcase文档
bg backgammon for windows下的游戏文件
bgl microsoft flight simulator(微软飞行模拟器)的视景文件
bi 二进制文件
bif group wise的初始化文件
biff xlife 3d格式文件
bin 二进制文件
bk,bk$ 有时用于代表备份版本
bks ibm bookmanager read书架文件
bmk 书签文件
bmp windows或os/2位图文件
bmi apogee biomenace数据文件
book adobe framemaker book文件
box lotus notes的邮箱文件
bpl borlard delph 4打包库
bqy brioquery文件
brx 用于查看多媒体对象目录的文件
bsc ms developer studio浏览器信息文件
bsp quake图形文件
bs1 apogee blake stone数据文件
bs_ microsoft bookshelf find菜单外壳扩展名
btm norton 应用程序使用的批处理文件
bud quicken的备份磁盘
bun cakewalk 声音捆绑文件(一种midi程序)
bw sgi黑白图像文件
bwv 商业波形文件
byu byu的**文件格式
b4 helix nuts and bolts文件
c c代码文件
c0l 台风波形文件
cab microsoft压缩档案文件
cad softdek的drafix cad文件
cal cals压缩位图;日历计划表数据
cam casio照相机格式
cap 压缩音乐文件格式
cas 逗号分开的ascⅱ文件
cat quicken使用 的intellcharge分类文件
cb microsoft干净引导文件
cbi 二进制卷格式文件(用于ibm大型机系统)
cc visual dbase用户自定义类文件
cca cc:邮件文件
ccb visual basic动态按钮配置文件
ccf 多媒体查看器配置文件,用于os/2
cch corel图表文件
ccm lotus cc:邮箱(例如"inboxccm")
cco cyberchat数据文件
cct macromedia director shockwave投影
cda cd音频轨道
cdf microsoft频道定义格式文件
cdi philip的高密盘交互格式
cdm visual dbase自定义数据模块文件
cdr coreldraw绘图文件;原始音频cd数据文件
cdt coreldraw模板
cdx coreldraw压缩绘图文件;microsoft visual foxpro索引文件
cel cimfast事件语言文件
cer 证书文件(mime x-x509-ca-cert)
cfb compton的多媒文件
cfg 配置文件
cfm cotdfusion模板文件;visual dbase windows用户定制表单
cgi 公共网关接口脚本文件
cgm 计算机图形元文件
ch os/2配置文件
chk 由windows磁盘碎片整理器或磁盘扫描保存的文件碎片
chm 编译过的html文件
chr 字符集(字体文件)
chp ventura publisher章节文件
cht chartviem文件;harvard graphics矢量文件
cif adaptec cd 创建器 cd映像文件
cil clip gallery下载包
cim simcity 2000文件
cin os/2改变控制文件用于跟踪ini文件中的变化
ck1 id/apogee commander keen 1数据文件
ck2 id/apogee commander keen 2数据文件
ck3 id/apogee commander keen 3数据文件
ck4 id /apogee commander keen 4数据文件
ck5 id /apogee commander keen 5数据文件
ck6 id /apogee commander keen 6数据文件
class java类文件
cll crick software clicker文件
clp windows 剪贴板文件
cls visual basic类文件
cmd windows nt,os/2的命令文件;dos cd/m命令文件;dbaseⅱ程序文件
cmf corel元文件
cmg chessmaster保存的游戏文件
cmp jpeg位图文件;地址文档
cmv corel move动画文件
cmx corel presentation exchange图像
cnf telnet,windows和其他其内格式会发生改变的应用程序使用的配置文件
cnm windows应用程序菜单选项和安装文件
cnq compuworks design shop文件
cnt windows(或其他)系统用于帮助索引或其他目的内容文件
cob truespace 2对象文件
cod microsoft c编译器产生的可显示机器码/汇编代码文件,其中附有源c代码作为注释
com 命令文件(程序)
cpd corel print office文件(图形)
cpd,cpe 传真覆盖文档
cpi microsoft ms-dos代码页信息文件
cpl 控制面板扩展名,corel颜色板
cpo corel打印存储文件
cpp c++代码文件
cpr corel提供说明书文件
cpt corel 照片-绘画图像
cpx corel presentation exchange压缩图形文件
crd windows cardfile文件
crp corel 提供的运行时介绍文件;visual dbase自定义报表文件
crt 认证文件
csc corel脚本文件
csp pc emcee on_screen图像
css 瀑布式表格文件
cst macromedia director cast文件
csv 逗号分隔的值文件
ct scitex ct位图文件;paint shop pro grapic编辑器文件
ctl 通常用于表示一个包含控件信息的文件;faxwork用它来保持有关每个传真收到或发出的信息
cue microsoft提示牌数据文件
cur windows光标文件
cut dr halo位图文件
cv corel版本的档案文件;microsoft codeview信息屏幕文件
cwk clarisworks数据文件
cws clarisworks模块
cxt macromedia director受保护的(不可编辑的)投影文件
cxx c++源代码文件
dat 数据文件;wrodperfect合并数据文件;用于一些mpeg格式的文件
db borland的paradox 7表
dbc microsoft visual foxpro数据库容器文件
dbf dbase文件,一种由ashton-tate创建的格式,可以被act!、lipper、foxpro、arago、wordtech、xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被excel 97打开);oracle 81x表格空间文件
dbx databearn图像;microsoft visual foxpro表格文件
dcm dcm模块格式文件
dcr 冲击波文件
dcs 桌面颜色分隔文件
dct microsoft visual foxpro数据库容器
dcu delphi编译单元文件
dcx microsoft visual foxpro数据库容器;基于pcx的传真图像;宏
dc5 datacad绘图文件
ddf btrieve或xtrieve数据定义文件,它包含用于描述btrieve或xtrieve文件的元数据
ddif digital equipment或 compaq格式,用于保存他们图像与字处理文档
def smartwareⅱ数据文件;c++模块定义文件
defi oracle 7 卸载脚本文件
dem 用于表示数字高度模型的usgs基准的文件
der 认证文件
dewf macintosh sound cap/sound edit录音设备格式
dgn macintosh 95 cad绘图文件
dib 设备无关位图
dic 目录
dif 可进行数据互换的电子表格
dig digilink格式;sound designerⅰ音频文件
dir macromediadirector文件
diz 描述文件
dlg c++对话框脚本文件
dll 动态链接库
dls 可下载声音文件
dmd visual dbase数据模块文件
dmf x-trakker音乐模块(mod)文件
doc framemaker或framebuilder文档;word star文档、word perfect文档、microsoft word文档;displaywrite文档
dot microsoft word文档模板
dpl borland delph3压缩库
dpr borland delphi工程头文件
draw acorn的基于对象的矢量图像文件
drv 驱动程序
drw micrografx designer/draw;pro/e绘画文件
dsf micrografx designer vfx文件
dsg doom保存的文件
dsm dynamic studio音乐模块(mod)文件
dsp microsoft developer studio工程文件
dsq corel query(查询)文件
dst 刺绣机图形文件
dsw microsoft developer studio工作区文件
dta word bank(世界银行)的stars数据文件
dtd sgml文档类型定义(dtd)文件
dted 地面高度数字数据(图形的数据格式)文件
dtf symantec q&a相关的数据库数据文件
dtm digitrakker模块文件
dun microsoft拔号网络导出文件
dv 数字视频文件(mime)
dwd diamondware数字化文件
dwg autocad工程图文件;autocad或generic cadd老版本的绘图格式
dxf 可进行互交换的绘图文件格式,二进制的dwg格式的文本表示;数据交换文件
dxr macromedia director受保护(不可编辑)**文件
d64 commodore的64位模拟磁盘图像文件
eda ensoniq asr磁盘映像
edd 元素定义文档(framemaker+sgml文档)
ede ensoniq eps磁盘映像
edk ensoniq kt磁盘映像
edq ensoniq sq1/sq2/ks32磁盘映像
eds ensoniq sq80磁盘映像
edv ensoniq vfx-sd磁盘映像
efa ensoniq asr文件
efe ensoniq eps文件
efk ensoniq kt文件
efq ensoniq sq1/sq2/ks32文件
efs ensoniq sq80文件
efv ensoniq vfx-sd文件
emd abt扩展模块
emf windows增强元文件
eml microsoft outlook express邮件消息(mime rtc822)文件
enc 重演文件
enff 中性文件格式扩展名
ephtml perl解释增强html文件
eps 压缩的postscript图像
epsf 压缩的postscript文件
eri erwin文件
err 当roboohelp帮助编译器企图编译一个帮助系统源文件时用来存储错误消息的文件
epx erwin文件
esps esps音频文件
eui ensoniq esp家族的压缩磁盘映像
evy 特使文档
ewl microsoft encarta文档
exc microsoft word禁止字字典
exe 可执行文件(程序)
f fortran文件
f2r farandoyle线性模块格式
f3r farandoyle分块线性模块格式
f77 fortran文件
f90 fortran文件
far fradole composer音乐模块(mod)文件
fav microsoft outlook导航条
fax 传真类型图像
fbk navison 金融备份
fcd 虚拟cd-rom
fdb navison 金融数据库
fdf adobe acrobat表单文档文件
fem cadre有限元素网络文件
ffa,ffl,ffo,ffk microsoft快速查找文件
fff gus pnp银行文件格式
fft 最终格式文本(ibm的dca一部分)
fh3 aldus freehand 3绘图文件
fif fractal图像文件
fig rend386/avril使用的文件格式
fits ccd照相机图像;灵活图像传输系统
fla macromedia flash**
flc autodesk flic动画文件
flf corel paradox产生的格式:navison financials许可文件;os/2驱动程序文件
pli autodesk flic动画
flt startrekker音乐模块(mod)文件;multigen inc的open flight使用的文件格式;corel过滤器文件
fm adobe framemaker文档
fmb oracle40版或以后版本表单的二进制源代码文件
fml 文件镜象列表(getright)
fmt oracle 40版或以后版本表单的文本格式;microsoft schedule+ 打印文件
fmx oracle 40版或以后版本可执行表单
fnd microsoft explorer保存的搜索文件(find applet)
fng 字体组文件(字体导航器,font navigator)
fnk funk tracker模块格式
fog fontographer模块字体
fon 系统字体
for fortran文件
fot 字体相关文件
fp filemaker pro文件
fp1 flying pigs for windows数据文件
fp3 filemaker pro文件
fpt filemaker pro文件;microsoft fox pro备注字体文件
fpx flashpix位图
frm 表单;frame maker或frame builder文档;oracle可执行表(30版或早期版本);visual basic表单;wordperfect merge表单;datacad标志报表文件
frt microsoft foxpro报表文件
frx visual basic表单文本;microsoft foxpro报表文件
fsf fprint audit tool文件格式
fsl borland的paradox 7表单;corel paradox保存的表单
fsm parandoyle示例格式
ft lotus notes全文本索引
ftg 全文本搜索组文件,由windows帮助系统查找时产生——可以删除,并在需要时重建起来
fts 全文本搜索引文件,由windows帮助系统查找时产生
fw2 framework ⅱ文件
fw3 framework ⅲ文件
fw4 framework ⅳ文件
fxp 经microsoft foxpro编译的源文件
fzb casio fz-1银行转储
fzf casio fz-1完全转储
fzv casio fz-1声音转储
g721 raw ccitt g721 $bit adpcm格式数据
g723 raw ccitt g723 3或5bit adpcm格式数据
gal corel多媒体管理器相集
gcd generic cadd绘画文件(后续版本)
gcp ground control point(地面控制点)文件,用于远景数据形成图像过程,经常用于生成图工程—chips(copenhagen image processing system)使用这些文件
gdb interbase数据库文件
gdm 铃声、口哨声和声音板模块格式
ged gedcom 系谱数据文件,用于记录和交换系谱数据的流行格式;图形环境文档绘画
gem gem元文件
gen ventura产生的文本文件
getright getright未完成的下载文件
gfc patton&patton flowcharting 4 flowchart文件
gfi,gfx genigraphics图形链接表示文件
gho norton 克隆磁盘映像
gid windows 95全局索引文件(包括帮助状态)
gif compuserve位图文件
gim,gix genigraphics图形链接介绍文件
gkh ensoniq eps家簇磁盘映像文件
gks gravis grip key文档
gl 动画格式
gna genigraphics图形链接介绍文件
gnt 生成代码,micro focus属性格式里的可执行代码
gnx genigraphics图形链接介绍文件
gra microsoft graph文件
grd 用于远程视景数据产生地图过程的格式文件,通常应用于形成地图工程—chips(copenhagen image processing system)使用这些文件
grf grapher(golden software公司)图形文件
grp 程序管理组
gsm raw gsm 610音频流;raw"byte aligned(比特对齐的)" gsm 610音频流;us robotics语音调制解调器
gtk graoumftracker(老)音乐模块(mod)文件
gt2 graoumftracker(新)音乐模块(mod)文件
gwx,gwz cenigraphis图形链接介绍文件
gz unix gzip压缩文件
h c程序头文件
hcm ibm hcm配置文件
hcom 声音工具hcom格式
hcr ibm hcd/hcm产品配置文件
hdf 高级计算机应用程序本地中心(ncsa) geospatial hierarchial数据格式文件
hed highedit文档
hel microsoft hellbender格式保存的游戏文件
hex macintosh binhex20文件
hgl hp图形语言绘图文件
hh 映射文件,包括一些话题id和在帮助文件系统中话题的映射数字—允许运行中应用程序发送给用户合适的上下文帮助话题
hlp 帮助文件;date cad windows帮助文件
hog lucas arts的dark forces wad文件
hpj visual basic帮助工程
hpp c++程序头文件
hqx macintosh binhex 40文件
hst 历史文件
ht hyperterminal(超级终端)
htm,html 超文本文档
htt microsoft超文本模板
htx 扩展html模板
hxm descent2 ham文件扩展
ica citrix文件
icb targa位图文件
icc kodak打印机格式文件
icl 图标库文件
icm 图形颜色匹配配置文件
ico windows图标
idb msdev中间层文件
idd midi设备定义
idf midi设备定义(windows 95需要的文件)
idq internet数据查询文件
idx microsoft foxpro相关数据库索引文件;symantec q&a相关数据库索引文件;microsoft outlook express文件
iff 交换格式文件;amiga ilbm
iges 初始图形交换说明文件
igf 插入系统元文件
iif quickbooks for windows交换文件
ilbm 位图图形文件
ima winimage磁盘映像文件
img gem映像
imz winimage压缩磁盘映像文件
inc 汇编语言或动态服务器包含文件
inf 信息文件
ini 初始化文件;mwave dsp synth的"nwsynthini" gms安装;cravis ultrasound bank安装
inp oracle 30版或早期版本的表单源代码
inrs inrs远程通信声频
ins installshield安装脚本;x-internet签字文件;ensoniq eps字簇设备;cell/ⅱmac/pc抽样设备
int 中间代码,当一个源程序经过语法检查后编译产生一个可执行代码
iof findit文档
iqy microsoft internet查询文件
iso 根据isd 9660有关cd-rom文件系统标准列出cd-rom上的文件
isp x-internet签字文件
ist 数字跟踪设备文件
isu installshield卸装脚本
it 脉冲跟踪系统音乐模块(mod)文件
iti 脉冲跟踪系统设备
its 脉冲跟踪系统抽样,internet文档位置
iv open inventor中使用的文件格式
ivd 超过20/20微观数据维数或变量等级文件
ivp 超过20/20的用户子集配置文件
ivt 超过20/20表或集合数据文件
ivx 超过20/20微数据目录文件
iw idlewild屏幕保护程序
iwc install watch文档
j62 ricoh照相机格式
jar java档案文件(一种用于applet和相关文件的压缩文件)
java java源文件
jbf paint shop pro图像浏览文件
jff,jfif,jif jpeg文件
jmp sas的jmpdiscovery表格统计文件
jn1 epic megagames的jill of the jungle数据文件
jpe,jpeg,jpg jpeg图形文件
js javascript源文件
jsp html网页,其中包含有对一个java servlet的参考
jtf jpeg位图文件
k25 kurzweil 2500抽样文件
kar 卡拉ok midi文件(文本+midi)
kdc kodak光增强器
key datacad图标工具条文件
kfx kofak group 4图像文件
kiz kodak数字明信片文件
kkw robohelp帮助工程索引设计器中与主题无关的k开头的所有关键字
kmp korg trinity keymap文件
kqp konica照相机本地文件
kr1 kurzweil 2000抽样(多软驱)文件
krz kurzweil 2000抽样文件
ksf korg trinity抽样文件
kye kye游戏数据
lab visual dbase标签文件
lbm deluxe paint位图文件
lbt,lbx microsoft foxpro标签文件
ldb microsoft access加锁文件
ldl corel paradox分发库
leg legacy文档
les logitech娱乐系统游戏配置文件(与rec文件一样)
lft 3d studio(dos)放样文件
lgo paintbrush(microsoft画图应用程序)的徽标文件
lha lzh更换文件后缀
lib 库文件
lin datacad线型文件
lis 结构化查询报告(sqr)程序产生的输出文件
llx laplink交换代理
lnk windows快捷方式文件
log 日志文件
lpd helix nut和bolt文件
lrc intel可视电话文件
lsl corel paradox保存的库文件
lsp autolisp、commonlisp和其他lisp语言文件
lst 列表文件
lu thoughtwing库单元文件
lvl parallax software的 miner descent/d2 level扩展
lwlo lightwave分层对象文件
lwob lightwave对象文件
lwp lotus wordpro 96/97文件
lwsc lightwave视景文件
lyr datacad层文件
lzh lh arc压缩档案
lzs skyroads数据文件
m1v mpeg相关文件(mime"mpeg"类型)
m3d corel motion 3d动画文件
m3u mpeg url(mime声音文件)
mac macpaint图像文件
mad microsoft access模块文件
maf microsoft access表单文件
mag 在一些日本文件中发现的图形文件格式
magic 魔力邮件监视器配置文件
mak visual basil或microsoft visual c++工程文件
mam microsoft access宏
man unix手册页输出
map 映射文件;duke nukem 3d wad游戏文件
maq microsoft access查询文件
mar microsoft access报表文件
mas lotus freelance graphics smart master文件
mat microsoft access表;3d studio max材料库
maud maud抽样格式
max kinetx的3dstudio max文件;该格式用于一个3d场景文件;paperport文件;orcad设计文件
maz hover迷路数据;division的dvs/dvise使用的文件格式
mb1 apogee monster bash数据文件
mbox berkeley unix邮箱格式
mbx microsoft outlook保存email格式;eudora邮箱
mcc dailerl0呼叫卡
mcp metrowerks codewarrior工程文件
mcr datacad键盘宏文件
mcw microsoft word的macintosh文档
mda microsoft access内抽入器;microsoft access 20版及其后续版本的工作组事件
mdb microsoft access数据库
mde microsoft access mde文件
mdl 数字跟踪器音乐模块(mod)文件;quake模 块文件
mdn microsoft access空数据库模板
mdw microsoft access工作组文件
mdz microsoft access向导模板文件
med 音乐编辑器,octamed音乐模块(mod)文件
mer 电子表格/数据库数据交换格式;filemaker、excel及其他软件能识别
met 表示管理器元文件
mfg pro/engineer制造文件
mgf 在材料与几何学里的文件格式
mhtm,mhtml mhtml文档(mime)
mi 杂项
mic microsoft image composer文件
mid midi音乐
mif adobe frammaker交换格式
miff 与机器无关格式文件
mim,mime,mme internet邮件扩展格式的多用途文件,经常作为发送e-mail时在aol里附件而创建的文件;在一个多区mim文件里的文件能用winzip或其他类似程序打开
mli 3d studio的材料库格式文件
mmf meal master格式;一个处方类格式;microsoft邮件文件
mmg 超过20/20表或集会数据文件
mmm microsoft多媒体**
mmp mindmapor mind manager文件
mn2 descent2任务文件
mnd,mni mandelbort for windows
mng 多映像网络图形
mnt,mnx microsoft foxpro菜单文件
mnu visual dbase菜单文件;intertel systems interact菜单文件
mod fast tracker、star trekker、noise tracker(等等)音乐模块文件;microsoft多计划电子表格;amiga/pc磁道文件
mov quicktime for windows**
mp2 第二层mpeg音频文件
mp3 第三层mpeg音频文件
mpa mpeg相关文件,mime"mpeg类型"
mpe,mpeg,mpg mpeg动画文件
mpp microsoft工程文件;cad绘图文件格式
mpr microsoft foxpro菜单(已编译)
mri mri扫描文件
msa 魔术阴影档案
msdl manchester的场景描述语言
msg microsoft邮件消息
msi windows 安装器包
msn microsoft网
oracle不是不能,而是采用的方法不同罢了。
可以使用一下方法创建返回结果集的调用:
SQL> create or replace package pkg_HelloWorld as
2 -- 定义ref cursor类型
3 type myrctype is ref cursor;
4 --函数申明
5 function getHelloWorld return myrctype;
6 end pkg_HelloWorld;
Package created
SQL> CREATE OR REPLACE package body pkg_HelloWorld as
2 function getHelloWorld return myrctype
3 IS
4 return_cursor myrctype;
5 BEGIN
6 OPEN return_cursor FOR 'SELECT ''Hello'' AS a, ''World'' AS B FROM dual';
7 return return_cursor;
8 END getHelloWorld;
9 end pkg_HelloWorld;
Package body created
SQL> SELECT pkg_HelloWorldgetHelloWorld FROM dual;
GETHELLOWORLD
--------------------
CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
A B
---------- ----------
Hello World
你好像发重复了
CREATE OR REPLACE FUNCTION fun_get_met_cas_diagnose(inpatient VARCHAR2)
RETURN t_table IS
rs t_table := t_table();
BEGIN
rsextend(1);
SELECT obj_table(ticd_code, trow_num, tdiag_name)
INTO rs(1)
FROM (SELECT dicd_code, ddiag_name, rownum row_num
FROM met_cas_diagnose d
WHERE dinpatient_no = inpatient
AND ddiag_kind = '1'
ORDER BY dhappen_no) t;
RETURN rs;
END fun_get_met_cas_diagnose;
1 付键 也就是FK formary key
程序交流中心,这是专门为新手学习设立的论坛
二、SQL
Structur query language
结构化查询语言,是 *** 作关系型数据库中的对象。
DDL(Data definition language 数据定义语言),用于建表或删表 *** 作,以及对表约束进行修改
create table , alter table , drop table 对表结构的增删 *** 作。
DML(Data manipulation language 数据 *** 作语言),向表中插入纪录,修改纪录
insert , update , delete , merge
transaction ,事务控制语言,由DML语句组成的,commit; ,rollback;
select 查询语句
dcl 授权语句 grant
三、Oracle
DBMS 数据库管理系统
有Oracle提供,还提供AS,应用服务器
DBA 数据库管理员
四、相关 *** 作
1、sqlplus 访问数据库命令(本地访问/远程访问),和数据库建立连接的命令,是数据库 *** 作的环境
sqlplus 用户名/密码
2、show user 显示当前用户的用户名
改变身份可以直接connect 用户名/密码 --- 这个是sqlplus命令
在sqlplus中可以使用 ! 可以在shell和sqlplus间切换,!shell命令 可以在sqlplus中使用shell命令。
实际上是sqlplus开了子进程来执行shell命令。
3、Oracle数据库中的表分两类:用户表(用户使用 *** 作的表),系统表(数据库系统维护的表,也叫数据字典)
对用户表的DDL *** 作出发了对系统表的DML *** 作!
五、基本语法
1、select查询语句
select table_name from user_tables;(查询系统表)
以上的查询语句就是查询本用户下所拥有的所有表的表名。
投影 *** 作,只查看选择的字段的信息。
选择 *** 作,查看字段中的特定某些信息。
联接 *** 作,多表查询,通过表间连接,查寻出多表中的信息
(1)select table_name from user_tables;(查询系统表)
以上的查询语句就是查询本用户下所拥有的所有表的表名。
(2)sqlplus的buffer中会缓存最后一条sql语句,可以使用"/"来执行这最后一条sql语句,也可以使用
edit命令来编辑最后一条sql语句。
l命令(list)(sqlplus命令)可以显示buffer中最后一条命令。
sqlplus命令可以缩写
(3)desc [表名]
这是一条sqlplus命令,注意他不是sql语句,这条命令用于查看表的结构。descript的缩写
[字段名] [字段的类型],这是使用完desc命令后显示的表结构。
(4)select [表的字段名1],[表的字段名2], from 表名;
select from 表名; 查寻表中所有字段的信息
(5)关键字不等拆分,sql语句,以及表名,字段名是大小写不敏感的。
sql语句要以";"结尾,来表示sql语句结束,如果不加";"系统不会执行此条sql语句,并提示。
在Oracle中字符显示是左对齐,数值右对齐。
(6)在select 语句中可以使用数学表达式。
select [表达式(必须包含本表字段名)],[], from 表名;
运算的优先级的先乘除后加减,同级自左向右运算,括号改变优先级。
(7)别名
select [字段名或表达式] ["别名"],[] [""], from 表名;
可以通过在字段名或表达式后加空格"别名",可以给列,或者表达式结果其别名。
表达别名必须加双引号。
(8)字符串拼接使用||符号
select 目标字段名||" "||目标字段名 from 表名;
注意:在Oracle中的字符串要用''包含
别名中需要使用空格,或是大小写敏感时需要用""包含。
练习:
自己写一条SQL语句,执行的结果是select from ;
其中是每张系统表的表名
即在每张系统表的表名前加“select from” ,后加“;”
select 'select from '||table_name||';' from user_tables;
2、处理错误
(1)!oerr ora [错误号] ,系统可以显示错误的原因和如何修改。如果命令错误输入可以使用edit或ed来修改输入错误。
实际上是在编辑缓存文件中的最后一条sql语句。
也可以使用 (change) c /错误字段/正确字段,来进行替换 *** 作进行修改。
只有在Linux平台使用
! 相当于 host ,没有断连接,只是切换了一下,执行shell命令
(2)edit命令来编辑最后一条sql语句。
3、sqlplus设置
set pause on 回车响应,分屏显示,只在本会话中有效
set pause off 关闭分屏显示。
set pause "" 设置分屏显示的提示信息。
set pause on 先输出提示信息,回车响应,分屏显示
set head off 提头输出关闭
set feed off 结尾输出关闭
set echo off 回写关闭
spool 文件名sql 写入指定文件
spool off 关闭写入。
4、sql脚本
也就是在文件中写有sql语句的文件,可以在sqlplus中运行。
引入sql脚本
sqlplus 用户名/密码 @sql脚本 (注意:在用户名密码输入结束后一定要加空格然后再写@sql脚本)
在脚本中最后一行写上“exit”,则运行完脚本以后,回到shell上
5、
Oracle中的空值 空值会当无穷大处理,其实空值根本就不会存储,只是看作是无穷大。
Oracle中控制处理函数 NVL(字段名,值),这个字段中的空值替换为指定值,如果不为空,则会返回其原值。
例:select (salary12)(NVL(commission_pct,0)/100+1) salary,first_name from s_emp;
distinct关键字,去掉重复行(这个关键字会触发排序 *** 作)
例: select distinct dept_id,title from s_emp;
dept_id与title的联合不唯一
注意:distinct,关键字之后会对from之前的字段进行排重 *** 作。
6、column命令 --- sqlplus命令
column命令 列格式的定义
column 目标列名 查看这个类是否定义了格式
column 目标列名 format a 设置列宽。
column last_name heading 'Employee|Name' FORMAT A15
设置题头
这其中的'|'是换行符
column salary justify left format $99,99000
定义数字显示格式
注意:如果不满足显示的格式,就会把数据显示为"#"
column salary justify left format $00,00000
会出现$00,92800 ,用0补齐
column 列名 clear (清除列格式定义)
注意:只有sqlplus命令才有简写,并且在使用sqlplus命令时结尾也不能加分号。
六、选择 *** 作
1、order by
排序子句 ASC(默认,升序) DESC(降序)
order by 目标列名(别名) 排序顺序(不写排序顺序,会默认为升序排序)
例:select first_name from s_emp order by first_name;
select first_name from s_emp order by first_name desc;
注意:升序空值在结果的末尾,降序空值在结果的最前面。
2、where子句
where子句使用在 select from 后面,用来选择所需(符合条件的)的记录
where后面跟的是表达式 也就是 XXX=XXX, XXX between X and X ,XXX in(X,X,X)
like '' 通配查询
between and ,表示结果在这之间,between and是一个闭区间,
也就相当于 <= and >= 。
!=,<>,^=,这三个都标识不等于,<=,>=,=,这些运算符都可以使用。
in (va1,val2,) 判断结果是否在这个枚举中存在
like '' 字符串通配查询,'%'表示多个字符,'_',表示一个字符。
注意:转义的用法:like ‘S\_%’ escape ‘\’
and 表示只有两个条件同时满足
or 表示条件只要满足其中只一就可以
all 是要求都满足条件。
not ,则是可以与以上的条件产生反效果。
空值会对not in造成影响,也就是不等于任何值,但是空值例外。
is null 使用来判断值是否为空。
注意:Oracle中的字符串是严格区分大小写的。
(1)注意数据类型,数字类型直接写,字符用'' ,缺省格式的Date可以用'',只有别名
才用" "包含。
(2)选择合适的运算符
七、单行函数
1字符函数
字符是大小写敏感的
转小写 lower(字段名) --- 其中的参数可以是一个字符串常量或是一个字段名
转大写 upper(字段名)
首字母大写 initcap(字段名)
字符串拼接 concat(字段1, 字段2)
截取子串 substr(字段名, 起始位置,取字符个数)
dual表,是专门用于函数测试和运算的,他只有一条记录
字符串拼接 concat(,)
求指定子串 substr(,起始位置,取字符个数)
可以使用"-"表示从右向左取,取的时候可以从左往友取。
例:select substr(first_name,-2,2) sub from s_emp;(取后两个)
select substr(first_name,2,2) sub from s_emp;(取前两个)
2,数值函数
四舍五入 round(数据,保留小数点后几位)
可以用负数表示小数点前,0,表示小数点后第一位,也就是保留个位,-1表示个位(保留到十 位)。
例:select round(1536,1) from dual;
截取数字函数 trunc(数据,保留的位数(小数点后位数)) 截取个位之后补0
例:select trunc(123456,1) from dual;
3,日期函数
日期格式,
全日期格式 世纪信息,年月日,时分秒。
缺省日期格式,日-月-年 dd-mon-rr
修改当前会话的日期格式,会按照指定的格式输出日期
alter session set nls_date_format='yyyy mm dd hh24:mi:ss';
返回当前日期 sysdate
例:select sysdate from dual;
select sysdate+1 from dual; 获得明天的日期,加1,单位是天
日期是格式敏感的
求两个日期间相隔了多少个月 months_between(date1,date2)
加减指定数量的月份 add_months(date,月数),月数可以为负,负值就是减去相应的月数。
从date日期开始的第一个星期五 next_day(date,FriDay)
返回月末的日期 last_day(date)
截取日期 trunc(date,'年或月或日或时分秒')
例:select next_day(sysdate,2) from dual;
例:select trunc(add_months(sysdate,1),'month') from dual;
ROUND('25-MAY-95','MONTH') 01-JUN-95
ROUND('25-MAY-95 ','YEAR') 01-JAN-95
TRUNC('25-MAY-95 ','MONTH') 01-MAY-95
TRUNC('25-MAY-95 ','YEAR') 01-JAN-95
练习:
返回下个月的第一天的日期
select round(last_day(sysdate),'MONTH') from dual;
select add_months(trunc(sysdate,'MONTH'),1);
4,不同数据类型间转换函数
将日期转成字符 tochar(date,'日期格式')
日期格式要用有效格式,格式大小写敏感 'yyyy mm dd hh24:mi:ss',
'year'(全拼的年),'mm'(数字表示的月) 'month'(全拼的月),'day'(星期的全拼),'ddspth' (日期的全拼) 'yy mm dd'
例:select to_char(sysdate,'yyyy mm dd hh24:mi:ss')from dual;
将字符转换成数字 to_number('')
将数字转字符to_char(number,'fmt') fmt是数字格式
将字符串转成日期 to_date('','日期格式')
例:select to_char(to_date('2006 11 03','yyyy mm dd'),'dd-month-yy') from dual;
1、等值连接
select [表别名1字段名1],[表别名2字段名2],
from 表1 表别名1 ,表2 表别名2
where 表别名1字段名3=表别名2字段名4;
表连接时,当表与表之间有同名字段时,可以加上表名或表的别名,加以区分,使用时要用
表名字段名或表别名字段名(列名)。当表的字段名是唯一时,可以不用加上表名或表的别名。
注意:当为表起了别名,就不能再使用表名字段名。
例:select afirst_name,alast_name,bname
from s_emp a,s_dept b
where adept_id=bid;
2、非等值连接
select [表别名1字段名1],[表别名2字段名2],
from 表1 表别名1 ,表2 表别名2
where 表别名1字段名3 表别名2字段名4
可以使比较运算符,也可以使其他的除了'='的运算符
例:select eename, dgrade,esal
from emp e,salgrade d
where esal between dlosal and dhisal;
3、自连接
用别名把一张表中的数据分成两部分,然后在使用条件过滤。
select [表别名1字段名1],[表别名2字段名2],
from 表1 表别名1 ,表1 表别名2
where 表别名1字段名3=表别名2字段名4;
例:select afirst_name ename,bfirst_name cname
from s_emp a,s_emp b
where amanager_id=bid;
以上所提到的表连接,都叫做内连接,严格匹配两表的记录。
4、外连接
会使用一方表中的所有记录去和另一格表中的记录按条件匹配,空值也会匹配,这个表中的所有记录都会显示,数据库会模拟出记录去和那些不匹配的记录匹配。
例:select afirst_name enamei,aid,bfirst_name cname,bid
from s_emp a,s_emp b
where amanager_id=bid(+);
即用a表中的数据去匹配b表的,若b表中有null,系统模拟纪录与其匹配
注意:要把那一方的记录全部都显示出来,还有注意条件(+)跟在要全部选出的对端。
外连接的应用:
列出哪个部门没有员工
select edeptno,ddeptno
from emp e,dept d
where edeptno(+)=ddeptno
and edeptno is null;
三、组函数
group 组
group by 分组子句,按指定的分组规则分组 ,这个group by 子句可以跟在 select 语句后或是 having后面。
group by子句也会出发排序 *** 作,会按分组字段排序。
select [组函数或分组的字段名] , from 表名 group by [字段名1],[字段名2],;
例:select avg(salary) from s_emp group by dept_id;
注意:组函数可以处理一组数据,返回一个值。
组函数会忽略空值。
avg(),求平均值,sum(),求和 这两个函数的参数只能是number型的。
以下所提到的函数可以使用任意类型做参数。
count(),用来统计记录数,可以使用排重命令。count()默认使用的是all。
max(),min()求最大值和最小值,
count(),统计表中记录数。
例:select max(bname),avg(asalary), max(cname)
from s_emp a,s_dept b,s_region c
where adept_id=bid and bregion_id=cid
group by bdept_id;
注意:只要写了group by子句,
select后就只能用group by后的字段或者是组函数。
where子句只能够过滤记录,放单行函数。
having子句可以过滤组函数结果或是分组的信息,且写在group by子句后。
例:
select max(bname),avg(asalary), max(cname)
from s_emp a,s_dept b,s_region c
where adept_id=bid and bregion_id=cid
group by bid
having sum(asalary)>4000;
column 也可以定义有别名的列的格式。
column "别名" 格式定义
注意:要先过滤掉不需要的记录,然后再进行分组 *** 作,提高效率。
四、子查询
子查询,就是可以嵌在任何的sql语句中的select语句。
在select语句中嵌套子查询时,会先执行子查询。一般的会将子查询放在运算符的右边。
注意:在使用子查询时,要注意这个运算符是单行的(也就是只能是单值),还是多行运算符(范围,多值,in)。
配合使用子查询返回的结果必须符合运算符的用法。
例:
select first_name,title
from s_emp
where title=any(select title from s_emp
where last_name='Smith')
and upper(last_name)!='SMITH';
select first_name,title
from s_emp
where title in (select title from s_emp
where last_name='Smith')
and upper(last_name)!='SMITH';
五、将业务需求转换成可 *** 作的表
一: 需求分析
二: 画E-R图
三: 转换成表关系
四: 割接(新老系统交接)
五:
E-R图属性:
为强制且非空属性
o 可选属性(可以有值也可以没有)
# 表示此属性唯一且非空
实体关系:
mastbean maybean
数量关系: 多对一关系
一对多关系
一对一关系
多对多关系
第一范式,所有的属性都必须是单值,也就是属性只表示单一的意义。(记录可以重复,没有任何限制)
第二范式,属性要求唯一且非空,(记录不可重复,但是数据可能会出现冗余)。
第三范式,非主属性只能依赖于主属性,不能依赖于其他非主属性。(解决数据冗余问题)
六、约束
约束是针对表中的字段进行定义的。
primary key (主键约束 PK)保证实体的完整性,保证记录的唯一
主键约束,唯一且非空,并且每一个表中只能有一个主键,有两个字段联合作为主键,只有两个字段放在一起唯一标识记录,叫做联合主键。
foreign key (外建约束 FK)保证引用的完整性,
外键约束,外键的取值是受另外一张表中的主键或唯一值得约束,不能够取其他值,只能够引用主键会唯一键的值,被引用的表,叫做parent table(父表),引用方的表叫做child table(子表),要想创建子表,就要先创建父表,后创建子表,记录的插入也是如此,先父表后子表,删除记录,要先删除子表记录,后删除父表记录,要修改记录,如果要修改父表的记录要保证没有被子表引用。要删表时,要先删子表,后删除父表。
unuque key(唯一键),值为唯一
index(索引)是数据库特有的一类对象,view(示图)
典型的一对多 class 对应多个学生。
student table class table
______________________________ _________________________
| id | name | address| class_id| | id |class_desc|class_num|
|(PK)|______|________|___(FK)__| |(pk)|__________|_________|
| | | | | | | | |
一对一
student tabel shenfenzheng table
____________________ _________________________________
| id | name | address| | s_id |shenfen_desc|shenfen_num|
|(PK)|______|________| |(PK,FK)|____________|___________|
| | | | | | | |
多对多
student tabel zhongjian table kecheng table
____________________ _________________________________ __________________
| id | name | address| | s_id |shenfen_desc|shenfen_num| | kid | kechengname|
|(PK)|______|________| |(FK,FK)|____________|___________| | (PK)|____________|
| | | | |联合主键| | | | | |
引用对方表的主键,当作本身的主键,所以这个表的主键,既是主键又是外建
建表和其他相关 *** 作
DDL语句
创建表:
create table 表名 ( 字段名1 类型(数据长度)(default ) 约束条件, 字段名2 类型(数据长度) 约束条件 );
Oracle数据库中的数据类型
varchar(长度),可变长字符串,char(长度) 定长
number(,),number 表示浮点数,或者是整数
long 大对象,clog 字符的大对象,相当于文本文件在表中只存放一个相当于只针对值
blog 二进制的大对象,也是以相当于指针的形式存放的。
primary key约束:
主键约束的定义:
第一种定义形式:
create table test(c number primary key ); 列级约束
第二种定义形式:
create table test(c number , primary key(c) ) ; 表级约束
create table test( c1 number constraints pkc1 primary key ); 此约束有名字: pkc1
create table test(c number , c2 number , primary key (c ,c1) ) ; 用表级约束可以实现联合主键
foregin key (fk) 外键约束:
(先定义父表,再定义子表)
carete table parent(c1 number primary key );
create table child (c number primary key , c2 number references parent(c1));
或表级约束定义:
create table child( c number primary key , c2 number , foreign key(c2) references parent(c1));
如果两个字段都为唯一且非空,这时可以定义成UK+NOT NULL
(PK或UK)一对多(FK)
(PK+UK)一对一(FK) 或 (PK)一对一(PK)
多对对多关系,一般都通过一张中间表来分解成两个一对多的表
建立表
create table[schema]table
schema: 一个用户对应一个schema 不同用户下的表不能互相查看
select count() from s_dept; <===> select count() from sd0611s_dept;
一个表中只能存储一个LONG类型
CLOB 存储大的文本对象
BLOB 存储大的二进制对象
create table test(c1 number primary key); 设置主键
create table test(c1 number constraints test_c1 primary key); 定义约束名,默认约束名为SYS_ 在列后面定义约束称为列级约束
create table test(c1 number primary key(c1)); 所有列定义完后再定义约束称为表级约束(能定义联合主键)
cretae table test(c1 number,c2 number,priary key(c1,c2)); 定义联合主键
create table child(c1 number primary key); 先要定义父表
create table child(c1 number primary key, c2 number references parent(c1)); 然后定义子表 references parent定义外键
create table child(c1 number primary key, c2 number references parent(c1) on delete cascate); on delete cascate为级联删除
create table child(c1 number primary key, c2 number references parent(c1) on delete set null); on delete set null删除后将外键置空
create table child (c1 number primary key, c2 number,foreignkey(c2) references parent(c1));
二、约束
1、非空约束(not null)
这是一个列级约束
在建表时,在数据类型的后面加上 not null ,也就是在插入时不允许插入空值。
例:create table student(id number primary key,name varchar2(32) not null,address varchar2(32));
2、unique 唯一约束
唯一约束,是会忽略空值的,唯一约束,要求插入的记录中的值是为一的。
例:create table student(id number,name varchar2(32),address varchar2(32),primary key (id),unique (address));
如果创建一个uk,系统自动建一个唯一索引
3、pk、uk
Oralce支持级联删除,不支持级联更新
4、check约束
检查约束,可以按照指定条件,检查记录的插入。check中不能使用尾列,不能使用函数,不能引用其他字段。
例:create table sal (a1 number , check(a1>1000));
以下的文章主要是介绍Oracle常用的命令中如何查看表的结构EDITDATA 表名;修改表字段:Alter table 表名 modify(字段名 类型 约束);alter table test modify (addd varchar2(10) null); alter table 表名 add(字段名 类型 约束);alter table test add(age varchar2(5)); 1登陆系统用户在Oracle常用命令中查看表结构sqlplus 然后输入系统用户名和密码登陆别的用户conn 用户名/密码;2创建表空间create tablespace 空间名 datafile 'c:\空间名' size 15M --表空间的存放路径,初始值为15M autoExtend on next 10M --空间的自动增长的值是10M permanent online; --永久使用 3创建用户create user shi --创建用户名为shi identified by scj --创建密码为scj default tablespace 表空间名 --默认表空间名 temporary tablespace temp --临时表空间为temp profile default --受profile文件的限制 quota unlimited on 表空间名; --在表空间下面建表不受限制 4创建角色create role 角色名 identified by 密码;5给角色授权grant create session to 角色名;--给角色授予创建会话的权限grant 角色名 to 用户名; --把角色授予用户6给用户授予权限grant connect,resource to shi;--给shi用户授予所有权限 Grant dba to shi;-给shi 用户授予DBA权限 grant create table to shi; --给shi用户授予创建表的权限 7select table_name from user_tables; 察看当前用户下的所有表8select tablespace_name from user_tablespaces; 察看当前用户下的 表空间9select username from dba_users;察看所有用户名称命令 必须用sys as sysdba登陆10创建表create table 表名( id int not null, name varchar2(20) not null )tablespace 表空间名 --所属的表空间 storage ( initial 64K --表的初始值 minextents 1 --最小扩展值 maxextents unlimited --最大扩展值 ); 11为usrs表添加主键和索引alter table users add constraint pk primary key (ID); 12为已经创建users表添加外键alter table users add constraint fk_roleid foreign key (roleid) references role(role_id) on delete cascad; --下边写主表的列 on delete cascad是创建级联 13把两个列连接起来select concat(name,id) from 表名; --把name和id连接起来14截取字符串select column(name,'李') from 表名;把name中的‘李’去掉15运行事务之前必须写set serveroutput on; 打开输入输出(不写的话,打印不出信息)16while的应用declare --声明部分 ccc number:=1; --复职 a number:=0; begin --事务的开始 while ccc<=100 loop --循环 if((ccc mod 3)=0) then --条件 dbms_outputput_line(ccc||','); --打印显示 aa:=a+ccc; end if; --结束if cc:=ccc+1; end loop; --结束循环 dbms_outputput_line(a); end; --结束事务 / 17select into 的用法 --只能处理一行结果集declare name varchar(30); begin select username into name from users where id=2; dbms_outputput_line('姓名为:'||name); end; / 上述的相关内容就是对Oracle常用命令中查看表结构的描述,希望会给你带来一些帮助在此方面。
新增archives 时的状况:
条件和假设:自上次镜像备份以来已经生成新的archive log(s); Archivelog Mode; 有同步的datafile(s) 和control file(s) 的镜像(冷)拷贝;archive log(s) 可用。
恢复步骤:
1 如果数据库尚未关闭,则首先把它关闭: $ svrmgrl svrmgrl> connect internal
svrmgrl> shutdown abort
2 将备份文件抄送回原始地点: 所有Database Files
所有Control Files(没有archive(s) 或redo(s) 的情况下,control files 的更新无任何意义)
所有On-Line Redo Logs (Not archives) initora file(选项)
3 启动数据库: $ svrmgrl
svrmgrl> connect internal
svrmgrl> startup
数据文件, 重作日志和控制文件同时丢失或损坏:
条件和假设:Archivelog Mode; 有同步的所有所失文件的镜像(冷)拷贝;archive log(s) 可用
恢复步骤(必须采用不完全恢复的手法):
1 如果数据库尚未关闭,则首先把它关闭: $ svrmgrl svrmgrl> connect internal
svrmgrl> shutdown abort
2 将备份文件抄送回原始地点:
所有Database Files
所有Control Files
所有On-Line Redo Logs(Not archives)
initora file(选项)
3 启动数据库然而并不打开:
svrmgrl>startup mount
4 做不完全数据库恢复,应用所有从上次镜像(冷)备份始积累起来的archives:
svrmgrl> recover database until cancel using backup controlfile;
cancel
5 Reset the logfiles (对启动而言不可省略):
svrmgrl> alter database open resetlogs;
6 关闭数据库并做一次全库冷备份。
数据文件和控制文件同时丢失或损坏:
条件和假设:Archivelog Mode; 有同步的datafile(s) 和control file(s) 的冷拷贝;archive log(s) 可用
恢复步骤:
1 将冷拷贝的datafiles(s) 和control file(s) 抄送回原始地点:
$ cp /backup/good_onedbf /orig_loc/bad_onedbf
$ cp /backup/control1ctl /disk1/control1ctl
2 以mount 选项启动数据库:
$ svrmgrl
svrmgrl> connect internal
svrmgrl> startup mount
3 以旧的control file 来恢复数据库:
svrmgrl> recover database until cancel using backup controlfile;
介质恢复完成
(须在应用完最后一个archive log 后cancel )
4 Reset the logfiles (对启动而言不可省略):
svrmgrl> alter database open resetlogs;
重作日志和控制文件同时丢失或损坏时:
条件和假设:Control Files 全部丢失或损坏;Archivelog Mode; 有Control Files 的镜像(冷)拷贝
恢复步骤:
1 如果数据库尚未关闭,则首先把它关闭:
$ svrmgrl
svrmgrl> connect internal
svrmgrl> shutdown abort
svrmgrl>exit
2 以Control File 的镜像(冷)拷贝覆盖损坏了的Control File:
$ cp /backup/control1ctl /disk1/control1ctl
3 启动数据库然而并不打开:
$ svrmgrl
svrmgrl> connect internal
svrmgrl> startup mount
4 Drop 坏掉的redo log (排除硬件故障):
svrmgrl> alter database drop logfile group 2;
5 重新创建redo log:
svrmgrl> alter database add logfile group 2 '/orig_loc/log2dbf' size 10M;
6 以旧的control file 来恢复数据库:
svrmgrl> recover database until cancel using backup controlfile;
(必须马上cancel )
7 Reset the logfiles (对启动而言不可省略):
svrmgrl> alter database open resetlogs;
8 关闭数据库并做一次全库冷备份
只发生归档重作日志丢失或损坏时:
根据不同环境和情况,选择下述手段之一:
a 马上backup 全部datafiles (如果系统采用一般热备份或RMAN 热备份)
b 马上正常关闭数据库并进行冷备份(如果系统采用冷备份)
c 冒险前进!不做备份而让数据库接着跑,直等到下一个备份周期再做备份。这是在赌数据库在下一个备份周期到来之前不会有需要恢复的错误发生。
注意:冒险前进的选择:如果发生错误而需要数据库恢复,则最多只能恢复到出问题archive log 之前的 *** 作现场。从另一个角度讲,archive log(s) 出现问题时,数据库若不需要恢复则其本身并没有任何问题。
Oracle逻辑结构故障的处理方法:
逻辑结构的故障一般指由于人为的误 *** 作而导致重要数据丢失的情况。在这种情况下数据库物理结构是完整的也是一致的。对于这种情况采取对原来数据库的全恢复是不合适的,我们一般采用三种方法来恢复用户数据。
采用exp/imp工具来恢复用户数据:
如果丢失的数据存在一个以前用exp命令的备份,则可以才用这种方式。
1 在数据库内创建一个临时用户:
svrmgrl>create user test_user identified by test;
svrmgrl>grant connect,resource to test_user;
2 从以前exp命令备份的文件中把丢失数据的表按照用户方式倒入测试用户:
$imp system/manager file=export_file_name tables=(lost_data_table_name…) fromuser=lost_data_table_owner touser=test_user constraint=n;
3 用相应的DML语句将丢失的数据从测试用户恢复到原用户。
4 将测试用户删除:
svrmgrl>drop user test_user cascede;
采用logminer来恢复用户数据:
Logminer是oracle提供的一个日志分析工具。它可以根据数据字典对在线联机日志、归档日志进行分析,从而可以获得数据库的各种DML *** 作的历史记录以及各种DML *** 作的回退信息。根据这些用户就可以将由于误 *** 作而丢失的数据重新加入数据库内。
1 确认数据库的utl_file_dir参数已经设置,如果没有则需要把这个参数加入oracle的初始化参数文件,然后重新启动数据库。下面例子中假设utl_file_dir=’/opt/oracle/db01’;
2 创建logminer所需要的数据字典信息,假设生成的数据字典文本文件为dictora:
svrmgrl>execute dbms_logmnr_dbuild(dictionary_filename=>'dictora', dictionary_location=>'/opt/oracle/db01’);
3 确定所需要分析的日志或者归档日志的范围。这可以根据用户误 *** 作的时间来确定大概的日志范围。假设用户误 *** 作时可能的日志文件为/opt/oracle/db02/oradata/ORCL/redo3log和归档日志’/opt/oracle/arch/orcl/orclarc_1_113ora’。
4 创建要分析的日志文件列表,按日志文件的先后顺序依次加入:
svrmgrl>execute dbms_logmnradd_logfile(logfilename=>’/opt/oracle/arch/orcl/orclarc_1_113ora’,options=>dbms_logmnrNEW);
svrmgrl> execute dbms_logmnradd_logfile(logfilename=>’ /opt/oracle/db02/oradata/ORCL/redo3log’,options=>dbms_logmnrADDFILE);
5 开始日志分析,假设需要分析的时间在’2003-06-28 12:00:00’和’2003-06-28 13:00:00’之间:
svrmgrl>execute dbms_logmnrstart_logmnr(dictfilename=>’ /opt/oracle/db01/dictora’,starttime=>to_date(’ 2003-06-28 12:00:00’,’YYYY-MM-DD HH:MI:SS’),endtime=>to_date(to_date(‘2003-06-28 13:00:00’,’YYYY-MM-DD HH:MI:SS’));
6 获取分析结果:
svrmgrl>select operation,sql_redo,sql_undo from v$logmnr_contents;
7 根据分析结果修复数据。
8结束logmnr:
svrmgrl>dbms_logmnrend_logmnr;
9 用适当的方法对原数据库进行数据库全备份。
利用备份恢复用户数据:
采用这种方法时并不是在原数据库进行恢复,而是利用数据库备份在新的机器上重新建立一个新的数据库。通过备份恢复在新机器上将数据库恢复到用户误 *** 作前,这样就可以获得丢失的数据将其恢复到原数据库。
1 在新的机器上安装数据库软件。
2 对于采用带库备份的现场,需要在新的数据库服务器上安装调试相应的备份管软件。
3 根据用户误 *** 作的时间点进行基于时间点的数据库恢复 *** 作。对于没有采用带库备份的现场,可以选取用户误 *** 作前最近的备份磁带进行恢复;对于才用带库备份的点可以通过基于时间恢复点恢复的rman脚本来进行恢复。
4重新打开数据库:
svrmgrl>alter database open resetlogs;
5 从新的数据库中获取丢失的用户数据,通过DML *** 作将其恢复到原数据库中。
6 用适当的方法对原数据库进行数据库全备份。
create or replace procedure testproc <--如果这个要导入参数,就在testproc后面加上如下格式:(P1 number default 0, p2 date default sysdate, p3 varchar2 default null) <-括号结尾无须分号
is <---这里是is
<--- is 和begin中间可以定义些变量比如:
v_variable varchar2(100) default null; <--定义例子
begin
select from studet; <--如果是定义个空的procedure,这一行 你可以用 null;代替
end testproc; <-- 结尾方式。
--------------------
另外,又登录以后看到楼下的发言。其实是不对的。
Oracle 里当然可以用select 这里的存储过程并没有做什么事情而已,仅仅是一个select 你用into是将内容存放到变量中,其实没有什么不同。 应为select的部分是在Oracle中执行,你无论怎么用也是要先select ;并且你select column into 变量 还需要知道这个column在表中的字段(当然,你如果用rowtype或者其他的array形式那另当别论)
以上就是关于请问文件的扩展名有哪些,是什么内容的全部的内容,包括:请问文件的扩展名有哪些,是什么内容的、oracle中的存储过程如何返回查询到的多个值、帮看一下oracle的这个function怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)