[计算机软件及应用]ORACLE常用傻瓜问题1000问.doc

上传人:sccc 文档编号:4561618 上传时间:2023-04-27 格式:DOC 页数:51 大小:316.50KB
返回 下载 相关 举报
[计算机软件及应用]ORACLE常用傻瓜问题1000问.doc_第1页
第1页 / 共51页
[计算机软件及应用]ORACLE常用傻瓜问题1000问.doc_第2页
第2页 / 共51页
[计算机软件及应用]ORACLE常用傻瓜问题1000问.doc_第3页
第3页 / 共51页
[计算机软件及应用]ORACLE常用傻瓜问题1000问.doc_第4页
第4页 / 共51页
[计算机软件及应用]ORACLE常用傻瓜问题1000问.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《[计算机软件及应用]ORACLE常用傻瓜问题1000问.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]ORACLE常用傻瓜问题1000问.doc(51页珍藏版)》请在三一办公上搜索。

1、ORACLE常用傻瓜问题1000问1.Oracle安装完成后的初始口令?internal/oraclesys/change_on_installsystem/managerscott/tigersysman/oem_temp2.ORACLE9IASWEBCACHE的初始默认用户和密码?administrator/administrator3.oracle8.0.5怎么创建数据库?用orainst。如果有motif界面,可以用orainst/m4.oracle8.1.7怎么创建数据库?dbassist5.oracle9i怎么创建数据库?dbca6.oracle中的裸设备指的是什么?裸设备就是绕过

2、文件系统直接访问的储存空间7.oracle如何区分64-bit/32bit版本?$sqlplus/ASSYSDBASQL*Plus:Release9.0.1.0.0-ProductiononMonJul1417:01:092003(c)Copyright2001OracleCorporation.Allrightsreserved。Connectedto:Oracle9iEnterpriseEditionRelease9.0.1.0.0-ProductionWiththePartitioningoptionJServerRelease9.0.1.0.0-ProductionSQLselect*

3、fromv$version;BANNER-Oracle9iEnterpriseEditionRelease9.0.1.0.0-ProductionPL/SQLRelease9.0.1.0.0-ProductionCORE9.0.1.0.0ProductionTNSforSolaris:Version9.0.1.0.0-ProductionNLSRTLVersion9.0.1.0.0-ProductionSQL8.SVRMGR什么意思?svrmgrl,ServerManager9i下没有,已经改为用SQLPLUS了sqlplus/nolog变为归档日志型的9.请问如何分辨某个用户是从哪台机器登陆

4、ORACLE的?SELECTmachine,terminalFROMV$SESSION;10.用什么语句查询字段呢?desctable_name可以查询表的结构selectfield_name,.from.可以查询字段的值select*fromall_tableswheretable_namelike%select*fromall_tab_columnswheretable_name=?11.怎样得到触发器、过程、函数的创建脚本?descuser_sourceuser_triggers12.怎样计算一个表占用的空间的大小?selectowner,table_name,NUM_ROWS,BLOC

5、KS*AAA/1024/1024SizeM,EMPTY_BLOCKS,LAST_ANALYZEDfromdba_tableswheretable_name=XXX;Here:AAAisthevalueofdb_block_size;XXXisthetablenameyouwanttocheck13.如何查看最大会话数?SELECT*FROMV$PARAMETERWHERENAMELIKEproc%;SQLSQLshowparameterprocessesNAMETYPEVALUE-aq_tm_processesinteger1db_writer_processesinteger1job_que

6、ue_processesinteger4log_archive_max_processesinteger1processesinteger200这里为200个用户。Select*fromv$license;其中sessions_highwater纪录曾经到达的最大会话数14.如何查看系统被锁的事务时间?select*fromv$locked_object;15.如何以archivelog的方式运行oracle?init.oralog_archive_start=trueRESTARTDATABASE16.怎么获取有哪些用户在使用数据库?selectusernamefromv$session;1

