Oracle数据库常用命令自总结.docx
- 文档编号:6610462
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:9
- 大小:19.66KB
Oracle数据库常用命令自总结.docx
《Oracle数据库常用命令自总结.docx》由会员分享,可在线阅读,更多相关《Oracle数据库常用命令自总结.docx(9页珍藏版)》请在冰豆网上搜索。
Oracle数据库常用命令自总结
Oracle数据库常用命令自总结
1.数据库恢复
impecr3/ecr3@loanfromuser=ecr3touser=ecr3ignore=yfile=ECR3.dmp
imptest/test@testfile=D:
\常州\常州征信程序\Today.dmpfromuser=banktouser=testfeedback=100commit=y
解析结构:
imp用户名/密码@服务名file=指定的数据库名称fromuser=导出数据库时的用户名touser=将要导入的用户名feedback表示每个点表示100条记录。
2.数据库备份
expecr3/ecr3@loanfile=D:
\西安升级\西安数据库备份\ecr3.dmplog=D:
\西安升级\西安数据库备份\ecr3.logowner=ecr3
解析结构:
exp用户名/密码◎服务名file=要备份的文件的路径及文件名log=日志的路径及名称owner=导出数据库的用户。
3.创建用户
sqlplussystem/manager
createuserecr3identifiedbyecr3
出现2时输入/就可以了这是在linux下
4.为用户授权
grantdbatoecr3
出现2时输入/就可以了这是在linux下
5.提交
Commit
6.删除用户
dropuserecr3cascade
7.列出所有用户
selectusernamefromdba_users;
8.修改口令
alteruserspgroupidentifiedbyspgtest;
9.表空间
select*fromdba_data_files;
select*fromdba_tablespaces;
10.空闲表空间
selecttablespace_name,sum(bytes,sum(blocks
fromdba_free_spacegroupbytablespace_name;
11.表空间对应的数据文件
select*fromdba_data_fileswheretablespace_name='RBS';
select*fromdba_segmentswheretablespace_name='INDEXS';
12.数据库对象
select*fromdba_objects;
CLUSTER、DATABASELINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGEBODY、PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。
13.表
select*fromdba_tables;
analyzemy_tablecomputestatistics;->dba_tables后6列
selectextent_id,bytesfromdba_extents
wheresegment_name='CUSTOMERS'andsegment_type='TABLE'
orderbyextent_id;//表使用的extent的信息。
segment_type='ROLLBACK'查看回滚段的空间分配信息
列信息:
selectdistincttable_name
fromuser_tab_columns
wherecolumn_name='SO_TYPE_ID';
14.索引
select*fromdba_indexes;//索引,包括主键索引
select*fromdba_ind_columns;//索引列
selecti.index_name,i.uniqueness,c.column_name
fromuser_indexesi,user_ind_columnsc
wherei.index_name=c.index_nameandi.table_name='ACC_NBR';//联接使用
15.序列
select*fromdba_sequences;
16.视图
select*fromdba_views;
select*fromall_views;
text可用于查询视图生成的脚本
17.聚簇:
select*fromdba_clusters;
18.快照:
select*fromdba_snapshots;
快照、分区应存在相应的表空间。
19.同义词
select*fromdba_synonyms
wheretable_owner='SPGROUP';
//ifownerisPUBLIC,thenthesynonymsisapublicsynonym.
ifownerisoneofusers,thenthesynonymsisaprivatesynonym.
20.数据库链:
select*fromdba_db_links;
在spbase下建数据库链
createdatabaselinkdbl_spnew
connecttospnewidentifiedbyspnewusing'jhhx';
insertintoacc_nbr@dbl_spnew
select*fromacc_nbrwherenxx_nbr='237'andline_nbr='8888';
21.触发器:
select*fromdba_trigers;
存储过程,函数从dba_objects查找。
其文本:
selecttextfromuser_sourcewherename='BOOK_SP_EXAMPLE';
建立出错:
select*fromuser_errors;
oracle总是将存储过程,函数等软件放在SYSTEM表空间。
22.约束:
(1约束是和表关联的,可在createtable或altertabletable_nameadd/drop/modify来建
立、修改、删除约束。
可以临时禁止约束,如:
altertablebook_example
disableconstraintbook_example_1;
altertablebook_example
enableconstraintbook_example_1;
(2主键和外键被称为表约束,而notnull和unique之类的约束被称为列约束。
通常将
主键和外键作为单独的命名约束放在字段列表下面,而列约束可放在列定义的同一行,这样更具有可读性。
(3列约束可从表定义看出,即describe;表约束即主键和外键,可从dba_constraints和
dba_cons_columns查。
select*fromuser_constraints
wheretable_name='BOOK_EXAMPLE';
selectowner,CONSTRAINT_NAME,TABLE_NAME
fromuser_constraintswhereconstraint_type='R'orderbytable_name;
(4定义约束可以无名(系统自动生成约束名和自己定义约束名(特别是主键、外键
如:
createtablebook_example
(identifiernumbernotnull;
createtablebook_example
(identifiernumberconstranitbook_example_1notnull;
23.回滚段:
在所有的修改结果存入磁盘前,回滚段中保持恢复该事务所需的全部信息,必须以数据库发生的事务来相应确定其大小(DML语句才可回滚,create,drop,truncate等DDL不能回滚。
回滚段数量=并发事务/4,但不能超过50;使每个回滚段大小足够处理一个完整的事务;
createrollbacksegmentr05
tablespacerbs;
createrollbacksegmentrbs_cvt
tablespacerbs
storage(initial1Mnext500k;
使回滚段在线
alterrollbacksegmentr04online;
用dba_extents,v$rollback_segs监测回滚段的大小和动态增长。
回滚段的区间信息
select*fromdba_extents
wheresegment_type='ROLLBACK'andsegment_name='RB1';
回滚段的段信息,其中bytes显示目前回滚段的字节数
select*fromdba_segments
wheresegment_type='ROLLBACK'andsegment_name='RB1';
为事物指定回归段
settransactionuserollbacksegmentrbs_cvt
针对bytes可以使用回滚段回缩。
alterrollbacksegmentrbs_cvtshrink;
selectbytes,extents,max_extentsfromdba_segments
wheresegment_type='ROLLBACK'andsegment_name='RBS_CVT';
回滚段的当前状态信息:
select*fromdba_rollback_segs
wheresegment_name='RB1';
比多回滚段状态status,回滚段所属实例instance_num
查优化值optimal
selectn.name,s.optsize
fromv$rollnamen,v$rollstats
wheren.usn=s.usn;
回滚段中的数据
settransactionuserollbacksegmentrb1;/*回滚段名*/
selectn.name,s.writes
fromv$rollnamen,v$rollstats
wheren.usn=s.usn;
当事务处理完毕,再次查询$rollstat,比较writes(回滚段条目字节数差值,可确定事务的大小。
查询回滚段中的事务
columnrrheading'RBSegment'formata18
columnusheading'Username'formata15
columnosheading'OsUser'formata10
columnteheading'Terminal'formata10
selectr.namerr,nvl(s.username,'notransaction'us,s.osuseros,s.terminalte
fromv$lockl,v$sessions,v$rollnamer
wherel.sid=s.sid(+
andtrunc(l.id1/65536=R.USN
andl.type='TX'
andl.lmode=6
orderbyr.name;
24.作业
查询作业信息
selectjob,broken,next_date,interval,whatfromuser_jobs;
selectjob,broken,next_date,interval,whatfromdba_jobs;
查询正在运行的作业
select*fromdba_jobs_running;
使用包execdbms_job.submit(:
v_num,'a;',sysdate,'sysdate+(10/(24*60*60'加入作业。
间隔10秒钟
execdbms_job.submit(:
v_num,'a;',sysdate,'sysdate+(11/(24*60'加入作业。
间隔11分钟使用包execdbms_job.remove(21删除21号作业。
统计表空间大小
selectinitial_extentfromdba_tableswheretable_name='TABLE_NAME'
25.ORACLE的基本语法集锦
--表
createtabletest(namesvarchar2(12,
datesdate,
numint,
doudouble;
--视图
createorreplaceviewvi_testas
select*fromtest;
--同义词
createorreplacesynonymaa
fordbusrcard001.aa;
--存储过程
createorreplaceproducedd(v_idinemployee.empoy_id%type
as
begin
end
dd;
--函数
createorreplacefunctionee(v_idinemployee%rowtypereturnvarchar(15is
var_testvarchar2(15;
begin
returnvar_test;
exceptionwhenothersthen
end
--三种触发器的定义
createorreplacetriggerff
alterdelete
ontest
foreachrow
declare
begin
deletefromtest;
ifsql%rowcount<0orsql%rowcountisnullthen
rais_replaction_err(-20004,"错误"
endif
end
createorreplacetriggergg
alterinsert
ontest
foreachrow
declare
begin
if:
old.names=:
new.namesthenraise_replaction_err(-2003,"编码重复";endifendcreateorreplacetriggerhhforupdateontestforeachrowdeclarebeginifupdatingthenif:
old.names<>:
new.namesthenreaise_replaction_err(-2002,"关键字不能修改"endifendifend--定义游标declarecursoraaisselectnames,numfromtest;beginforbbinaaloopifbb.names="ORACLE"thenendifendloop;end--速度优化,前一语句不后一语句的速度快几十倍selectnames,datesfromtest,bwheretest.names=b.names(+andb.namesisnullandb.dates>date('2003-01-01','yyyy-mm-dd'selectnames,datesfromtestwherenamesnotin(selectnamesfrombwheredates>to_date('2003-01-01','yyyy-mm-dd'--查找重复记录selectnames,numfromtestwhererowid!
=(selectmax(rowid
fromtestbwhereb.names=test.namesandb.num=test.num--查找表TEST中时间最新的前10条记录select*from(select*fromtestorderbydatesdescwhererownum<11--序列号的产生createsequencerow_idminvalue1maxvalue9999999999999999999999startwith1incrementby1insertintotestvalues(row_id.nextval,....26.Windows下如何停止服务和重启服务进入dos下输入NETSTOPOracleServiceName进入dos下输入NETSTARTOracleServiceName27.Oracle锁表如何处理select/*+RULE*/ls.osuseros_user_name,ls.usernameuser_name,decode(ls.type,'RW','Rowwaitenqueuelock','TM','DMLenqueuelock','TX','Transactionenqueuelock','UL','Usersuppliedlock'lock_type,o.object_nameobject,decode(ls.lmode,1,null,2,'RowShare',3,'RowExclusive',4,'Share',5,'ShareRowExclusive',6,'Exclusive',nulllock_mode,o.owner,ls.sid,ls.serial#serial_num,s.username,l.id2ls.id1,l.type,ls.id2fromsys.dba_objectso,(selects.osuser,l.lmode,v$lockl<>'SYS's.sid,s.serial#,l.id1,fromv$sessions,o.ownerwheres.sid=l.sidlswhereo.object_id=ls.id1andorderbyo.owner,o.object_name以上是查找锁表的用户,如果有记录说明已经锁表了,那么就要将oracle重启。
出现这种情况还可以杀掉进程altersystemkillsession用以上语句查出来的一般是session是sid字段。
28.Oracle在次安装时安装不上如何处理,具体步骤:
...开始->运行->regedit->确定。
进入注册表编辑画面,先导出注册表,保存好。
然后,在HKEY_LOCAL_MACHINE->SOFTWARE->Oracle整个目录删掉。
接下来,在注册表中查找oracle字段,如果有也要将其键值删掉,然后,F3,找一个,删一个,清空注册表所有与Oracle相关字段的值。
根据我个人经验,如果你装完系统后,再装Oracle,注册表中只有HKEY_LOCAL_MACHINE->SOFTWARE->Oracle这个目录下才有与Oracle有关的字段。
所以删掉这个后就可以啦。
如果安装了.net,PL/SQL等,可能这些软件中也有些关键字会出现oracle字段,但这些字段不会影响Oracle安装,所以,只删掉HKEY_LOCAL_MACHINE->SOFTWARE->Oracle这个目录则可,不必将别的软件的字段删掉。
这些删好后,应该可以重新安装Oracle啦。
29.Oracle安装时为什么有时候无法安装注意的一点是Oracle要求安装原始路径和目标路径不能出现非法字符,如:
中文,空格等。
29.添加主键,外键,索引的的基本结构
altertableECR_CUSTOMERFACTaddconstraintPK_ECR_CUSTOMERFACTprimarykey(CUSTOMERID,FACTNO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 常用命令 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)