- 论坛徽章:
- 0
|
1、手工建库
spool \build.log
SET TERMOUT OFF
SET ECHO OFF
connect internal
@@build_db.sql
@E:\oracle\ora81\RDBMS\admin\catalog.sql
@E:\oracle\ora81\RDBMS\admin\catsnmp.sql
connect internal
@E:\oracle\ora81\RDBMS\admin\catexp7.sql
@E:\oracle\ora81\RDBMS\admin\catproc.sql
@@scott.sql
connect internal
@@demo.sql
connect system/manager
@E:\oracle\ora81\RDBMS\admin\catdbsyn.sql
@E:\oracle\ora81\SQLPLUS\admin\pupbld.sql
connect internal
@E:\oracle\ora81\RDBMS\admin\caths.sql
@E:\oracle\ora81\RDBMS\admin\oramts.sql
connect internal
alter rollback segment rb_temp offline;
shutdown;
spool off
2、ORACLE SEQUENCE
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
3、Oracle数据库碎片整理
select tablespace_name,sqrt(max(blocks)/sum(blocks))*
(100/sqrt(sqrt(count(blocks)))) FSFI
from dba_free_space
group by tablespace_name order by 1;
spool fsfi.rep;
统计出了数据库的FSFI值,就可以把它作为一个可比参数。在一个有着足够有效自由空间,且
FSFI值超过30的表空间中,很少会遇见有效自由空间的问题。当一个空间将要接近可比参数时
,就需要做碎片整理了。
alter tablespace temp coalesce;
4、查看表空间使用情况
SELECT D.TABLESPACE_NAME "Name", D.STATUS "Status",
TO_CHAR((A.BYTES / 1024 / 1024), '99,990.9') "Size (M)",
TO_CHAR(((A.BYTES - DECODE(F.BYTES, NULL, 0, F.BYTES)) / 1024 / 1024),'99,990.9') "Used (M)",
TO_CHAR((DECODE(F.BYTES, NULL, 0, F.BYTES) / 1024 / 1024),'99,990.9') "Free (M)",
TO_CHAR(((((A.BYTES - DECODE(F.BYTES, NULL, 0, F.BYTES)) / 1024 / 1024)) /(A.BYTES / 1024 / 1024))*100,'99,990.9') "used(%)"
FROM SYS.DBA_TABLESPACES D, SYS.SM$TS_AVAIL A, SYS.SM$TS_FREE F
WHERE D.TABLESPACE_NAME = A.TABLESPACE_NAME
AND F.TABLESPACE_NAME (+) = D.TABLESPACE_NAME
5、按用户查看所占用的数据库空间
select owner,SEGMENT_TYPE,sum(BYTES)/1024/1024 as SIZE_M from dba_segments group by owner,SEGMENT_TYPE;
6、查看锁
select /*+ NO_MERGE(a) NO_MERGE(b) NO_MERGE(c) */ 'Wait' "Status",
a.username, a.machine, a.sid, a.serial#, a.last_call_et "Seconds", b.id1, c.sql_text "SQL"
from v$session a, v$lock b, v$sqltext c
where a.username is not null
and a.lockwait = b.kaddr
and c.hash_value =a.sql_hash_value
union
select /*+ NO_MERGE(a) NO_MERGE(b) NO_MERGE(c) */ 'Lock' "Status", a.username, a.machine, a.sid, a.serial#, a.last_call_et "Seconds", b.id1, c.sql_text "SQL"
from v$session a, v$lock b, v$sqltext c
where b.id1 in
(select /*+ NO_MERGE(d) NO_MERGE(e) */ distinct e.id1
from v$session d, v$lock e
where d.lockwait = e.kaddr)
and a.username is not null
and a.sid = b.sid
and b.request=0
and c.hash_value =a.sql_hash_value;
7、共享服务器
alter system set dispatchers='(protocol=tcp)(dispatchers=3)' scope=both;
V$CIRCUIT:显示连接上来的用户进程
V$SHARED_SERVER:显示共享服务器进程信息
V$DISPATCHER:显示调度器进程的信息
V$SHARED_SERVER_MONITOR:包含调优共享服务器进程的信息
V$QUEUE:包含请求队列和应答队列的信息
V$SESSION:包含每一个当前会话的信息
不好意思,该下班了。下次再补其他的
希望大家用的上! |
|