如何搜索出前N条记录?
SELECT * FROM empLOYEE WHERE ROWNUM < n
ORDER BY empno;
102. 如何知道机器上的Oracle支持多少并发用户数?
SQL>conn internal
SQL>show parameter processes
db_block_size可以修改吗?
一般不可以﹐不建议这样做的
如何统计两个表的记录总数?
select (select count(id) from aa)+(select count(id) from bb) 总数 from dual
怎样用Sql语句实现查找一列中第N大值?
select * from
(select t*dense_rank() over (order by sal) rank from employee)
where rank = N
如何在给现有的日期加上年?(
select add_months(sysdate) from dual
USED_UBLK为负值表示什么意思?
It is harmless
Connect string是指什么?
应该是tnsnamesora中的服务名后面的内容
怎样扩大REDO LOG的大小?
建立一个临时的redolog组然后切换日志删除以前的日志建立新的日志
tablespace 是否不能大于G?
没有限制
返回大于等于N的最小整数值?
SELECT CEIL(N) FROM DUAL
返回小于等于N的最小整数值?
SELECT FLOOR(N) FROM DUAL
返回当前月的最后一天?
SELECT LAST_DAY(SYSDATE) FROM DUAL
如何不同用户间数据导入?
IMP SYSTEM/MANAGER FILE=AADMP FROMUSER=USER_OLD TOUSER=USER_NEW ROWS=Y INDEXES=Y
如何找数据库表的主键字段的名称?
SQL>SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE=P and table_name=TABLE_NAME
两个结果集互加的函数?
SQL>SELECT * FROM BSEMPMS_OLD INTERSECT SELECT * FROM BSEMPMS_NEW
SQL>SELECT * FROM BSEMPMS_OLD UNION SELECT * FROM BSEMPMS_NEW
SQL>SELECT * FROM BSEMPMS_OLD UNION ALL SELECT * FROM BSEMPMS_NEW
两个结果集互减的函数?
SQL>SELECT * FROM BSEMPMS_OLD MINUS SELECT * FROM BSEMPMS_NEW
如何配置Sequence?
建sequence seq_custid
create sequence seq_custid start incrememt by
建表时
create table cust
{ cust_id smallint not null
}
insert 时
insert into table cust
values( seq_custnextval)
日期的各部分的常用的的写法
取时间点的年份的写法
SELECT TO_CHAR(SYSDATEYYYY) FROM DUAL
取时间点的月份的写法
SELECT TO_CHAR(SYSDATEMM) FROM DUAL
取时间点的日的写法
SELECT TO_CHAR(SYSDATEDD) FROM DUAL
取时间点的时的写法
SELECT TO_CHAR(SYSDATEHH) FROM DUAL
取时间点的分的写法
SELECT TO_CHAR(SYSDATEMI) FROM DUAL
取时间点的秒的写法
SELECT TO_CHAR(SYSDATESS) FROM DUAL
取时间点的日期的写法
SELECT TRUNC(SYSDATE) FROM DUAL
取时间点的时间的写法
SELECT TO_CHAR(SYSDATEHHMISS) FROM DUAL
日期时间形态变为字符形态
SELECT TO_CHAR(SYSDATE) FROM DUAL
将字符串转换成日期或时间形态
SELECT TO_DATE(//) FROM DUAL
返回参数的星期几的写法
SELECT TO_CHAR(SYSDATED) FROM DUAL
返回参数一年中的第几天的写法
SELECT TO_CHAR(SYSDATEDDD) FROM DUAL
返回午夜和参数中指定的时间值之间的秒数的写法
SELECT TO_CHAR(SYSDATESSSSS) FROM DUAL
返回参数中一年的第几周的写法
SELECT TO_CHAR(SYSDATEWW) FROM DUAL
虚拟字段
CURRVAL 和 nextval
为表创建序列
CREATE SEQUENCE EMPSEQ
SELECT empseqcurrval FROM DUAL
自动插入序列的数值
INSERT INTO emp
VALUES (empseqnextval LEWIS CLERK
SYSDATE NULL )
ROWNUM
按设定排序的行的序号
SELECT * FROM emp WHERE ROWNUM <
ROWID
返回行的物理地址
SELECT ROWID ename FROM emp WHERE deptno =
将N秒转换为时分秒格式?
set serverout on
declare
N number =
ret varchar()
begin
ret = trunc(n/) || 小时 || to_char(to_date(mod(n)sssss)fmmi分 ss秒)
dbms_outputput_line(ret)
end
如何查询做比较大的排序的进程?
SELECT btablespace bsegfile# bsegblk# bblocks asid aserial# ausername aosuser astatus
FROM v$session av$sort_usage b
WHERE asaddr = bsession_addr
ORDER BY btablespace bsegfile# bsegblk# bblocks
如何查询做比较大的排序的进程的SQL语句?
select /*+ ORDERED */ sql_text from v$sqltext a
where ahash_value = (
select sql_hash_value from v$session b
where bsid = &sid and bserial# = &serial)
order by piece asc
如何查找重复记录?
SELECT * FROM TABLE_NAME
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D
WHERE TABLE_NAMECOL=DCOL AND TABLE_NAMECOL=DCOL)
如何删除重复记录?
DELETE FROM TABLE_NAME
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D
WHERE TABLE_NAMECOL=DCOL AND TABLE_NAMECOL=DCOL)
如何快速编译所有视图?
SQL >SPOOL VIEWSQL
SQL >SELECT ALTER VIEW ||TNAME||
COMPILE FROM TAB
SQL >SPOOL OFF
然后执行VIEWSQL即可
SQL >@VIEWSQL
ORA SNAPSHOT TOO OLD的解决办法
增加MINEXTENTS的值增加区的大小设置一个高的OPTIMAL值
事务要求的回滚段空间不够表现为表空间用满(ORA错误)回滚段扩展到达参数 MAXEXTENTS的值(ORA)的解决办法
向回滚段表空间添加文件或使已有的文件变大增加MAXEXTENTS的值
如何加密ORACLE的存储过程?
下列存储过程内容放在AASQL文件中
create or replace procedure testCCB(i in number) as
begin
dbms_outputput_line(输入参数是||to_char(i))
end
SQL>wrap iname=asql
PL/SQL Wrapper Release Production on Tue Nov
Copyright (c) Oracle Corporation All Rights Reserved
Processing AAsql to AAplb
运行AAplb
SQL> @AAplb
如何监控事例的等待?
select eventsum(decode(wait_Time)) Prev
sum(decode(wait_Time)) Currcount(*) Tot
from v$session_Wait
group by event order by
如何回滚段的争用情况?
select name waits gets waits/gets Ratio
from v$rollstat C v$rollname D
where Cusn = Dusn
如何监控表空间的 I/O 比例?
select Btablespace_name name Bfile_name file Aphyrds pyr Aphyblkrd pbr Aphywrts pyw Aphyblkwrt pbw
from v$filestat A dba_data_files B
where Afile# = Bfile_id
order by Btablespace_name
如何监控文件系统的 I/O 比例?
select substr(Cfile#) # substr(Cname) Name Cstatus Cbytes Dphyrds Dphywrts
from v$datafile C v$filestat D
where Cfile# = Dfile#
如何在某个用户下找所有的索引?
select user_indexestable_name user_indexesindex_nameuniqueness column_name
from user_ind_columns user_indexes
where user_ind_columnsindex_name = user_indexesindex_name
and user_ind_columnstable_name = user_indexestable_name
order by user_indexestable_type user_indexe