??xml version="1.0" encoding="utf-8" standalone="yes"?>
for c in (select table_name tn from user_tables where table_name <> upper(table_name)) loop
begin
execute immediate 'alter table "'||c.tn||'" rename to '||c.tn;
exception
when others then
dbms_output.put_line(c.tn||'已存?);
end;
end loop;
end;
2.扚w空间内所有表的所有字D名变成大写
begin
for t in (select table_name tn from user_tables) loop
begin
for c in (select column_name cn from user_tab_columns where table_name = t.tn) loop
begin
execute immediate 'alter table "' || t.tn || '" rename column "' || c.cn || '" to ' || c.cn;
exception
when others then
dbms_output.put_line(t.tn || '.' || c.cn || '已经存在');
end;
end loop;
end;
end loop;
end;
3.用L间的所有表名及所有字D变为大?br />begin
for t in (select table_name tn from user_tables where table_name <> upper(table_name)) loop
begin
for c in (select column_name cn from user_tab_columns where table_name=t.tn) loop
begin
execute immediate 'alter table "'||t.tn||'" rename column "'||c.cn||'" to '||c.cn;
exception
when others then
dbms_output.put_line(t.tn||'.'||c.cn||'已经存在');
end;
end loop;
execute immediate 'alter table "'||t.tn||'" rename to '||t.tn;
exception
when others then
dbms_output.put_line(t.tn||'已存?);
end;
end loop;
end;
]]>
]]>
select count(*) from v$session;
2、查询oracle的ƈ发连接数
select count(*) from v$session where status='ACTIVE';
3、查看不同用Lq接?br />select username,count(username) from v$session where username is not null group by username;
4、查看所有用P
select * from all_users;
5、查看用h角色pȝ权限(直接赋值给用户或角色的pȝ权限)Q?br />select * from dba_sys_privs;
select * from user_sys_privs;
6、查看角?只能查看登陆用户拥有的角?所包含的权?br />select * from role_sys_privs;
7、查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
8、查看所有角Ԍ
select * from dba_roles;
9、查看用h角色所拥有的角Ԍ
select * from dba_role_privs;
select * from user_role_privs;
10、查看哪些用hsysdba或sysoperpȝ权限(查询旉要相应权?
select * from V$PWFILE_USERS;
修改数据库允许的最大连接数Q?/p>
alter system set processes = 300 scope = spfile;
查看游标数量
Select * from v$open_cursor Where user_name=''
查询数据库允许的最大连接数Q?br />select value from v$parameter where name = 'processes';
或者:show parameter processes;
查询数据库允许的最大游标数Q?/p>
select value from v$parameter where name = 'open_cursors'
查看oracle版本
select banner from sys.v_$version;
按降序显C用?SYSTEM"为每个会话打开的游标数
select o.sid, osuser, machine, count(*) num_curswhere X.id = Y.questionid
SQL> select count(*) from v$session #q接?br /> SQL> Select count(*) from v$session where status='ACTIVE' #q发q接?br /> SQL> show parameter processes #最大连?br /> SQL> alter system set processes = value scope = spfile;重启数据?nbsp; #修改q接
SQL> Select count(*) from v$session where status='ACTIVE' ; |
select a.value + b.value "logical_reads", c.value "phys_reads",
round(100 * ((a.value+b.value)-c.value) / (a.value+b.value)) "BUFFER HIT RATIO"
from v$sysstat a, v$sysstat b, v$sysstat c
where a.statistic# = 38 and b.statistic# = 39
and c.statistic# = 40;
7. 监控 SGA 中字典缓冲区的命中率
select parameter, gets,Getmisses , getmisses/(gets+getmisses)*100 "miss ratio",
(1-(sum(getmisses)/ (sum(gets)+sum(getmisses))))*100 "Hit ratio"
from v$rowcache
where gets+getmisses <>0
group by parameter, gets, getmisses;
8. 监控 SGA 中共享缓存区的命中率Q应该小?%
select sum(pins) "Total Pins", sum(reloads) "Total Reloads",
sum(reloads)/sum(pins) *100 libcache
from v$librarycache;
select sum(pinhits-reloads)/sum(pins) "hit radio",sum(reloads)/sum(pins) "reload percent"
from v$librarycache;
9. 昄所有数据库对象的类别和大小
select count(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
from dba_object_size
group by type order by 2;
10. 监控 SGA 中重做日志缓存区的命中率Q应该小?%
SELECT name, 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
FROM v$latch WHERE name IN ('redo allocation', 'redo copy');
11. 监控内存和硬盘的排序比率Q最好它小?.10Q增?sort_area_size
SELECT name, value FROM v$sysstat WHERE name IN ('sorts (memory)', 'sorts (disk)');
12. 监控当前数据库谁在运行什么SQL语句
SELECT osuser, username, sql_text from v$session a, v$sqltext b
where a.sql_address =b.address and username='POINT' order by address, piece;
13. 监控字典~冲?/p>
SELECT (SUM(PINS - RELOADS)) / SUM(PINS) "LIB CACHE" FROM V$LIBRARYCACHE;
SELECT (SUM(GETS - GETMISSES - USAGE - FIXED)) / SUM(GETS) "ROW CACHE" FROM V$ROWCACHE;
SELECT SUM(PINS) "EXECUTIONS", SUM(RELOADS) "CACHE MISSES WHILE EXECUTING" FROM V$LIBRARYCACHE;
后者除以前?此比率小?%,接近0%为好?/p>
SELECT SUM(GETS) "DICTIONARY GETS",SUM(GETMISSES) "DICTIONARY CACHE GET MISSES"
FROM V$ROWCACHE
14. 找ORACLE字符?/p>
select * from sys.props$ where name='NLS_CHARACTERSET';
15. 监控 MTS
select busy/(busy+idle) "shared servers busy" from v$dispatcher;
此值大?.5Ӟ参数需加大
select sum(wait)/sum(totalq) "dispatcher waits" from v$queue where type='dispatcher';
select count(*) from v$dispatcher;
select servers_highwater from v$mts;
servers_highwater接近mts_max_serversӞ参数需加大
16. 片E度
select tablespace_name,count(tablespace_name) from dba_free_space group by tablespace_name
having count(tablespace_name)>10;
alter tablespace name coalesce;
alter table name deallocate unused;
create or replace view ts_blocks_v as
select tablespace_name,block_id,bytes,blocks,'free space' segment_name from dba_free_space
union all
select tablespace_name,block_id,bytes,blocks,segment_name from dba_extents;
select * from ts_blocks_v;
select tablespace_name,sum(bytes),max(bytes),count(block_id) from dba_free_space
group by tablespace_name;
查看片E度高的?/p>
SELECT segment_name table_name , COUNT(*) extents
FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM') GROUP BY segment_name
HAVING COUNT(*) = (SELECT MAX( COUNT(*) ) FROM dba_segments GROUP BY segment_name);
17. 表、烦引的存储情况?/p>
select segment_name,sum(bytes),count(*) ext_quan from dba_extents where
tablespace_name='&tablespace_name' and segment_type='TABLE' group by tablespace_name,segment_name;
select segment_name,count(*) from dba_extents where segment_type='INDEX' and owner='&owner'
group by segment_name;
18、找使用CPU多的用户session
12是cpu used by this session
select a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,osuser,value/60/100 value
from v$session a,v$process b,v$sesstat c
where c.statistic#=12 and c.sid=a.sid and a.paddr=b.addr order by value desc;
20.监控log_buffer的用情况:(值最好小?%Q否则增加log_buffer 的大?
select rbar.name,rbar.value,re.name,re.value,(rbar.value*100)/re.value||'%' "radio"
from v$sysstat rbar,v$sysstat re
where rbar.name='redo buffer allocation retries'
and re.name='redo entries';
19、查看运行过的SQL语句Q?/p>
SELECT SQL_TEXT
FROM V$SQL
关于U程zd状态查?br />
SELECT S.SID, S.SERIAL#,S.USERNAME,S.STATUS,S.MACHINE,S.PROGRAM,S.MODULE,A.SQL_TEXT
FROM V$SESSION S,
V$SQLAREA A
WHERE S.USERNAME IS NOT NULL
AND S.SQL_ADDRESS = A.ADDRESS;
|
Table 8-2 Exporting Data From Release 11.1 and Importing Into Earlier Releases
Export From | Import To | Export Version to Use | Import Version to Use |
---|---|---|---|
Release 11.1 |
Release 10.2 |
Data Pump Export Release 11.1 with |
Data Pump Import Release 10.2 |
Release 10.2 |
Release 10.1 |
Data Pump Export Release 10.2 with |
Data Pump Import Release 10.1 |
单行函数
l函?
本文讨论如何利用单行函C及用规则?/p>
SQL中的单行函数
SQL和PL/SQL中自带很多类型的函数Q有字符、数字、日期、{换、和混合型等多种函数用于处理单行数据Q因此这些都可被l称为单行函数。这些函数均可用于SELECT,WHERE、ORDER BY{子句中Q例如下面的例子中就包含了TO_CHAR,UPPER,SOUNDEX{单行函数?br /> SELECT ename,TO_CHAR(hiredate,'day,DD-Mon-YYYY')FROM empWhere UPPER(ename) Like 'AL%'ORDER BY SOUNDEX(ename)
单行函数也可以在其他语句中用,如update的SET子句QINSERT的VALUES子句QDELET的WHERE子句,认证考试特别注意在SELECT语句中用这些函敎ͼ所以我们的注意力也集中在SELECT语句中?/p>
NULL和单行函?/p>
在如何理解NULL上开始是很困隄Q就是一个很有经验的Z然对此感到困惑。NULLDCZ个未知数据或者一个空|术操作W的M一个操作数为NULL|l果均ؓ提个NULL?q个规则也适合很多函数Q只有CONCAT,DECODE,DUMP,NVL,REPLACE在调用了NULL参数时能够返回非NULL倹{在q些中NVL函数时最重要的,因ؓ他能直接处理NULL|NVL有两个参敎ͼNVL(x1,x2),x1和x2都式表达式,当x1为null时返回X2,否则q回x1?/p>
下面我们看看emp数据表它包含了薪水、奖金两,需要计ȝ补偿
column name emp_id salary bonuskey type pk nulls/unique nn,u nnfk table datatype number number numberlength 11.2 11.2
不是单的薪水和奖金加v来就可以了,如果某一行是null值那么结果就是nullQ比如下面的例子Q?br /> update empset salary=(salary+bonus)*1.1
q个语句中,雇员的工资和奖金都将更新Z个新的|但是如果没有奖金Q即 salary + null,那么׃得出错误的结论,q个时候就要用nvl函数来排除null值的影响?br />
所以正的语句是:
update empset salary=(salary+nvl(bonus,0)*1.1
单行字符串函?/p>
单行字符串函数用于操作字W串数据Q他们大多数有一个或多个参数Q其中绝大多数返回字W串
ASCII(c1)
c1是一字符Ԍq回c1W一个字母的ASCII码,他的逆函数是CHR()
SELECT ASCII('A') BIG_A,ASCII('z') BIG_z FROM empBIG_A BIG_z65 122
CHR(QiQ?[NCHAR_CS]
i是一个数字,函数q回十进制表C的字符
select CHR(65),CHR(122),CHR(223) FROM empCHR65 CHR122 CHR223A z B
CONCAT(c1,c2)
c1,c2均ؓ字符Ԍ函数c2q接到c1的后面,如果c1为null,返回c2.如果c2为null,则返回c1Q如果c1、c2都ؓnullQ则q回null。他和操作符||q回的结果相?br />
select concat('slobo ','Svoboda') username from dualusernameslobo Syoboda
INITCAP(c1)
c1Z字符丌Ӏ函数将每个单词的第一个字母大写其它字母小写返回。单词由I格Q控制字W,标点W号限制?br />
select INITCAP('veni,vedi,vici') Ceasar from dualCeasarVeni,Vedi,Vici
INSTR(c1,c2,QiQ?QjQ?
c1,c2均ؓ字符Ԍi,j为整数。函数返回c2在c1中第jơ出现的位置Q搜索从c1的第i个字W开始。当没有发现需要的字符时返?,如果i敎ͼ那么搜烦从叛_左进行,但是位置的计还是从左到叻Ii和j的缺省gؓ1.
select INSTR('Mississippi','i',3,3) from dualINSTR('MISSISSIPPI','I',3,3)11select INSTR('Mississippi','i',-2,3) from dualINSTR('MISSISSIPPI','I',3,3)2
INSTRB(c1,c2,QiQ?QjQ?
与INSTRQ)函数一P只是他返回的是字节,对于单字节INSTRB(){于INSTR()
LENGTH(c1)
c1为字W串Q返回c1的长度,如果c1为nullQ那么将q回null倹{?br />
select LENGTH('Ipso Facto') ergo from dualergo10
LENGTHb(c1)
与LENGTH()一Pq回字节?/p>
lower(c)
q回c的小写字W,l常出现在where子串?br />
select LOWER(colorname) from itemdetail WHERE LOWER(colorname) LIKE '%white%'COLORNAMEWinterwhite
LPAD(c1,QiQ?c2)
c1,c2均ؓ字符Ԍi为整数。在c1的左侧用c2字符串补长度i,可多ơ重复,如果i于c1的长度,那么只返回i那么长的c1字符Q其他的被截去。c2的缺省gؓ单空|参见RPAD?br />
select LPAD(answer,7,'') padded,answer unpadded from question;PADDED UNPADDED Yes YesNO NOMaybe maybe
LTRIM(c1,c2)
把c1中最左边的字W去掉,使其W一个字W不在c2中,如果没有c2Q那么c1׃会改变?br />
select LTRIM('Mississippi','Mis') from dualLTRppi
RPAD(,QiQ[,])
在c1的右侧用c2字符串补长度i,可多ơ重复,如果i于c1的长度,那么只返回i那么长的c1字符Q其他的被截去。c2的缺省gؓ单空?其他与LPAD怼
RTRIM(,)
把c1中最双的字W去掉,使其W后一个字W不在c2中,如果没有c2Q那么c1׃会改变?/p>
REPLACE(,[,])
c1,c2,c3都是字符Ԍ函数用c3代替出现在c1中的c2后返回?br />
select REPLACE('uptown','up','down') from dualREPLACEdowntown
STBSTR(,QiQ[,])
c1Z字符Ԍi,j为整敎ͼ从c1的第i位开始返回长度ؓj的子字符Ԍ如果j为空Q则直到串的N?br />
select SUBSTR('Message',1,4) from dualSUBSMess
SUBSTRB(,QiQ[,])
与SUBSTR大致相同Q只是I,J是以字节计算?/p>
SOUNDEX()
q回与c1发音怼的词
select SOUNDEX('dawes') Dawes SOUNDEX('daws') Daws, SOUNDEX('dawson') from dualDawes Daws DawsonD200 D200 D250
TRANSLATE(,,)
c1中与c2相同的字W以c3代替
select TRANSLATE('fumble','uf','ar') test from dualTEXTramble
TRIM([[]] from c3)
c3串中的第一个,最后一个,或者都删除?br />
select TRIM(' space padded ') trim from dual TRIMspace padded
UPPER()
q回c1的大写,常出现where子串?br />
select name from dual where UPPER(name) LIKE 'KI%'NAMEKING
单行数字函数
单行数字函数操作数字数据Q执行数学和术q算。所有函数都有数字参数ƈq回数字倹{所有三角函数的操作数和值都是弧度而不是角度,oracle没有提供内徏的弧度和角度的{换函数?
ABS()
q回n的绝对?/p>
ACOS()
反余玄函敎ͼq回-1?之间的数。n表示弧度
select ACOS(-1) pi,ACOS(1) ZERO FROM dualPI ZERO3.14159265 0
ASIN()
反正玄函敎ͼq回-1?Qn表示弧度
ATAN()
反正切函敎ͼq回n的反正切|n表示弧度?/p>
CEIL()
q回大于或等于n的最整数?/p>
COS()
q回n的余玄|n为弧?/p>
COSH()
q回n的双曲余玄|n 为数字?br />
select COSH(<1.4>) FROM dualCOSH(1.4)2.15089847
EXP()
q回e的nơ幂Qe=2.71828183.
FLOOR()
q回于{于N的最大整数?/p>
LN()
q回N的自然对敎ͼN必须大于0
LOG(,)
q回以n1为底n2的对?/p>
MOD()
q回n1除以n2的余敎ͼ
POWER(n1,n2)
q回n1的n2ơ方
ROUND(n1,n2)
q回舍入(四舍五入)数点右边n2位的n1的|n2的缺省gؓ0Q这回将数Ҏ接近的整敎ͼ如果n2数就舍入到小数点左边相应的位上,n2必须是整数?br />
select ROUND(12345,-2),ROUND(12345.54321,2) FROM dual ROUND(12345,-2) ROUND(12345.54321,2)12300 12345.54
SIGN(n)
如果n敎ͼq回-1,如果n为正敎ͼq回1Q如果n=0q回0.
SINQn)
q回n的正玄?n为弧度?/p>
SINH(n)
q回n的双曲正玄?n为弧度?/p>
SQRT(n)
q回n的^Ҏ,n为弧?/p>
TANQn)
q回n的正切?n为弧?/p>
TANH(n)
q回n的双曲正切?n为弧?/p>
TRUNC(n1,n2)
q回截尾到n2位小数的n1的|n2~省讄?Q当n2为缺省设|时会将n1截尾为整敎ͼ如果n2|截֜数点左边相应的位上?/p>
单行日期函数
单行日期函数操作DATA数据cdQ绝大多数都有DATA数据cd的参敎ͼl大多数q回的也是DATA数据cd的倹{?/p>
ADD_MONTHS(d,QiQ?
q回日期d加上i个月后的l果。i可以使Q意整数。如果i是一个小敎ͼ那么数据库将隐式的他转换成整敎ͼ会截去数点后面的部分?/p>
LAST_DAY(d)
函数q回包含日期d的月份的最后一?
MONTHS_BETWEEN(d1,d2)
q回d1和d2之间月的数目,如果d1和d2的日的日期都相同Q或者都使该月的最后一天,那么返回一个整敎ͼ否则会返回的l果包含一个分数?/p>
NEW_TIME(,,)
d1是一个日期数据类型,当时区tz1中的日期和时间是dӞq回时区tz2中的日期和时间。tz1和tz2时字W串?/p>
NEXT_DAY(,)
q回日期d后由dowl出的条件的W一天,dow使用当前会话中给出的语言指定了一周中的某一天,q回的时间分量与d的时间分量相同?br />
select NEXT_DAY('01-Jan-2000','Monday') "1st Monday",NEXT_DAY('01-Nov-2004','Tuesday')+7 "2nd Tuesday") from dual;1st Monday 2nd Tuesday03-Jan-2000 09-Nov-2004
ROUND([,])
日期d按照fmt指定的格式舍入,fmt为字W串?/p>
SYADATE
函数没有参数Q返回当前日期和旉?/p>
TRUNC([,])
q回由fmt指定的单位的日期d.
单行转换函数
单行转换函数用于操作多数据类型,在数据类型之间进行{换?/p>
CHARTORWID()
c 使一个字W串Q函数将c转换为RWID数据cd?br />
SELECT test_id from test_case where rowid=CHARTORWID('AAAA0SAACAAAALiAAA')
CONVERT(,[,])
c֭W串Qdset、sset是两个字W集Q函数将字符串c由sset字符集{换ؓdset字符集,sset的缺省设|ؓ数据库的字符集?/p>
HEXTORAW()
x?6q制的字W串Q函数将16q制的x转换为RAW数据cd?/p>
RAWTOHEX()
x是RAW数据cd字符Ԍ函数RAW数据c{换ؓ16q制的数据类型?/p>
ROWIDTOCHAR()
函数ROWID数据cd转换为CHAR数据cd?/p>
TO_CHAR([[,)
x是一个data或number数据cdQ函数将x转换成fmt指定格式的char数据cdQ如果x为日期nlsparm=NLS_DATE_LANGUAGE 控制q回的月份和日䆾所使用的语a。如果x为数字nlsparm=NLS_NUMERIC_CHARACTERS 用来指定数位和千分位的分隔W,以及货币W号?br />
NLS_NUMERIC_CHARACTERS ="dg", NLS_CURRENCY="string"
TO_DATE([,[,Q?br /> c表示字符Ԍfmt表示一U特D格式的字符丌Ӏ返回按照fmt格式昄的c,nlsparm表示使用的语a。函数将字符串c转换成date数据cd?/p>
TO_MULTI_BYTE()
c表示一个字W串Q函数将c的担子截字符转换成多字节字符?/p>
TO_NUMBER([,[,)
c表示字符Ԍfmt表示一个特D格式的字符Ԍ函数q回值按照fmt指定的格式显C。nlsparm表示语言Q函数将q回c代表的数字?/p>
TO_SINGLE_BYTE()
字W串c中得多字节字W{化成{h的单字节字符。该函数仅当数据库字W集同时包含单字节和多字节字W时才?/p>
其它单行函数
BFILENAME(
,)
dir是一个directorycd的对象,fileZ文g名。函数返回一个空的BFILE位置值指C符Q函数用于初始化BFILE变量或者是BFILE列?/p>
DECODE(,,[,,,[])
x是一个表辑ּQm1是一个匹配表辑ּQx与m1比较Q如果m1{于xQ那么返回r1,否则,x与m2比较Q依ơ类推m3,m4,m5....直到有返回结果?/p>
DUMP(,[,[,[,]]])
x是一个表辑ּ或字W,fmt表示8q制?0q制?6q制、或则单字符。函数返回包含了有关x的内部表CZ息的VARCHAR2cd的倹{如果指定了n1,n2那么从n1开始的长度为n2的字节将被返回?/p>
EMPTY_BLOB()
该函数没有参敎ͼ函数q回 一个空的BLOB位置指示W。函数用于初始化一个BLOB变量或BLOB列?/p>
EMPTY_CLOB()
该函数没有参敎ͼ函数q回 一个空的CLOB位置指示W。函数用于初始化一个CLOB变量或CLOB列?/p>
GREATEST()
exp_list是一列表辑ּQ返回其中最大的表达式,每个表达式都被隐含的转换W一个表辑ּ的数据类型,如果W一个表辑ּ是字W串数据cd中的M一个,那么q回的结果是varchar2数据cdQ同时用的比较是非填充I格cd的比较?/p>
LEAST()
exp_list是一列表辑ּQ返回其中最的表达式,每个表达式都被隐含的转换W一个表辑ּ的数据类型,如果W一个表辑ּ是字W串数据cd中的M一个,返回的l果是varchar2数据cdQ同时用的比较是非填充I格cd的比较?/p>
UID
该函数没有参敎ͼq回唯一标示当前数据库用L整数?/p>
USER
q回当前用户的用户名
USERENV()
Zoptq回包含当前会话信息。opt的可选gؓQ?/p>
ISDBA 会话中SYSDBA脚色响应Q返回TRUE
SESSIONID q回审计会话标示W?/p>
ENTRYID q回可用的审计项标示W?
INSTANCE 在会话连接后Q返回实例标C符。该值只用于q行Parallel 服务器ƈ且有 多个实例的情况下使用?br />
LANGUAGE q回语言、地域、数据库讄的字W集?br />
LANG q回语言名称的ISO~写?br />
TERMINAL 为当前会话用的l端或计机q回操作pȝ的标C符?
VSIZE()
x是一个表辑ּ。返回x内部表示的字节数?br />
SQL中的l函?/p>
l函C叫集合函敎ͼq回Z多个行的单一l果Q行的准数量无法确定,除非查询被执行ƈ且所有的l果都被包含在内。与单行函数不同的是Q在解析时所有的行都是已知的。由于这U差别ɾl函C单行函数有在要求和行Z有微的差异.
l(多行Q函?/p>
与单行函数相比,oracle提供了丰富的Zl的Q多行的函数。这些函数可以在select或select的having子句中用,当用于select子串时常帔R和GROUP BY一起用?/p>
AVG([{DISYINCT|ALL}])
q回数值的q_倹{缺省设|ؓALL.
SELECT AVG(sal),AVG(ALL sal),AVG(DISTINCT sal) FROM scott.empAVG(SAL) AVG(ALL SAL) AVG(DISTINCT SAL)1877.94118 1877.94118 1916.071413
COUNT({*|DISTINCT|ALL} )
q回查询中行的数目,~省讄是ALL,*表示q回所有的行?/p>
MAX([{DISTINCT|ALL}])
q回选择列表目的最大|如果x是字W串数据cdQ他q回一个VARCHAR2数据cdQ如果X是一个DATA数据cdQ返回一个日期,如果X是numeric数据cdQ返回一个数字。注意distinct和all不v作用Q应为最大gq两U设|是相同的?/p>
MIN([{DISTINCT|ALL}])
q回选择列表目的最倹{?/p>
STDDEV([{DISTINCT|ALL}])
q回选者的列表目的标准差Q所谓标准差是方差的qx栏V?/p>
SUM([{DISTINCT|ALL}])
q回选择列表目的数值的d?/p>
VARIANCE([{DISTINCT|ALL}])
q回选择列表目的统计方差?/p>
用GROUP BYl数据分l?/p>
正如题目暗示的那L函数是操作那些已经分好l的数据Q我们告诉数据库用GROUP BY怎样l数据分l或者分c,当我们在SELECT语句的SELECT子句中用组函数Ӟ我们必须把ؓ分组或非常数列放|在GROUP BY子句中,如果没有用group byq行专门处理Q那么缺省的分类是将整个l果设ؓ一cR?br /> select stat,counter(*) zip_count from zip_codes GROUP BY state;ST ZIP_COUNT-- ---------AK 360AL 1212AR 1309AZ 768CA 3982
在这个例子中Q我们用state字段分类Q如果我们要结果按照zip_codes排序,可以用ORDER BY语句QORDER BY子句可以使用列或l函数?br /> select stat,counter(*) zip_count from zip_codes GROUP BY state ORDER BY COUNT(*) DESC;ST COUNT(*)-- --------NY 4312PA 4297TX 4123CA 3982
用HAVING子句限制分组数据
现在你已l知道了在查询的SELECT语句和ORDER BY子句中用主函数Q组函数只能用于两个子串中,l函C能用于WHERE子串中,例如下面的查询是错误的:
错误SELECT sales_clerk,SUN(sale_amount) FROM gross_sales WHERE sales_dept='OUTSIDE' AND SUM(sale_amount)>10000 GROUP BY sales_clerk
q个语句中数据库不知道SUM()是什么,当我们需要指C数据库对行分组Q然后限制分l后的行的输出时Q正的Ҏ是用HAVING语句Q?br /> SELECT sales_clerk,SUN(sale_amount) FROM gross_sales WHERE sales_dept='OUTSIDE' GROUP BY sales_clerkHAVING SUM(sale_amount)>10000;
嵌套函数
函数可以嵌套。一个函数的输出可以是另一个函数的输入。操作数有一个可l承的执行过E。但函数的优先权只是Z位置Q函数遵循由内到外,由左到右的原则。嵌套技术一般用于象DECODEq样的能被用于逻辑判断语句IF....THEN...ELSE的函数?/p>
Oracle Database 10g引入了最新的数据?Data Dump)技?使DBA或开发h员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中.
数据泵导出导?EXPDP和IMPDP)的作?/p>
1,实现逻辑备䆾和逻辑恢复.
2,在数据库用户之间Ud对象.
3,在数据库之间Ud对象
4,实现表空间搬U?
数据泵导出导入与传统导出导入的区?/p>
?0g之前,传统的导出和导入分别使用EXP工具和IMP工具,?0g开?不仅保留了原有的EXP和IMP工具,q提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项;
EXP和IMP是客h工具E序,它们既可以在可以D?也可以在服务D?
EXPDP和IMPDP是服务端的工L?他们只能在ORACLE服务端?不能在客L使用
IMP只适用于EXP导出文g,不适用于EXPDP导出文g;IMPDP只适用于EXPDP导出文g,而不适用于EXP导出文g.
数据泵导出包括导,导出Ҏ,导出表空?导出数据?U方?
EXPDP命o行选项
1. ATTACH
该选项用于在客户会话与已存在导Z用之间徏立关?语法如下
ATTACH=[schema_name.]job_name
Schema_name用于指定Ҏ?job_name用于指定导出作业?注意,如果使用ATTACH选项,在命令行除了q接字符串和ATTACH选项?不能指定M其他选项,CZ如下:
Expdp scott/tiger ATTACH=scott.export_job
2. CONTENT
该选项用于指定要导出的内容.默认gؓALL
CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
当设|CONTENT为ALL ?导出对象定义及其所有数?为DATA_ONLY?只导出对象数?为METADATA_ONLY?只导出对象定?/p>
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump
CONTENT=METADATA_ONLY
3. DIRECTORY
指定转储文g和日志文件所在的目录
DIRECTORY=directory_object
Directory_object用于指定目录对象名称.需要注?目录对象是用CREATE DIRECTORY语句建立的对?而不是OS 目录
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump
建立目录:
CREATE DIRECTORY dump as ‘d:dump’;
查询创徏了那些子目录:
SELECT * FROM dba_directories;
4. DUMPFILE
用于指定转储文g的名U?默认名称为expdat.dmp
DUMPFILE=[directory_object:]file_name [,….]
Directory_object用于指定目录对象?file_name用于指定转储文g?需要注?如果不指定directory_object,导出工具会自动用DIRECTORY选项指定的目录对?/p>
Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp
5. ESTIMATE
指定估算被导所占用盘I间分方?默认值是BLOCKS
EXTIMATE={BLOCKS | STATISTICS}
讄为BLOCKS?oracle会按照目标对象所占用的数据块个数乘以数据块尺怼对象占用的I间,讄为STATISTICS?Ҏ最q统计g对象占用空?/p>
Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS
DIRECTORY=dump DUMPFILE=a.dump
6. EXTIMATE_ONLY
指定是否只估导Z业所占用的磁盘空?默认gؓN
EXTIMATE_ONLY={Y | N}
讄为Y?导出作用只估对象所占用的磁盘空?而不会执行导Z?为N?不仅估算对象所占用的磁盘空?q会执行导出操作.
Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y
7. EXCLUDE
该选项用于指定执行操作旉放要排除对象cd或相兛_?/p>
EXCLUDE=object_type[:name_clause] [,….]
Object_type用于指定要排除的对象cd,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW
8. FILESIZE
指定导出文g的最大尺?默认?,(表示文g寸没有限制)
9. FLASHBACK_SCN
指定导出特定SCN时刻的表数据
FLASHBACK_SCN=scn_value
Scn_value用于标识SCN?FLASHBACK_SCN和FLASHBACK_TIME不能同时使用
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp
FLASHBACK_SCN=358523
10. FLASHBACK_TIME
指定导出特定旉点的表数?/p>
FLASHBACK_TIME=”TO_TIMESTAMP(time_value)”
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME=
“TO_TIMESTAMP(’25-08-2004 14:35:00’,’DD-MM-YYYY HH24:MI:SS’)”
11. FULL
指定数据库模式导?默认为N
FULL={Y | N}
为Y?标识执行数据库导?
12. HELP
指定是否昄EXPDP命o行选项的帮助信?默认为N
当设|ؓY?会显C导出选项的帮助信?
Expdp help=y
13. INCLUDE
指定导出时要包含的对象类型及相关对象
INCLUDE = object_type[:name_clause] [,… ]
14. JOB_NAME
指定要导Z用的名称,默认为SYS_XXX
JOB_NAME=jobname_string
15. LOGFILE
指定导出日志文g文g的名U?默认名称为export.log
LOGFILE=[directory_object:]file_name
Directory_object用于指定目录对象名称,file_name用于指定导出日志文g?如果不指定directory_object.导出作用会自动用DIRECTORY的相应选项?
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log
16. NETWORK_LINK
指定数据库链?如果要将q程数据库对象导出到本地例程的{储文件中,必须讄该选项.
17. NOLOGFILE
该选项用于指定止生成导出日志文g,默认gؓN.
18. PARALLEL
指定执行导出操作的ƈ行进E个?默认gؓ1
19. PARFILE
指定导出参数文g的名U?/p>
PARFILE=[directory_path] file_name
20. QUERY
用于指定qo导出数据的where条g
QUERY=[schema.] [table_name:] query_clause
Schema用于指定Ҏ?table_name用于指定表名,query_clause用于指定条g限制子句.QUERY选项不能与CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES{选项同时使用.
Expdp scott/tiger directory=dump dumpfiel=a.dmp
Tables=emp query=’WHERE deptno=20’
21. SCHEMAS
该方案用于指定执行方案模式导?默认为当前用h?
22. STATUS
指定昄导出作用q程的详l状?默认gؓ0
23. TABLES
指定表模式导?/p>
TABLES=[schema_name.]table_name[:partition_name][,…]
Schema_name用于指定Ҏ?table_name用于指定导出的表?partition_name用于指定要导出的分区?
24. TABLESPACES
指定要导I间列表
25. TRANSPORT_FULL_CHECK
该选项用于指定被搬U表I间和未搬移表空间关联关pȝ查方?默认为N.
当设|ؓY?导出作用会检查表I间直接的完整关联关p?如果表空间所在表I间或其索引所在的表空间只有一个表I间被搬U?显C错误信?当设|ؓN?导出作用只检查单端依?如果搬移索引所在表I间,但未搬移表所在表I间,显C出错信?如果搬移表所在表I间,未搬Uȝ引所在表I间,则不会显C错误信?
26. TRANSPORT_TABLESPACES
指定执行表空间模式导?/p>
27. VERSION
指定被导出对象的数据库版?默认gؓCOMPATIBLE.
VERSION={COMPATIBLE | LATEST | version_string}
为COMPATIBLE?会根据初始化参数COMPATIBLE生成对象元数?为LATEST?会根据数据库的实际版本生成对象元数据.version_string用于指定数据库版本字W串.
调用EXPDP
使用EXPDP工具?其{储文件只能被存放在DIRECTORY对象对应的OS目录?而不能直接指定{储文件所在的OS目录.因此,使用EXPDP工具?必须首先建立DIRECTORY对象.q且需要ؓ数据库用h予用DIRECTORY对象权限.
CREATE DIRECTORY dump dir AS ‘D:DUMP’;
GRANT READ, WIRTE ON DIRECTORY dump_dir TO scott;
1,导出?/p>
Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp
2,导出Ҏ
Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp
SCHEMAS=system,scott
3.导出表空?/p>
Expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp
TABLESPACES=user01,user02
4,导出数据?/p>
Expdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y
使用IMPDP
IMPDP命o行选项与EXPDP有很多相同的,不同的有:
1,REMAP_DATAFILE
该选项用于源数据文g名{变ؓ目标数据文g?在不同^C间搬U表I间时可能需要该选项.
REMAP_DATAFIEL=source_datafie:target_datafile
2,REMAP_SCHEMA
该选项用于源Ҏ的所有对象装载到目标Ҏ?
REMAP_SCHEMA=source_schema:target_schema
3,REMAP_TABLESPACE
源表空间的所有对象导入到目标表空间中
REMAP_TABLESPACE=source_tablespace:target_tablespace
4.REUSE_DATAFILES
该选项指定建立表空间时是否覆盖已存在的数据文g.默认为N
REUSE_DATAFIELS={Y | N}
5.SKIP_UNUSABLE_INDEXES
指定导入是是否蟩q不可用的索引,默认为N
6,SQLFILE
指定导入要指定的烦引DDL操作写入到SQL脚本?/p>
SQLFILE=[directory_object:]file_name
Impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=a.sql
7.STREAMS_CONFIGURATION
指定是否导入元数据(Stream Matadata),默认gؓY.
8,TABLE_EXISTS_ACTION
该选项用于指定当表已经存在时导入作业要执行的操?默认为SKIP
TABLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | RERPLACE }
当设|该选项为SKIP?导入作业会蟩q已存在表处理下一个对?当设|ؓAPPEND?会追加数?为TRUNCATE?导入作业会截断表,然后为其q加新数?当设|ؓREPLACE?导入作业会删除已存在?重徏表病q加数据,注意,TRUNCATE选项不适用与簇表和NETWORK_LINK选项
9.TRANSFORM
该选项用于指定是否修改建立对象的DDL语句
TRANSFORM=transform_name:value[:object_type]
Transform_name用于指定转换?其中SEGMENT_ATTRIBUTES用于标识D属?物理属?存储属?表空?日志{信?,STORAGE用于标识D存储属?VALUE用于指定是否包含D属性或D存储属?object_type用于指定对象cd.
Impdp scott/tiger directory=dump dumpfile=tab.dmp
Transform=segment_attributes:n:table
10.TRANSPORT_DATAFILES
该选项用于指定搬移I间时要被导入到目标数据库的数据文g
TRANSPORT_DATAFILE=datafile_name
Datafile_name用于指定被复制到目标数据库的数据文g
Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmp
TRANSPORT_DATAFILES=’/user01/data/tbs1.f’
调用IMPDP
1, 导入?/p>
Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp
TABLES=dept,emp
Impdp system/manage DIRECTORY=dump_dir DUMPFILE=tab.dmp
TABLES=scott.dept,scott.emp REMAP_SCHEMA=SCOTT:SYSTEM
W一U方法表C将DEPT和EMP表导入到SCOTTҎ?W二U方法表C将DEPT和EMP表导入的SYSTEMҎ?
注意,如果要将表导入到其他Ҏ?必须指定REMAP SCHEMA选项.
2,导入Ҏ
Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp
SCHEMAS=scott
Impdp system/manager DIRECTORY=dump_dir DUMPFILE=schema.dmp
SCHEMAS=scott REMAP_SCHEMA=scott:system
3,导入表空?/p>
Impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp
TABLESPACES=user01
4,导入数据?/p>
Impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y
$ORACLE_HOME/bin/impdp newpoint/newpoint dumpfile=db223_newpoint_10_1_080615104633.dmp DIRECTORY=DUMP_DIR TABLES=newpoint.PI_B_COLUMN TABLE_EXISTS_ACTION=REPLACE REMAP_SCHEMA=newpoint:bbscs:
show parameter processes;
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 150
alter system set processes=500 scope=spfile;
create pfile from spfile;
重启数据?br>SQL> show parameter processes;
如果惛_除一个表的重复数据,可以先徏一个时表Q将L重复数据后的数据导入C时表Q然后在?br>临时表将数据导入正式表中Q如下:
INSERT INTO t_table_bak
select distinct * from t_table;
select tablespace_name,sum(bytes)/1024/1024/1024 GB
from dba_data_files group by tablespace_name
union all
select tablespace_name,sum(bytes)/1024/1024/1024 GB
from dba_temp_files group by tablespace_name order by GB;
2.认文g
select file_name,bytes/1024/1024 from dba_data_files
where tablespace_name like 'USERS';
3.查UNDO Segment状?br>select usn,xacts,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks
from v$rollstat order by rssize;
3.创徏新用戯I间
CREATE TABLESPACE USERS DATAFILE '/opt/oracle/oradata/insight/users_01.dbf' SIZE 128M REUSE
AUTOEXTEND ON NEXT 1280K
MINIMUM EXTENT 128K
DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
4.改变默认用户表空?br>alter database default tablespace NEWUSERS;
5.删除Users表空?br>drop tablespace USERS including contents and datafiles
cd /opt/oracle/backup/data
echo $APP_NAME >/opt/oracle/backup/logs/messagedate.log
ORACLE_HOME=/opt/oracle/OraHome
export ORACLE_HOME
ORACLE_SID=insight
export ORACLE_SID
cd /opt/oracle/backup/data/
$ORACLE_HOME/bin/expdp appraise/appraise schemas=appraise dumpfile=db165_appraise_$APP_NAME.dmp DIRECTORY=dpump_dir
在crontab -e?br />
0 */6 * * * /opt/oracle/backup/backup.sh >/opt/oracle/backup/logs/errorcron.log
imp userid=exam/password123@qiuding fromuser=exam touser=exam file=D:\data\dbbak\oracle\20130311\exam\exam.dmp
1、查看表I间的名U及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
2、查看表I间物理文g的名U及大小
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
3、查看回滚段名称及大?/font>
select segment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
max_extents, v.curext CurExtent
From dba_rollback_segs r, v$rollstat v
Where r.segment_id = v.usn(+)
order by segment_name;
4、查看控制文?/font>
select name from v$controlfile;
5、查看日志文?/font>
select member from v$logfile;
6、查看表I间的用情?/font>
select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
7、查?a class="wordstyle" target="_blank">数据?/a>库对?/font>
select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;
8、查?a class="wordstyle" target="_blank">数据?/a>的版本
Select version FROM Product_component_version
Where SUBSTR(PRODUCT,1,6)='Oracle';
9、查?a class="wordstyle" target="_blank">数据?/a>的创建日期和归档方式
Select Created, Log_Mode, Log_Mode From V$Database;
10、捕捉运行很久的SQL
column username format a12
column opname format a16
column progress format a8
select username,sid,opname,
round(sofar*100 / totalwork,0) || '%' as progress,
time_remaining,sql_text
from v$session_longops , v$sql
where time_remaining <> 0
and sql_address = address
and sql_hash_value = hash_value
/
11。查看数据表的参C?/font>
SELECT partition_name, high_value, high_value_length, tablespace_name,
pct_free, pct_used, ini_trans, max_trans, initial_extent,
next_extent, min_extent, max_extent, pct_increase, FREELISTS,
freelist_groups, LOGGING, BUFFER_POOL, num_rows, blocks,
empty_blocks, avg_space, chain_cnt, avg_row_len, sample_size,
last_analyzed
FROM dba_tab_partitions
--WHERE table_name = :tname AND table_owner = :towner
ORDER BY partition_position
12.查看q没提交的事?/font>
select * from v$locked_object;
select * from v$transaction;
13。查找object为哪些进E所?/font>
select
p.spid,
s.sid,
s.serial# serial_num,
s.username user_name,
a.type object_type,
s.osuser os_user_name,
a.owner,
a.object object_name,
decode(sign(48 - command),
1,
to_char(command), 'Action Code #' || to_char(command) ) action,
p.program oracle_process,
s.terminal terminal,
s.program program,
s.status session_status
from v$session s, v$access a, v$process p
where s.paddr = p.addr and
s.type = 'USER' and
a.sid = s.sid and
a.object='SUBSCRIBER_ATTR'
order by s.username, s.osuser
14。回滚段查看
select rownum, sys.dba_rollback_segs.segment_name Name, v$rollstat.extents
Extents, v$rollstat.rssize Size_in_Bytes, v$rollstat.xacts XActs,
v$rollstat.gets Gets, v$rollstat.waits Waits, v$rollstat.writes Writes,
sys.dba_rollback_segs.status status from v$rollstat, sys.dba_rollback_segs,
v$rollname where v$rollname.name(+) = sys.dba_rollback_segs.segment_name and
v$rollstat.usn (+) = v$rollname.usn order by rownum
15。耗资源的q程Qtop sessionQ?/font>
select s.schemaname schema_name, decode(sign(48 - command), 1,
to_char(command), 'Action Code #' || to_char(command) ) action, status
session_status, s.osuser os_user_name, s.sid, p.spid , s.serial# serial_num,
nvl(s.username, '[Oracle process]') user_name, s.terminal terminal,
s.program program, st.value criteria_value from v$sesstat st, v$session s , v$process p
where st.sid = s.sid and st.statistic# = to_number('38') and ('ALL' = 'ALL'
or s.status = 'ALL') and p.addr = s.paddr order by st.value desc, p.spid asc, s.username asc, s.osuser asc
16。查看锁QlockQ情?/font>
select /*+ RULE */ ls.osuser os_user_name, ls.username user_name,
decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX',
'Transaction enqueue lock', 'UL', 'User supplied lock') lock_type,
o.object_name object, decode(ls.lmode, 1, null, 2, 'Row Share', 3,
'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive', null)
lock_mode, o.owner, ls.sid, ls.serial# serial_num, ls.id1, ls.id2
from sys.dba_objects o, ( select s.osuser, s.username, l.type,
l.lmode, s.sid, s.serial#, l.id1, l.id2 from v$session s,
v$lock l where s.sid = l.sid ) ls where o.object_id = ls.id1 and o.owner
<> 'SYS' order by o.owner, o.object_name
17。查看等待(waitQ情?/font>
SELECT v$waitstat.class, v$waitstat.count count, SUM(v$sysstat.value) sum_value
FROM v$waitstat, v$sysstat WHERE v$sysstat.name IN ('db block gets',
'consistent gets') group by v$waitstat.class, v$waitstat.count
18。查看sga情况
SELECT NAME, BYTES FROM SYS.V_$SGASTAT ORDER BY NAME ASC
19。查看catched object
SELECT owner, name, db_link, namespace,
type, sharable_mem, loads, executions,
locks, pins, kept FROM v$db_object_cache
20。查看V$SQLAREA
SELECT SQL_TEXT, SHARABLE_MEM, PERSISTENT_MEM, RUNTIME_MEM, SORTS,
VERSION_COUNT, LOADED_VERSIONS, OPEN_VERSIONS, USERS_OPENING, EXECUTIONS,
USERS_EXECUTING, LOADS, FIRST_LOAD_TIME, INVALIDATIONS, PARSE_CALLS, DISK_READS,
BUFFER_GETS, ROWS_PROCESSED FROM V$SQLAREA
21。查看object分类数量
select decode (o.type#,1,'INDEX' , 2,'TABLE' , 3 , 'CLUSTER' , 4, 'VIEW' , 5 ,
'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) object_type , count(*) quantity from
sys.obj$ o where o.type# > 1 group by decode (o.type#,1,'INDEX' , 2,'TABLE' , 3
, 'CLUSTER' , 4, 'VIEW' , 5 , 'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) union select
'COLUMN' , count(*) from sys.col$ union select 'DB LINK' , count(*) from
22。按用户查看objectU类
select u.name schema, sum(decode(o.type#, 1, 1, NULL)) indexes,
sum(decode(o.type#, 2, 1, NULL)) tables, sum(decode(o.type#, 3, 1, NULL))
clusters, sum(decode(o.type#, 4, 1, NULL)) views, sum(decode(o.type#, 5, 1,
NULL)) synonyms, sum(decode(o.type#, 6, 1, NULL)) sequences, %2
3.安装
./runInstaller -ignoreSysPrereqs
安装界面或者netca界面、dbca界面昄很多"口口"样子的ؕ?/p>
解决办法:查看locale输出
# locale
LANG=zh_CN.GB18030
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="zh_CN.GB18030"
LC_TIME="zh_CN.GB18030"
LC_COLLATE="zh_CN.GB18030"
LC_MONETARY="zh_CN.GB18030"
LC_MESSAGES="zh_CN.GB18030"
LC_PAPER="zh_CN.GB18030"
LC_NAME="zh_CN.GB18030"
LC_ADDRESS="zh_CN.GB18030"
LC_TELEPHONE="zh_CN.GB18030"
LC_MEASUREMENT="zh_CN.GB18030"
LC_IDENTIFICATION="zh_CN.GB18030"
LC_ALL=
执行#export LANG=en_US 然后重新调用安装E序.
4.安装q程中修?/p>
fc5 下修改/usr/local/oracle/bin/gennttab
LIB=`echo ${TtoLIB} | sed 's/ /\n/g' | grep "^${T}:" | awk -F: '{print $2}'`
INI=`echo ${TtoINI} | sed 's/ /\n/g' | grep "^${T}:" | awk -F: '{print $2}'`
BAS=`echo ${TtoBAS} | sed 's/ /\n/g' | grep "^${T}:" | awk -F: '{print $2}'`
5.linux分区
/-4g
/boot-100m
/usr--4g
/swap-4g
/home-30g
/opt -oracle