简单生活 发表于 2015-1-16 22:42:22

MYSQL教程之ORACLE成绩与解答

DBaaS向客户提供了许多与其他云服务相类似的优势:一个灵活的、可扩展的MySQL学习教程、按需服务的平台,它以自助服务和便捷管理为导向,可以对环境中的资源进行调配。oracle|解答|成绩
人人在使用ORACLE的时分大概会碰到良多看起来不难的成绩,出格对老手来讲,明天我复杂把它总结一下,公布给人人,但愿对人人有匡助!和人人一同切磋,配合前进!
对ORACLE妙手来讲是不必看的.

1.Oracle安装完成后的初始口令?
  internal/oracle
  sys/change_on_install
  system/manager
  scott/tiger
  sysman/oem_temp

2.ORACLE9IASWEBCACHE的初始默许用户和暗码?
 administrator/administrator

3.oracle8.0.5怎幺创立数据库?
 用orainst。假如有motif界面,能够用orainst/m

4.oracle8.1.7怎幺创立数据库?
 dbassist

5.oracle9i怎幺创立数据库?
 dbca

6.oracle中的裸设备指的是什幺?
 裸设备就是绕过文件体系间接会见的贮存空间

7.oracle怎样辨别64-bit/32bit版本???
$sqlplus/ASSYSDBA
SQL*Plus:Release9.0.1.0.0-ProductiononMonJul1417:01:092003
(c)Copyright2001OracleCorporation.Allrightsreserved.
Connectedto:
Oracle9iEnterpriseEditionRelease9.0.1.0.0-Production
WiththePartitioningoption
JServerRelease9.0.1.0.0-Production
SQL>select*fromv$version;
BANNER
----------------------------------------------------------------
Oracle9iEnterpriseEditionRelease9.0.1.0.0-Production
PL/SQLRelease9.0.1.0.0-Production
CORE9.0.1.0.0Production
TNSforSolaris:Version9.0.1.0.0-Production
NLSRTLVersion9.0.1.0.0-Production
SQL>

8.SVRMGR什幺意义?
svrmgrl,ServerManager.
9i下没有,已改成用SQLPLUS了
sqlplus/nolog
变成回档日记型的

9.叨教怎样分辩某个用户是从哪台呆板上岸ORACLE的?
SELECTmachine,terminalFROMV$SESSION;

10.用什幺语句查询字段呢?
desctable_name能够查询表的布局
selectfield_name,...from...能够查询字段的值
select*fromall_tableswheretable_namelike%
select*fromall_tab_columnswheretable_name=??

11.如何失掉触发器、历程、函数的创立剧本?
descuser_source
user_triggers

12.如何盘算一个表占用的空间的巨细?
selectowner,table_name,
NUM_ROWS,
BLOCKS*AAA/1024/1024"SizeM",
EMPTY_BLOCKS,
LAST_ANALYZED
fromdba_tables
wheretable_name=XXX;

Here:AAAisthevalueofdb_block_size;
XXXisthetablenameyouwanttocheck

13.怎样检察最年夜会话数?
SELECT*FROMV$PARAMETERWHERENAMELIKEproc%;
SQL>
SQL>showparameterprocesses

NAMETYPEVALUE
-------------------------------------------------------------------------
aq_tm_processesinteger1
db_writer_processesinteger1
job_queue_processesinteger4
log_archive_max_processesinteger1
processesinteger200

这里为200个用户。

select*fromv$license;
个中sessions_highwater记录已经抵达的最年夜会话数

14.怎样检察体系被锁的事件工夫?
select*fromv$locked_object;

15.怎样以archivelog的体例运转oracle。
init.ora
log_archive_start=true
RESTARTDATABASE

16.怎幺猎取有哪些用户在利用数据库
selectusernamefromv$session;

17.数据表中的字段最年夜数是几?
表或视图中的最年夜列数为1000

18.如何查得数据库的SID?
selectnamefromv$database;
也能够间接检察init.ora文件

19.怎样在Oracle服务器上经由过程SQLPLUS检察本机IP地点?
selectsys_context(userenv,ip_address)fromdual;
假如是上岸本机数据库,只能前往127.0.0.1,呵呵

20.unix下怎幺调剂数据库的工夫?
su-root
date-u08010000

21.在ORACLETABLE中怎样抓取MEMO范例字段为空的材料纪录?
selectremarkfromoms_flowrecwheretrim(fromremark)isnotnull;