7、7.数据表中的字段最大数是多少?表或视图中的最大列数为100018.怎样查得数据库的SID?selectnamefromv$database;也可以直接查看init.ora文件19.如何在Oracle服务器上通过SQLPLUS查看本机IP地址?selectsys_context(userenv,ip_address)fromdual;如果是登陆本机数据库,只能返回127.0.0.120.UNIX下怎么调整数据库的时间?su-rootdate-u0801000021.在ORACLETABLE中如何抓取MEMO类型栏为空的资料记录?selectremarkfromoms_flowrecwheret

8、rim(fromremark)isnotnull;22.如何用BBB表的资料去更新AAA表的数据(有关联的字段)UPDATEAAASETBNS_SNM=(SELECTBNS_SNMFROMBBBWHEREAAA.DPT_NO=BBB.DPT_NO)WHEREBBB.DPT_NOISNOTNULL;23.P4计算机安装方法将SYMCJIT.DLL改为SYSMCJIT.OLD24.如何查询SERVER是不是OPS?SELECT*FROMV$OPTION;如果PARALLELSERVER=TRUE则有OPS能25.如何查询每个用户的权限?SELECT*FROMDBA_SYS_PRIVS;26.如何将

9、表移动表空间?ALTERTABLETABLE_NAMEMOVETABLESPACE_NAME;27.如何将索引移动表空间?ALTERINDEXINDEX_NAMEREBUILDTABLESPACETABLESPACE_NAME;28.在LINUX,UNIX下如何启动DBASTUDIO?OEMAPPDBASTUDIO29.查询锁的状况的对象有?V$LOCK,V$LOCKED_OBJECT,V$SESSION,V$SQLAREA,V$PROCESS;查询锁的表的方法:SELECTS.SIDSESSION_ID,S.USERNAME,DECODE(LMODE,0,None,1,Null,2,Row-

10、S(SS),3,Row-X(SX),4,Share,5,S/Row-X(SSX),6,Exclusive,TO_CHAR(LMODE)MODE_HELD,DECODE(REQUEST,0,None,1,Null,2,Row-S(SS),3,Row-X(SX),4,Share,5,S/Row-X(SSX),6,Exclusive,TO_CHAR(REQUEST)MODE_REQUESTED,O.OWNER|.|O.OBJECT_NAME|(|O.OBJECT_TYPE|),S.TYPELOCK_TYPE,L.ID1LOCK_ID1,L.ID2LOCK_ID2FROMV$LOCKL,SYS.DBA

11、_OBJECTSO,V$SESSIONSWHEREL.SID=S.SIDANDL.ID1=O.OBJECT_ID;30.如何解锁?ALTERSYSTEMKILLSESSIONSID,SERIR#;31.SQLPLUS下如何修改编辑器?DEFINE_EDITOR=-必须加上双引号来定义新的编辑器,也可以把这个写在$ORACLE_HOME/sqlplus/admin/glogin.sql里面使它永久有效。32.ORACLE产生随机数的函数?DBMS_RANDOM.RANDOM33.LINUX下查询磁盘竞争状况命令?sar-d33.LINUX下查询CPU竞争状况命令?sar-r34.查询当前用户对象

12、?SELECT*FROMUSER_OBJECTS;SELECT*FROMDBA_SEGMENTS;35.如何获取错误信息?SELECT*FROMUSER_ERRORS;36.如何获取链接状况?SELECT*FROMDBA_DB_LINKS;37.查看数据库字符状况?SELECT*FROMNLS_DATABASE_PARAMETERS;SELECT*FROMV$NLS_PARAMETERS;38.查询表空间信息?SELECT*FROMDBA_DATA_FILES;39.ORACLE的INTERAL用户要口令?修改SQLNET.ORASQLNET.AUTHENTICATION_SERVICES=(

13、NTS)40.出现JAVA.EXE的解决办法?一般是将ORACLEORAHOMEXIHTTPSERVER改成手工启动可以的,X是8或941.如何给表、列加注释?SQLcommentontable表is表注释;注释已创建。SQLcommentoncolumn表.列is列注释;注释已创建。SQLselect*fromuser_tab_commentswherecommentsisnotnull;42.如何查看各个表空间占用磁盘情况?SQLcoltablespaceformata20SQLselectb.file_id文件ID号,b.tablespace_name表空间名,b.bytes字节数,(b

14、.bytes-sum(nvl(a.bytes,0)已使用,sum(nvl(a.bytes,0)剩余空间,sum(nvl(a.bytes,0)/(b.bytes)*100剩余百分比fromdba_free_spacea,dba_data_filesbwherea.file_id=b.file_idgroupbyb.tablespace_name,b.file_id,b.bytesorderbyb.file_id43.如把ORACLE设置为MTS或专用模式?#dispatchers=(PROTOCOL=TCP)(SERVICE=SIDXDB)加上就是MTS,注释就是专用模式,SID是指你的实例名。

15、44.如何才能得知系统当前的SCN号?selectmax(ktuxescnw*power(2,32)+ktuxescnb)fromx$ktuxe;45.请问如何在ORACLE中取毫秒?9i之前不支持,9i开始有timestamp。9i可以用selectsystimestampfromdual;46.如何在字符串里加回车?selectWelcometovisit|chr(10)|www.CSDN.NETfromdual;47.中文是如何排序的?Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值:SCHINESE_R

16、ADICAL_M按照部首(第一顺序)、笔划(第二顺序)排序SCHINESE_STROKE_M按照笔划(第一顺序)、部首(第二顺序)排序SCHINESE_PINYIN_M按照拼音排序48.Oracle8i中对象名可以用中文吗?可以49.如何改变WIN中SQL*Plus启动选项?SQL*PLUS自身的选项设置我们可以在$ORACLE_HOME/sqlplus/admin/glogin.sql中设置。50.怎样修改oracel数据库的默认日期?altersessionsetnls_date_format=yyyymmddhh24miss;或可以在init.ora中加上一行nls_date_forma

17、t=yyyymmddhh24miss51.如何将小表放入keep池中?altertablexxxstorage(buffer_poolkeep);52.如何检查是否安装了某个patch?checkthatoraInventory53.如何使select语句使查询结果自动生成序号?selectrownum,COLfromtable;54.如何知道数据裤中某个表所在的tablespace?selecttablespace_namefromuser_tableswheretable_name=TEST;select*fromuser_tables中有个字段TABLESPACE_NAME,(oracl

18、e);select*fromdba_segmentswhere;55.怎么可以快速做一个和原表一样的备份表?createtablenew_tableas(select*fromold_table);55.怎么在sqlplus下修改procedure?selectline,trim(text)tfromuser_sourcewherename=Aorderbyline;56.怎样解除PROCEDURE被意外锁定?altersystemkillsession,把那个session给杀掉,不过你要先查出她的sessionid或把该过程重新改个名字就可以了。57.SQLReference是个什么东西?

19、是一本sql的使用手册,包括语法、函数等等,Oracle官方网站的文档中心提供下载。58.如何查看数据库的状态?UNIX下ps-ef|greporaWindows下看服务是否起来;是否可以连上数据库59.请问如何修改一张表的主键?Alter table aaaDrop constraint aaa_key;Alter table aaaAdd constraint aaa_key primarykey(a1,b1);60.改变数据文件的大小?用ALTERDATABASE.DATAFILE.;手工改变数据文件的大小,对于原来的数据文件有没有损害。61.怎样查看ORACLE中有哪些程序在运行之中?

20、查看v$sessions表62.怎么可以看到数据库有多少个tablespace?select*fromdba_tablespaces;63.如何修改oracle数据库的用户连接数?修改initSID.ora,将process加大,重启数据库。64.如何查出一条记录的最后更新时间?可以用logminer察看65.如何在PL/SQL中读写文件?UTL_FILE包允许用户通过PL/SQL读写操作系统文件。66.怎样把“&”放入一条记录中?insertintoavalues(translate(at&t,at,at);67.EXP如何加QUERY参数?EXPUSER/PASSFILE=A.DMPTAB

21、LES(BSEMPMS)QUERY=WHEREEMP_NO=S0939468.关于oracle8i支持简体和繁体的字符集问题?ZHS16GBK可以支持69.DataGuard是什么软件?就是Standby的换代产品70.如何创建SPFILE?SQLconnect/assysdbaSQLselect*fromv$version;SQLcreatepfilefromspfile;SQLCREATESPFILEFROMPFILE=E:ora9iadmineyglepfileinit.ora;文件已创建。SQLCREATESPFILE=E:ora9idatabaseSPFILEEYGLE.ORAFRO

22、MPFILE=E:ora9iadmineyglepfileinit.ora;文件已创建。71.内核参数的应用?shmmax含义:这个设置并不决定究竟Oracle数据库或者操作系统使用多少物理内存,只决定了最多可以使用的内存数目。这个设置也不影响操作系统的内核资源。设置方法:0.5*物理内存例子:Setshmsys:shminfo_shmmax=10485760shmmin含义:共享内存的最小大小。设置方法:一般都设置成为1。例子:Setshmsys:shminfo_shmmin=1:shmmni含义:系统中共享内存段的最大个数。例子:Setshmsys:shminfo_shmmni=100sh

23、mseg含义:每个用户进程可以使用的最多的共享内存段的数目。例子:Setshmsys:shminfo_shmseg=20:semmni含义:系统中semaphoreidentifierer的最大个数。设置方法:把这个变量的值设置为这个系统上的所有Oracle的实例的init.ora中的最大的那个processes的那个值加10。例子:Setsemsys:seminfo_semmni=100semmns含义:系统中emaphores的最大个数。设置方法:这个值可以通过以下方式计算得到:各个Oracle实例的initSID.ora里边的processes的值的总和(除去最大的Processes参数

24、)最大的那个Processes210Oracle实例的个数。例子:Setsemsys:seminfo_semmns=200semmsl含义:一个set中semaphore的最大个数。设置方法:设置成为10所有Oracle实例的InitSID.ora中最大的Processes的值。例子:Setsemsys:seminfo_semmsl=-20072.怎样查看哪些用户拥有SYSDBA、SYSOPER权限?SQLconnsys/change_on_installSQLselect*fromV_$PWFILE_USERS;73.如何单独备份一个或多个表?exp用户/密码tables=(表1,表2)74

25、.如何单独备份一个或多个用户?expsystem/managerowner=(用户1,用户2,用户n)file=导出文件75.如何对CLOB字段进行全文检索?SELECT*FROMAWHEREdbms_lob.instr(a.a,K,1,1)0;76.如何显示当前连接用户?SHOWUSER77.如何查看数据文件放置的路径?colfile_nameformata50SQLselecttablespace_name,file_id,bytes/1024/1024,file_namefromdba_data_filesorderbyfile_id;78.如何查看现有回滚段及其状态?SQLcolseg

26、mentformata30SQLSELECTSEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUSFROMDBA_ROLLBACK_SEGS79.如何改变一个字段初始定义的Check范围?SQLaltertablexxxdropconstraintconstraint_name;之后再创建新约束:SQLaltertablexxxaddconstraintconstraint_namecheck();80.Oracle常用系统文件有哪些?通过以下视图显示这些文件信息:v$database,v$datafile,v$logfilev

27、$controlfilev$parameter;81.内连接INNERJOIN?selecta.*frombsempmsa,bsdptmsbwherea.dpt_no=b.dpt_no;82.如何外连接?selecta.*frombsempmsa,bsdptmsbwherea.dpt_no=b.dpt_no(+);selecta.*frombsempmsa,bsdptmsbwherea.dpt_no(+)=b.dpt_no;83.如何执行脚本SQL文件?SQL$PATH/filename.sql;84.如何快速清空一个大表?SQLtruncatetabletable_name;85.如何查有多

28、少个数据库实例?SQLSELECT*FROMV$INSTANCE;86.如何查询数据库有多少表?SQLselect*fromall_tables;87.如何测试SQL语句执行所用的时间?SQLsettimingon;SQLselect*fromtablename;88.CHR()的反函数?ASCII()SELECTCHAR(65)FROMDUAL;SELECTASCII(A)FROMDUAL;89.字符串的连接SELECTCONCAT(COL1,COL2)FROMTABLE;SELECTCOL1|COL2FROMTABLE;90.怎么把select出来的结果导到一个文本文件中?SQLSPOOL

29、C:ABCD.TXT;SQLselect*fromtable;SQLspooloff;91.怎样估算SQL执行的I/O数?SQLSETAUTOTRACEON;SQLSELECT*FROMTABLE;或SQLSELECT*FROMv$filestat;可以查看IO数92.如何在sqlplus下改变字段大小?altertabletable_namemodify(field_namevarchar2(100);改大行,改小不行(除非都是空的)93.如何查询某天的数据?select*fromtable_namewheretrunc(日期字段)to_date(2003-05-02,yyyy-mm-dd)

30、;94.sql语句如何插入全年日期?createtableBSYEAR(ddate);insertintoBSYEARselectto_date(20030101,yyyymmdd)+rownum-1fromall_objectswhererownumstartuppfile和ifile,spfile有什么区别?pfile就是Oracle传统的初始化参数文件,文本格式的;ifile类似于c语言里的include,用于把另一个文件引入;spfile是9i里新增的并且是默认的参数文件,二进制格式;startup后应该只可接pfile。101.如何搜索出前N条记录?SELECT*FROMempLOY

31、EEWHEREROWNUMconninternal;SQLshowparameterprocesses;103.db_block_size可以修改吗?一般不可以不建议这样做的。104.如何统计两个表的记录总数?select(selectcount(id)fromaa)+(selectcount(id)frombb)总数fromdual;105.怎样用Sql语句实现查找一列中第N大值?select*from(selectt.*,dense_rank()over(orderbysal)rankfromemployee)whererank=N;106.如何在给现有的日期加上2年?(selectadd

32、_months(sysdate,24)fromdual;107.USED_UBLK为负值表示什么意思?Itisharmless。108.Connectstring是指什么?应该是tnsnames.ora中的服务名后面的内容109.怎样扩大REDOLOG的大小?建立一个临时的redolog组,然后切换日志,删除以前的日志,建立新的日志。110.tablespace是否不能大于4G?没有限制。111.返回大于等于N的最小整数值?SELECTCEIL(N)FROMDUAL;112.返回小于等于N的最小整数值?SELECTFLOOR(N)FROMDUAL;113.返回当前月的最后一天?SELECTLA

33、ST_DAY(SYSDATE)FROMDUAL;114.如何不同用户间数据导入?IMPSYSTEM/MANAGERFILE=AA.DMPFROMUSER=USER_OLDTOUSER=USER_NEWROWS=YINDEXES=Y;115.如何找数据库表的主键字段的名称?SQLSELECT*FROMuser_constraintsWHERECONSTRAINT_TYPE=Pandtable_name=TABLE_NAME;116.两个结果集互加的函数?SQLSELECT*FROMBSEMPMS_OLDINTERSECTSELECT*FROMBSEMPMS_NEW;SQLSELECT*FROMB

34、SEMPMS_OLDUNIONSELECT*FROMBSEMPMS_NEWSQLSELECT*FROMBSEMPMS_OLDUNIONALLSELECT*FROMBSEMPMS_NEW;117.两个结果集互减的函数?SQLSELECT*FROMBSEMPMS_OLDMINUSSELECT*FROMBSEMPMS_NEW;118.如何配置Sequence?建sequenceseq_custidcreatesequenceseq_custidstart1incrememtby1;建表时:createtablecustcust_idsmallintnotnull,.insert时:insertint

35、otablecustvalues(seq_cust.nextval,.)日期的各部分的常用的的写法119.取时间点的年份的写法:SELECTTO_CHAR(SYSDATE,YYYY)FROMDUAL;120.取时间点的月份的写法:SELECTTO_CHAR(SYSDATE,MM)FROMDUAL;121.取时间点的日的写法:SELECTTO_CHAR(SYSDATE,DD)FROMDUAL;122.取时间点的时的写法:SELECTTO_CHAR(SYSDATE,HH24)FROMDUAL;123.取时间点的分的写法:SELECTTO_CHAR(SYSDATE,MI)FROMDUAL;124.取

36、时间点的秒的写法:SELECTTO_CHAR(SYSDATE,SS)FROMDUAL;125.取时间点的日期的写法:SELECTTRUNC(SYSDATE)FROMDUAL;126.取时间点的时间的写法:SELECTTO_CHAR(SYSDATE,HH24:MI:SS)FROMDUAL;127.日期,时间形态变为字符形态:SELECTTO_CHAR(SYSDATE)FROMDUAL;128.将字符串转换成日期或时间形态:SELECTTO_DATE(2003/08/01)FROMDUAL;129.返回参数的星期几的写法:SELECTTO_CHAR(SYSDATE,D)FROMDUAL;130.返

37、回参数一年中的第几天的写法:SELECTTO_CHAR(SYSDATE,DDD)FROMDUAL;131.返回午夜和参数中指定的时间值之间的秒数的写法:SELECTTO_CHAR(SYSDATE,SSSSS)FROMDUAL;132.返回参数中一年的第几周的写法:SELECTTO_CHAR(SYSDATE,WW)FROMDUAL;虚拟字段133.CURRVAL和nextval为表创建序列CREATESEQUENCEEMPSEQ.;SELECTempseq.currvalFROMDUAL;自动插入序列的数值INSERTINTOempVALUES(empseq.nextval,LEWIS,CLER

38、K,7902,SYSDATE,1200,NULL,20);134.ROWNUM按设定排序的行的序号SELECT*FROMempWHEREROWNUMSPOOLVIEW1.SQLSQLSELECTALTERVIEW|TNAME|COMPILE;FROMTAB;SQLSPOOLOFF然后执行VIEW1.SQL即可。SQLVIEW1.SQL;142.ORA-01555SNAPSHOTTOOOLD的解决办法增加MINEXTENTS的值,增加区的大小,设置一个高的OPTIMAL值。143.事务要求的回滚段空间不够,表现为表空间用满(ORA-01560错误),回滚段扩展到达参数MAXEXTENTS的值(O

39、RA-01628)的解决办法。向回滚段表空间添加文件或使已有的文件变大;增加MAXEXTENTS的值。144.如何加密ORACLE的存储过程?下列存储过程内容放在AA.SQL文件中createorreplaceproceduretestCCB(iinnumber)asbegindbms_output.put_line(输入参数是|to_char(i);end;SQLwrapiname=a.sql;PL/SQLWrapper:Release8.1.7.0.0-ProductiononTueNov2722:26:482001Copyright(c)OracleCorporation1993,200

40、0.AllRightsReserved。ProcessingAA.sqltoAA.plb运行AA.plbSQLAA.plb;145.如何监控事例的等待?selectevent,sum(decode(wait_Time,0,0,1)Prev,sum(decode(wait_Time,0,1,0)Curr,count(*)Totfromv$session_Waitgroupbyeventorderby4;146.如何回滚段的争用情况?selectname,waits,gets,waits/getsRatiofromv$rollstatC,v$rollnameDwhereC.usn=D.usn;147.如何监控表空间的I/O比例?selectB.tablespace_namename,B.file_namefile,A.phyrdspyr,A.phyblkrdpbr,A.phywrtspyw,A.phyblkwrtpbwfromv$filestatA,dba_data_filesBwhereA.file#=B.file_idorderbyB.tablespace_name;148.如何监控文件系统的I/O比例?selectsubstr(C.file#,1,2)#,substr(C.name,1,30)Name,C.status,C.bytes,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号