MYSQL编程:Oracle常}集(二)
DBaaS会导致单一客户利润率的下降,因为云服务一般是依靠MySQL学习教程数来抵消较低的利润率。oracle71.群档
shmmax
含x:@O置K不Q定事实OracleY料大概作I系y利用几ww,只Q定了最多可使用的w的俊_@O置也不影作I系y的群速Y源。
O置办法:0.5*ww
例子:Setshmsys:shminfo_shmmax=10485760
shmmin
含x:共用w的最小巨细。
O置办法:一样平常都O置成1。
例子:Setshmsys:shminfo_shmmin=1:
shmmni
含x:系y中共用w段的最年夜怠
例子:Setshmsys:shminfo_shmmni=100
shmseg
含x:每用暨M程可使用的最多的共用w段的的俊
例子:Setshmsys:shminfo_shmseg=20:
semmni
含x:系y中semaphoreidentifierer的最年夜怠
O置办法:把@档闹翟O置@系y上的一切Oracle的例的init.ora中的最年夜的那processes的那值加10。
例子:Setsemsys:seminfo_semmni=100
semmns
含x:系y中emaphores的最年夜怠
O置办法:@值能够通^以下体例算失掉:各Oracle例的initSID.oraY的processes的值的和(撤除最年夜的Processes担畲蟮哪Processes×2+10×Oracle例的怠
例子:Setsemsys:seminfo_semmns=200
semmsl:
含x:一set中semaphore的最年夜怠
O置办法:O置成10+一切Oracle例的InitSID.ora中最年夜的Processes的值。
例子:Setsemsys:seminfo_semmsl=-200
72.怎硬榭茨男┯碛SYSDBA、SYSOPERS可啵
SQL>connsys/change_on_install
SQL>select*fromV_$PWFILE_USERS;
73.怎样为浞菀或多表?
exp用/密atables=(表1,…,表2)
74.怎样为浞菀或多用簦
expsystem/managerowner=(用1,用2,…,用n)file=С鑫募
75.怎样CLOB谖贿M行全文z索?
SELECT*FROMAWHEREdbms_lob.instr(a.a,K,1,1)>0;
76.怎样@示前B接用
SHOWUSER
77.怎样检察Y料n案安排的路
colfile_nameformata50
SQL>selecttablespace_name,file_id,bytes/1024/1024,file_namefrom
dba_data_filesorderbyfile_id;
78.怎样检察F有回L段及其B
SQL>colsegmentformata30
SQL>SELECT
SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUSFROM
DBA_ROLLBACK_SEGS
79.怎样改一谖怀跏级x的Check
SQL>altertablexxxdropconstraintconstraint_name;
之後再建新s束:
SQL>altertablexxxaddconstraintconstraint_namecheck();
80.Oracle经常使用系y文件有哪些?
通^以下D@示@些文件Y:v$database,v$datafile,v$logfilev$controlfile
v$parameter;
81.冗B接INNERJOIN
Selecta.*frombsempmsa,bsdptmsbwherea.dpt_no=b.dpt_no;
82.怎样外B接
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.怎样ySQLZ句绦兴玫rg
SQL>settimingon;
SQL>select*fromtablename;
人人在ORACLE的r候大概龅胶芏嗫雌聿浑y的},特eπ率碚f,明天我伟阉Y一下,l布o人人,
但愿Υ蠹矣助!和人人一同探,配合M步!
ORACLE妙手碚f是不必看的.
88.CHR()的反函凳
ASCII()
SELECTCHAR(65)FROMDUAL;
SELECTASCII(A)FROMDUAL;
89.字串的B接
SELECTCONCAT(COL1,COL2)FROMTABLE;
SELECTCOL1||COL2FROMTABLE;
90.怎麽把select出淼慕Y果У揭笔墨n案中?
SQL>SPOOLC:ABCD.TXT;
SQL>select*fromtable;
SQL>spooloff;
91.怎庸浪SQL绦械I/O
SQL>SETAUTOTRACEON;
SQL>SELECT*FROMTABLE;
OR
SQL>SELECT*FROMv$filestat;
能够检察IO
92.怎样在sqlplus下改谖淮笮
altertabletable_namemodify(field_namevarchar2(100));
改年夜行,改小不可(除非都是空的)
93.怎样查某天的Y料
select*fromtable_namewhere
trunc(日期谖)=to_date(2003-05-02,yyyy-mm-dd);
94.sqlZ句怎样拔出整年日期?
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.怎样获得命令的前往B值?
sqlcode=0
97.怎样晓得用碛械脑S可
SELECT*FROMdba_sys_privs;
98.W高低d的ORACLE9Ic市錾腺u的拾嬗惺谗^e?
功效上f]有^e,只不^oracle公司有明文ǎW站高低d的oracleb品不得用於商I用处,否t侵唷
99.怎优噘Y料是行在wn形式下是行在非wn形式下?
M进dbastudio,v程--〉Y料---〉wn检察。
100.sql>startuppfile和ifile,spfiled有什麽^e?
pfile就是Oracle鹘y的初始化滴募谋靖袷降摹
ifile似於cZ言Y的include,用於把另外一文件引进
spfile是9iY新增的K且是默J的滴募M位格局
startup後只可接pfile
101.怎样搜刮出前Nl?
SELECT*FROMempLOYEEWHEREROWNUM<n
ORDERBYempno;
102.怎样晓得C器上的Oracle增援几Kl用
SQL>conninternal;
SQL>showparameterprocesses;
103.db_block_size能够修正
一样平常不成以o不建h@幼龅摹
104.怎样y表的
select(selectcount(id)fromaa)+(selectcount(id)frombb)
fromdual;
105.怎佑SqlZ句F查找一列中第N年夜值?
select*from
(selectt.*,dense_rank()over(orderbysal)rankfromemployee)
whererank=N;
106.怎样在oF有的日期加上2年?(
selectadd_months(sysdate,24)fromdual;
107.USED_UBLK值暗示什麽意义
Itis"harmless".
108.Connectstring是指什麽
是tnsnames.ora中的服彰崦娴热
109.怎U年夜REDOLOG的巨细?
创建一Rr的redologM,然後切Q日I,h除之前的日I,创建新的日I。
110.tablespace是不是不克不及年夜於4G
]无限制.
111.前往年夜於等於N的最小整抵
SELECTCEIL(N)FROMDUAL;
112.前往小於等於N的最小整抵
SELECTFLOOR(N)FROMDUAL;
113.前往前月的最後一天
SELECTLAST_DAY(SYSDATE)FROMDUAL;
114.怎样分歧用糸g
IMPSYSTEM/MANAGERFILE=AA.DMPFROMUSER=USER_OLDTOUSER=USER_NEW
ROWS=YINDEXES=Y;
115.怎样找Y料表的主I谖坏拿Q
SQL>SELECT*FROMuser_constraintsWHERECONSTRAINT_TYPE=Pand
table_name=TABLE_NAME;
116.Y果集互加的函
SQL>SELECT*FROMBSEMPMS_OLDINTERSECTSELECT*FROMBSEMPMS_NEW;
SQL>SELECT*FROMBSEMPMS_OLDUNIONSELECT*FROMBSEMPMS_NEW;
SQL>SELECT*FROMBSEMPMS_OLDUNIONALLSELECT*FROMBSEMPMS_NEW;
117.Y果集互p的函
SQL>SELECT*FROMBSEMPMS_OLDMINUSSELECT*FROMBSEMPMS_NEW;
118.怎样设置Sequence
建sequenceseq_custid
createsequenceseq_custidstart1incrememtby1;
建表r:
createtablecust
{cust_idsmallintnotnull,
...}
insertr:
insertintotablecust
values(seq_cust.nextval,...)
日期的各部分的经常使用的的法
119>.取rgc的年份的法:
SELECTTO_CHAR(SYSDATE,YYYY)FROMDUAL;
120>.取rgc的月份的法:
SELECTTO_CHAR(SYSDATE,MM)FROMDUAL;
121>.取rgc的日的法:
SELECTTO_CHAR(SYSDATE,DD)FROMDUAL;
122>.取rgc的r的法:
SELECTTO_CHAR(SYSDATE,HH24)FROMDUAL;
123>.取rgc的分的法:
SELECTTO_CHAR(SYSDATE,MI)FROMDUAL;
124>.取rgc的秒的法:
SELECTTO_CHAR(SYSDATE,SS)FROMDUAL;
125>.取rgc的日期的法:
SELECTTRUNC(SYSDATE)FROMDUAL;
126>.取rgc的rg的法:
SELECTTO_CHAR(SYSDATE,HH24:MI:SS)FROMDUAL;
127>.日期,rg形B樽衷B
SELECTTO_CHAR(SYSDATE)FROMDUAL;
128>.⒆执DQ成日期或rg形B:
SELECTTO_DATE(2003/08/01)FROMDUAL;
129>.前往档男瞧的法:
SELECTTO_CHAR(SYSDATE,D)FROMDUAL;
130>.前往狄荒曛械牡天的法:
SELECTTO_CHAR(SYSDATE,DDD)FROMDUAL;
131>.前往半夜和抵兄付ǖrg值之g的秒档法:
SELECTTO_CHAR(SYSDATE,SSSSS)FROMDUAL;
132>.前往抵幸荒甑牡周的法:
SELECTTO_CHAR(SYSDATE,WW)FROMDUAL;
人人在ORACLE的r候大概龅胶芏嗫雌聿浑y的},特eπ率碚f,明天我伟阉Y一下,l布o人人,
但愿Υ蠹矣助!和人人一同探,配合M步!
ORACLE妙手碚f是不必看的.
M谖
133.CURRVAL和nextval
表建序列
CREATESEQUENCEEMPSEQ...;
SELECTempseq.currvalFROMDUAL;
自硬迦胄蛄械抵
INSERTINTOemp
VALUES(empseq.nextval,LEWIS,CLERK,
7902,SYSDATE,1200,NULL,20);
134.ROWNUM
按O定排序的行的序
SELECT*FROMempWHEREROWNUM<10;
135.ROWID
前往行的物理位址
SELECTROWID,enameFROMempWHEREdeptno=20;
136.N秒DQr分秒格局?
setserverouton
declare
Nnumber:=1000000;
retvarchar2(100);
begin
ret:=trunc(n/3600)||小r||
to_char(to_date(mod(n,3600),sssss),fmmi"分"ss"秒");
dbms_output.put_line(ret);
end;
137.怎样查做比^年夜的排序的M程?
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.怎样查做比^年夜的排序的M程的SQLZ句?
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.怎样h除重?
DELETEFROMTABLE_NAME
WHEREROWID!=(SELECTMAX(ROWID)FROMTABLE_NAMED
WHERETABLE_NAME.COL1=D.COL1ANDTABLE_NAME.COL2=D.COL2);
141.怎样疾速g一切D?
SQL>SPOOLVIEW1.SQL
SQL>SELECT‘ALTERVIEW‘||TNAME||’
COMPILE;’FROMTAB;
SQL>SPOOLOFF
然後绦VIEW1.SQL便可。
SQL>@VIEW1.SQL;
142.ORA-01555SNAPSHOTTOOOLD的解Qk法
增添MINEXTENTS的值,增添^的巨细,O置一高的OPTIMAL值。
143.事找蟮幕L段空g不颍憩F表空g用M(ORA-01560e`),回L段U展到_
MAXEXTENTS的值(ORA-01628)的解Qk法.
向回L段表空g增加文件或使已有的文件年夜;增添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-ProductiononTueNov27
22:26:482001
Copyright(c)OracleCorporation1993,2000.AllRightsReserved.
ProcessingAA.sqltoAA.plb
行AA.plb
SQL>@AA.plb;
145.怎样O控事例的守候?
selectevent,sum(decode(wait_Time,0,0,1))"Prev",
sum(decode(wait_Time,0,1,0))"Curr",count(*)"Tot"
fromv$session_Wait
groupbyeventorderby4;
146.怎样回L段的们r?
selectname,waits,gets,waits/gets"Ratio"
fromv$rollstatC,v$rollnameD
whereC.usn=D.usn;
147.怎样O控表空g的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.怎样O控文件系y的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.怎样O控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;
有的时候,一些缺失的功能可以通过别的办法来实现,例如,在MySQL4.1以前,你可以通过使用join方法来替代子查询的功能。在MySQL5.0中,大多数关系型数据库所要求的功能已经都具备。 我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过! 原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜! 财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的.. 如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录. 这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片? 很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。 个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。 你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。
页:
[1]