22.怎样用BBB表的材料往更新AAA表的材料(有联系关系的字段)
UPDATEAAASETBNS_SNM=(SELECTBNS_SNMFROMBBBWHEREAAA.DPT_NO=BBB.DPT_NO)WHEREBBB.DPT_NOISNOTNULL;

23.P4盘算机安装办法
将SYMCJIT.DLL改成SYSMCJIT.OLD

24.何查询SERVER是否是OPS?
 SELECT* FROMV$OPTION;
 假如PARALLELSERVER=TRUE则有OPS能

25.何查询每一个用户的权限?
  SELECT* FROMDBA_SYS_PRIVS;

26.怎样将表挪动表空间?
 ALTERTABLETABLE_NAMEMOVETABLESPACE_NAME;

27.怎样将索引挪动表空间?
 ALTERINDEXINDEX_NAMEREBUILDTABLESPACETABLESPACE_NAME;

28.在LINUX,UNIX下怎样激活DBASTUDIO?
  OEMAPP DBASTUDIO

29.查询锁的情况的工具有?
  V$LOCK, V$LOCKED_OBJECT, V$SESSION, V$SQLAREA, V$PROCESS;
  查询锁的表的办法:
SELECTS.SIDSESSION_ID,S.USERNAME,DECODE(LMODE,0,None,1,Null,2,Row-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_OBJECTSO,V$SESSIONSWHEREL.SID=S.SIDANDL.ID1=O.OBJECT_ID;

30.怎样解锁?
  ALTERSYSTEMKILLSESSION ‘SID,SERIR#’;

31.SQLPLUS下怎样修正编纂器?

DEFINE_EDITOR="<编纂器的完全路经>" --必需加上双引号
来界说新的编纂器,也能够把这个写在$ORACLE_HOME/sqlplus/admin/glogin.sql内里使它永世无效。

32.ORACLE发生随机函数是?
  DBMS_RANDOM.RANDOM

33.LINUX下查询磁盘合作情况命令?
  Sar -d

33.LINUX下查询CPU合作情况命令?
  sar -r

34.查询以后用户工具?
  SELECT* FROMUSER_OBJECTS;

  SELECT* FROMDBA_SEGMENTS;

35.怎样猎取毛病信息?
 SELECT* FROM USER_ERRORS;

36.怎样猎取链接情况?
 SELECT*FROMDBA_DB_LINKS;

37.检察数据库字符情况?
  SELECT* FROMNLS_DATABASE_PARAMETERS;
  SELECT* FROMV$NLS_PARAMETERS;

38.查询表空间信息?
  SELECT* FROM DBA_DATA_FILES;

39.ORACLE的INTERAL用户要口令?
 修正SQLNET.ORA
 SQLNET.AUTHENTICATION_SERVICES=(NTS)

40.呈现JAVA.EXE的办理举措?
 通常为将ORACLEORAHOMEXIHTTPSERVER改成手工激活能够的
 X是8或9

41.怎样给表、列加正文?
SQL>commentontable表is表正文;
正文已创立。
SQL>commentoncolumn表.列is列正文;
正文已创立。
SQL>select*fromuser_tab_commentswherecommentsisnotnull;

42.怎样检察各个表空间占用磁盘情形?
SQL>coltablespaceformata20
SQL>selectb.file_id文件ID号,b.tablespace_name表空间名,
b.bytes
字节数,
(b.bytes-sum(nvl(a.bytes,0)))
已利用,
sum(nvl(a.bytes,0)) 
残剩空间,
sum(nvl(a.bytes,0))/(b.bytes)*100残剩百分比
fromdba_free_spacea,dba_data_filesb
wherea.file_id=b.file_id
groupbyb.tablespace_name,b.file_id,b.bytes
orderbyb.file_id

43.如把ORACLE设置为MTS或公用形式?
#dispatchers="(PROTOCOL=TCP)(SERVICE=SIDXDB)"
加上就是MTS,正文就是公用形式,SID是指你的实例名。

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_RADICAL_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;
 OR
 能够在init.ora中加上一行
nls_date_format=yyyymmddhh24miss

51.怎样将小表放进keep池中?
 altertablexxxstorage(buffer_poolkeep);

52.怎样反省是不是安装了某个patch?
  checkthat oraInventory

53.怎样使select语句使查询了局主动天生序号?
selectrownum,COLfromtable;

54.怎样晓得数据裤中某个表地点的tablespace?
selecttablespace_namefromuser_tableswheretable_name=TEST;
select*fromuser_tables中有个字段TABLESPACE_NAME,(oracle);
select*fromdba_segmentswhere…;

55.怎幺能够疾速做一个和原表一样的备份表?
  createtablenew_tableas(select*fromold_table);

55.怎幺在sqlplus下修正procedure?
 selectline,trim(text)tfromuser_sourcewherename=’A’orderbyline;

56.如何排除PROCEDURE被不测锁定?
 altersystemkillsession,把谁人session给杀失落,不外你要先查出她的sessionid
 or
 把该历程从头改个名字就能够了。

57.SQLReference是个什幺器材?
 是一本sql的利用手册,包含语法、函数等等,oracle官方网站的文档中央有下载.

58.怎样检察数据库的形态?
 unix下
ps-ef|grepora
windows下
看服务是不是起来
是不是能够连上数据库

59.叨教怎样修正一张表的主键?

altertableaaa
dropconstraintaaa_key;
altertableaaa
addconstraintaaa_keyprimarykey(a1,b1);

60.改动数据文件的巨细?
用ALTERDATABASE....DATAFILE....;
手工改动数据文件的巨细,关于本来的数据文件有无伤害。

61.如何检察ORACLE中有哪些程序在运转当中?
 检察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.DMPTABLES(BSEMPMS)
QUERY="WHEREEMP_NO=S09394"r

68.关于oracle8i撑持简体和繁体的字符集成绩?
 ZHS16GBK能够支

69.DataGuard是什幺软件?
就是Standby的换代产物

70.怎样创立SPFILE?

SQL>connect/assysdba
SQL>select*fromv$version;
SQL>createpfilefromspfile;
SQL>CREATESPFILEFROMPFILE=E:ora9iadmineyglepfileinit.ora;

文件已创立。
SQL>CREATESPFILE=E:ora9idatabasePFILEEYGLE.ORAFROMPFILE=E:ora9iadmineyglepfileinit.ora;
文件已创立。

71.内核参数的使用?
shmmax
  寄义:这个设置其实不决意事实Oracle数据库大概操纵体系利用几物理内存,只决意了最多可使用的内存数量。这个设置也不影响操纵体系的内核资本。
  设置办法:0.5*物理内存
  例子:Setshmsys:shminfo_shmmax=10485760
  shmmin
  寄义:共享内存的最小巨细。
  设置办法:一样平常都设置成为1。
  例子:Setshmsys:shminfo_shmmin=1:
  shmmni
  寄义:体系中共享内存段的最年夜个数。
  例子:Setshmsys:shminfo_shmmni=100
  shmseg
  寄义:每一个用户历程可使用的最多的共享内存段的数量。
  例子:Setshmsys:shminfo_shmseg=20:
  semmni
  寄义:体系中semaphoreidentifierer的最年夜个数。
  设置办法:把这个变量的值设置为这个体系上的一切Oracle的实例的init.ora中的最年夜的谁人processes的谁人值加10。
  例子:Setsemsys:seminfo_semmni=100
  semmns
  寄义:体系中emaphores的最年夜个数。
  设置办法:这个值能够经由过程以下体例盘算失掉:各个Oracle实例的initSID.ora里边的processes的值的总和(撤除最年夜的Processes参数)+最年夜的谁人Processes×2+10×Oracle实例的个数。
  例子:Setsemsys:seminfo_semmns=200
  semmsl:
  寄义:一个set中semaphore的最年夜个数。
  设置办法:设置成为10+一切Oracle实例的InitSID.ora中最年夜的Processes的值。
  例子:Setsemsys:seminfo_semmsl=-200

72.如何检察哪些用户具有SYSDBA、SYSOPER权限?
SQL>connsys/change_on_install
SQL>select*fromV_$PWFILE_USERS;

73.怎样独自备份一个或多个表?
 exp用户/暗码tables=(表1,…,表2)

74.怎样独自备份一个或多个用户?
 expsystem/managerowner=(用户1,用户2,…,用户n)file=导出文件

75.怎样对CLOB字段举行全文检索?
SELECT*FROMAWHEREdbms_lob.instr(a.a,K,1,1)>0;

76.怎样显现以后毗连用户?
 SHOW USER

77.怎样检察数据文件安排的路径?
colfile_nameformata50
SQL>selecttablespace_name,file_id,bytes/1024/1024,file_namefromdba_data_filesorderbyfile_id;

78.怎样检察现有回滚段及其形态?
SQL>colsegmentformata30
SQL>SELECTSEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUSFROMDBA_ROLLBACK_SEGS

79.怎样改动一个字段初始界说的Check局限?
SQL>altertablexxxdropconstraintconstraint_name;
以后再创立新束缚:
SQL>altertablexxxaddconstraintconstraint_namecheck();

80.Oracle经常使用体系文件有哪些?
经由过程以下视图显现这些文件信息:v$database,v$datafile,v$logfilev$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.怎样疾速清空一个年夜表?
SQL>truncatetabletable_name;

85.怎样查有几个数据库实例?
 SQL>SELECT*FROMV$INSTANCE;

86.怎样查询数据库有几表?
SQL>select*fromall_tables;

87.怎样测试SQL语句实行所用的工夫?
SQL>settimingon;
 SQL>select*fromtablename;

88.CHR()的反函数是?
  ASCII()
  SELECTCHAR(65)FROMDUAL; 
  SELECTASCII(A)FROMDUAL;

89.字符串的毗连
  SELECTCONCAT(COL1,COL2)FROMTABLE;
  SELECTCOL1||COL2FROMTABLE;

90.怎幺把select出来的了局导到一个文本文件中?
  SQL>SPOOL C:ABCD.TXT;
  SQL>select* fromtable;
  SQL>spooloff;

91.如何预算SQL实行的I/O数?
  SQL>SETAUTOTRACEON;
  SQL>SELECT*FROMTABLE;
  OR
  SQL>SELECT* FROM v$filestat;
能够检察IO数

92.怎样在sqlplus下改动字段巨细?
  altertabletable_namemodify(field_namevarchar2(100));
  改年夜行,改小不可(除非都是空的)

93.怎样查询某天的数据?
  select*fromtable_namewheretrunc(日期字段)=to_date(2003-05-02,yyyy-mm-dd);

94.sql语句怎样拔出整年日期?
createtableBSYEAR(ddate);
insertintoBSYEAR
selectto_date(20030101,yyyymmdd)+rownum-1
fromall_objects
whererownum<=to_char(to_date(20031231,yyyymmdd),ddd);



95.假如修正表名?

 altertableold_table_namerenametonew_table_name;

96.怎样获得命令的前往形态值?
sqlcode=0

97.怎样晓得用户具有的权限?
  SELECT*FROMdba_sys_privs;

98.从网高低载的ORACLE9I与市场上卖的尺度版有什幺区分?
从功效上说没有区分,只不外oracle公司有明文划定;从网站高低载的oracle产物不得用于贸易用处,不然侵权。

99.如何判别数据库是运转在回档形式下仍是运转在非回档形式下?
进进dbastudio,过程--〉数据库---〉回档检察。

100.sql>startuppfile和ifile,spfiled有什幺区分?
pfile就是Oracle传统的初始化参数文件,文本格局的。
ifile相似于c言语里的include,用于把另外一个文件引进
spfile是9i里新增的而且是默许的参数文件,二进制格局
startup后应当只可接pfile

101.怎样搜刮出前N笔记录?
SELECT*FROMempLOYEEWHEREROWNUM<n
ORDERBYempno;

102.怎样晓得呆板上的Oracle撑持几并发用户数?
 SQL>conninternal ;
SQL>showparameterprocesses;

103.db_block_size能够修正吗?
  一样平常不成以o不倡议如许做的。

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_months(sysdate,24)fromdual;

107.USED_UBLK为负值暗示什幺意义?
Itis"harmless".

108.Connectstring是指什幺?
应当是tnsnames.ora中的服务名前面的内容

109.如何扩展REDOLOG的巨细?

 创建一个一时的redolog组,然后切换日记,删除之前的日记,创建新的日记。

110.tablespace是不是不克不及年夜于4G?
 没无限制.

111.前往年夜于即是N的最小整数值?
  SELECTCEIL(N) FROMDUAL;

112.前往小于即是N的最小整数值?
  SELECTFLOOR(N) FROMDUAL;

113.前往以后月的最初一天?
  SELECTLAST_DAY(SYSDATE) FROMDUAL;

114.怎样分歧用户间数据导进?
 IMP SYSTEM/MANAGER FILE=AA.DMP FROMUSER=USER_OLD TOUSER=USER_NEW ROWS=Y INDEXES=Y;



115.怎样找数据库表的主键字段的称号?

 SQL>SELECT*FROMuser_constraintsWHERECONSTRAINT_TYPE=Pand table_name=TABLE_NAME;


116.两个了局集互加的函数?

 SQL>SELECT*FROMBSEMPMS_OLDINTERSECTSELECT*FROMBSEMPMS_NEW;
 SQL>SELECT*FROMBSEMPMS_OLDUNIONSELECT*FROMBSEMPMS_NEW;
 SQL>SELECT*FROMBSEMPMS_OLDUNIONALLSELECT*FROMBSEMPMS_NEW;


117.两个了局集互减的函数?
SQL>SELECT*FROMBSEMPMS_OLDMINUSSELECT*FROMBSEMPMS_NEW;


118.怎样设置Sequence?

  建sequenceseq_custid
 createsequenceseq_custidstart1incrememtby1;
 建表时:
 createtablecust
 {cust_idsmallintnotnull,
 ...}
 insert时:
 insertintotablecust
 values(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>.取工夫点的秒的写法:
  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>.前往参数一年中的第几天的写法:
  SELECTTO_CHAR(SYSDATE,DDD)FROMDUAL;

131>.前往半夜和参数中指定的工夫值之间的秒数的写法:
  SELECTTO_CHAR(SYSDATE,SSSSS)FROMDUAL;

132>.前往参数中一年的第几周的写法:
  SELECTTO_CHAR(SYSDATE,WW)FROMDUAL;
假造字段

133.CURRVAL和nextval
 为表创立序列
 CREATESEQUENCEEMPSEQ...;
 SELECTempseq.currvalFROMDUAL;
 主动拔出序列的数值
 INSERTINTOemp
 VALUES(empseq.nextval,LEWIS,CLERK,
7902,SYSDATE,1200,NULL,20);

134.ROWNUM
 按设定排序的行的序号
 SELECT*FROMempWHEREROWNUM<10;

135.ROWID
 前往行的物理地点
 SELECTROWID,enameFROMemp WHEREdeptno=20;

136.将N秒转换为时分秒格局?
 setserverouton
 declare
 Nnumber:=1000000;
 retvarchar2(100);
 begin
 ret:=trunc(n/3600)||小时||to_char(to_date(mod(n,3600),sssss),fmmi"分 "ss"秒");
 dbms_output.put_line(ret);
 end;

137.怎样查询做对照年夜的排序的历程?
 SELECTb.tablespace,b.segfile#,b.segblk#,b.blocks,a.sid,a.serial#,
 a.username,a.osuser,a.status
 FROMv$sessiona,v$sort_usageb
 WHEREa.saddr=b.session_addr
 ORDERBYb.tablespace,b.segfile#,b.segblk#,b.blocks;

138.怎样查询做对照年夜的排序的历程的SQL语句?
 select/*+ORDERED*/sql_textfromv$sqltexta
 wherea.hash_value=(
 selectsql_hash_valuefromv$sessionb
 whereb.sid=&sidandb.serial#=&serial)
 orderbypieceasc;

139.怎样查找反复纪录?
 SELECT*FROMTABLE_NAME
 WHEREROWID!=(SELECTMAX(ROWID)FROMTABLE_NAMED
 WHERETABLE_NAME.COL1=D.COL1ANDTABLE_NAME.COL2=D.COL2);

140.怎样删除反复纪录?
 DELETEFROMTABLE_NAME
 WHEREROWID!=(SELECTMAX(ROWID)FROMTABLE_NAMED
 WHERETABLE_NAME.COL1=D.COL1ANDTABLE_NAME.COL2=D.COL2);

141.怎样疾速编译一切视图?
 SQL>SPOOLVIEW1.SQL
 SQL>SELECT‘ALTERVIEW‘||TNAME||’
 COMPILE;’FROMTAB;
 SQL>SPOOLOFF
 然后实行VIEW1.SQL便可。
 SQL>@VIEW1.SQL;

142.ORA-01555SNAPSHOTTOOOLD的办理举措
 增添MINEXTENTS的值,增添区的巨细,设置一个高的OPTIMAL值。

143.事件请求的回滚段空间不敷,体现为表空间用满(ORA-01560毛病),回滚段扩大抵达参数MAXEXTENTS的值(ORA-01628)的办理举措.
 向回滚段表空间增加文件或使已有的文件变年夜;增添MAXEXTENTS的值。

144.怎样加密ORACLE的存储历程?
  以下存储历程内容放在AA.SQL文件中
  createorreplaceproceduretestCCB(iinnumber)as
  begin
  dbms_output.put_line(输出参数是||to_char(i));
  end;

  SQL>wrapiname=a.sql;
  PL/SQLWrapper:Release8.1.7.0.0-ProductiononTueNov2722:26:482001
  Copyright(c)OracleCorporation1993,2000. AllRightsReserved.
  ProcessingAA.sqltoAA.plb
  运转AA.plb
  SQL>@AA.plb;

145.怎样监控事例的守候?
 selectevent,sum(decode(wait_Time,0,0,1))"Prev",
 sum(decode(wait_Time,0,1,0))"Curr",count(*)"Tot"
 fromv$session_Wait
 groupbyeventorderby4;

146.怎样回滚段的争用情形?
 selectname,waits,gets,waits/gets"Ratio"
 fromv$rollstatC,v$rollnameD
 whereC.usn=D.usn;

147.怎样监控表空间的I/O比例?
 selectB.tablespace_namename,B.file_name"file",A.phyrdspyr,
 A.phyblkrdpbr,A.phywrtspyw,A.phyblkwrtpbw
 fromv$filestatA,dba_data_filesB
 whereA.file#=B.file_id
 orderbyB.tablespace_name;

148.怎样监控文件体系的I/O比例?
 selectsubstr(C.file#,1,2)"#",substr(C.name,1,30)"Name",
 C.status,C.bytes,D.phyrds,D.phywrts
 fromv$datafileC,v$filestatD
 whereC.file#=D.file#;

149.怎样在某个用户下找一切的索引?
 selectuser_indexes.table_name,user_indexes.index_name,uniqueness,column_name
 fromuser_ind_columns,user_indexes
 whereuser_ind_columns.index_name=user_indexes.index_name
 anduser_ind_columns.table_name=user_indexes.table_name
 orderbyuser_indexes.table_type,user_indexes.table_name,
 user_indexes.index_name,column_position;

150.怎样监控SGA的射中率?
 selecta.value+b.value"logical_reads",c.value"phys_reads",
 round(100*((a.value+b.value)-c.value)/(a.value+b.value))"BUFFERHITRATIO"
 fromv$sysstata,v$sysstatb,v$sysstatc
 wherea.statistic#=38andb.statistic#=39
 andc.statistic#=40;

151.怎样监控SGA中字典缓冲区的射中率?
 selectparameter,gets,Getmisses,getmisses/(gets+getmisses)*100"missratio",
 (1-(sum(getmisses)/(sum(gets)+sum(getmisses))))*100"Hitratio"
 fromv$rowcache
 wheregets+getmisses0
 groupbyparameter,gets,getmisses;

152.怎样监控SGA中共享缓存区的射中率,应当小于1%?
 selectsum(pins)"TotalPins",sum(reloads)"TotalReloads",
 sum(reloads)/sum(pins)*100libcache
 fromv$librarycache;

 selectsum(pinhits-reloads)/sum(pins)"hitradio",sum(reloads)/sum(pins)  "reloadpercent"
 fromv$librarycache;

153.怎样显现一切数据库工具的种别和巨细?
 selectcount(name)num_instances,type,sum(source_size)source_size,
 sum(parsed_size)parsed_size,sum(code_size)code_size,sum(error_size)  error_size,
 sum(source_size)+sum(parsed_size)+sum(code_size)+sum(error_size)  size_required
 fromdba_object_size
 groupbytypeorderby2;

154.监控SGA中重做日记缓存区的射中率,应当小于1%
 SELECTname,gets,misses,immediate_gets,immediate_misses,
 Decode(gets,0,0,misses/gets*100)ratio1,
 Decode(immediate_gets+immediate_misses,0,0,
 immediate_misses/(immediate_gets+immediate_misses)*100)ratio2
 FROMv$latchWHEREnameIN(redoallocation,redocopy);

155.监控内存和硬盘的排序比率,最好使它小于.10,增添sort_area_size
 SELECTname,valueFROMv$sysstatWHEREnameIN(sorts(memory),sorts(disk));


156.怎样监控以后数据库谁在运转什幺SQL语句?
 SELECTosuser,username,sql_textfromv$sessiona,v$sqltextb
 wherea.sql_address=b.addressorderbyaddress,piece;

157.怎样监控字典缓冲区?
 SELECT(SUM(PINS-RELOADS))/SUM(PINS)"LIBCACHE"FROMV$LIBRARYCACHE;
 SELECT(SUM(GETS-GETMISSES-USAGE-FIXED))/SUM(GETS)"ROWCACHE"FROM  V$ROWCACHE;
 SELECTSUM(PINS)"EXECUTIONS",SUM(RELOADS)"CACHEMISSESWHILEEXECUTING"FROM  V$LIBRARYCACHE;
 后者除之前者,此比率小于1%,靠近0%为好。

 SELECTSUM(GETS)"DICTIONARYGETS",SUM(GETMISSES)"DICTIONARYCACHEGETMISSES"
 FROMV$ROWCACHE


158.监控MTS
 selectbusy/(busy+idle)"sharedserversbusy"fromv$dispatcher;
 此值年夜于0.5时,参数需加年夜
 selectsum(wait)/sum(totalq)"dispatcherwaits"fromv$queuewhere  type=dispatcher;
 selectcount(*)fromv$dispatcher;
 selectservers_highwaterfromv$mts;
 servers_highwater靠近mts_max_servers时,参数需加年夜

159.怎样晓得以后用户的ID号?
  SQL>SHOWUSER;
  OR
  SQL>selectuserfromdual;

160.怎样检察碎片水平高的表?
 SELECTsegment_nametable_name,COUNT(*)extents
 FROMdba_segmentsWHEREownerNOTIN(SYS,SYSTEM)GROUPBYsegment_name
 HAVINGCOUNT(*)=(SELECTMAX(COUNT(*))FROMdba_segmentsGROUPBYsegment_name);

162.怎样晓得表在表空间中的存储情形?
 selectsegment_name,sum(bytes),count(*)ext_quanfromdba_extentswhere
 tablespace_name=&tablespace_nameandsegment_type=TABLEgroupbytablespace_name,segment_name;

163.怎样晓得索引在表空间中的存储情形?
 selectsegment_name,count(*)fromdba_extentswheresegment_type=INDEXandowner=&owner
 groupbysegment_name;

164、怎样晓得利用CPU多的用户session?
 11是cpuusedbythissession

 selecta.sid,spid,status,substr(a.program,1,40)prog,a.terminal,osuser,value/60/100value
 fromv$sessiona,v$processb,v$sesstatc
 wherec.statistic#=11andc.sid=a.sidanda.paddr=b.addrorderbyvaluedesc;

165.怎样晓得监听器日记文件?
 以8I为例
 $ORACLE_HOME/NETWORK/LOG/LISTENER.LOG

166.怎样晓得监听器参数文件?
 以8I为例
 $ORACLE_HOME/NETWORK/ADMIN/LISTENER.ORA

167.怎样晓得TNS毗连文件?
 以8I为例
 $ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA

168.怎样晓得Sql*Net情况文件?
 以8I为例
 $ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA

169.怎样晓得告诫日记文件?
 以8I为例
 $ORACLE_HOME/ADMIN/SID/BDUMP/SIDALRT.LOG

170.怎样晓得基础布局?
 以8I为例
 $ORACLE_HOME/RDBMS/ADMIN/STANDARD.SQL

171.怎样晓得创建数据字典视图?
 以8I为例
 $ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL

172.怎样晓得创建审计用数据字典视图?
 以8I为例
 $ORACLE_HOME/RDBMS/ADMIN/CATAUDIT.SQL

173.怎样晓得创建快照用数据字典视图?
 以8I为例
 $ORACLE_HOME/RDBMS/ADMIN/CATSNAP.SQL


通过支付一定费用,客户可以得到优先的24/7支持,访问内容丰富的在线知识库和联系一个专门的技术负责经理。

飘飘悠悠 发表于 2015-1-19 21:22:07

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

再见西城 发表于 2015-1-25 10:48:41

索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。

简单生活 发表于 2015-2-2 21:43:17

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。

深爱那片海 发表于 2015-2-8 07:30:10

可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。

兰色精灵 发表于 2015-2-24 23:49:45

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

老尸 发表于 2015-3-7 14:29:58

两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书

不帅 发表于 2015-3-15 07:39:26

可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。

精灵巫婆 发表于 2015-3-21 21:26:16

以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了
页: [1]
查看完整版本: MYSQL教程之ORACLE成绩与解答