锁表查询
SELECT a.sid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name
FROM v p r o c e s s p , v process p, v processp,vsession a, v$locked_object b, all_objects c
WHERE p.addr = a.paddr
AND a.process = b.process
AND c.object_id = b.object_id
删除锁表
alter system kill session ‘SID,SERIAL#’ immediate ;
alter system kill session ‘4003,2611’ immediate ;
in和exists
数据少的时候 in快 多的时候 exists 快
select count(1) from attributeinstance where processinstanceid in
(select lcslid from expense where DJZT = ‘7’ and DQCLHJ = ‘稽核’);
select a.* from attributeinstance a where exists
(select 1 from expense b where DJZT = ‘7’ and DQCLHJ = ‘稽核’
and a.processinstanceid = b.lcslid);
创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp。
CREATE TEMPORARY TABLESPACE TRAFFIC_TEMP
TEMPFILE ‘/home/oracle/tablespace/TRAFFIC_TEMP.DBF’
SIZE 32M
AUTOEXTEND ON
NEXT 32M MASIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
创建用户之前先要创建数据表空间,若没有创建则默认永久性表空间是system。
CREATE TABLESPACE TRAFFIC
LOGGING
DATAFILE ‘/home/oracle/tablespace/TRAFFIC.DBF’
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
查看表空间总大小:
select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;
查看表空间已使用大小及分配情况
select SEGMENT_TYPE,owner,sum(bytes)/1024/1024 from dba_segments where tablespace_name=‘XITONG’ group by segment_type,owner;
查看表空间文件路径
select * from dba_data_files;
增加表空间大小
可以选择增加新的数据文件:
alter tablespace name add datafile 'F:\SOFT-INSTALL-SOFT\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\HOUTAI1.ORA ’ size 100M;
扩充表空间原有数据文件的大小
ALTER DATABASE DATAFILE ‘F:\SOFT-INSTALL-SOFT\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\HOUTAI.ORA’ RESIZE 1024M;
或
ALTER TABLESPACE SDE AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF’
AUTOEXTEND ON NEXT 100M MAXSIZE 20480M;
Oracle单个数据文件超过32G后扩容
表空间数据文件容量与DB_BLOCK_SIZE的设置有关,而这个参数在创建数据库实例的时候就已经指定。DB_BLOCK_SIZE参数可以设置为4K、8K、16K、32K、64K等几种,Oracle的物理文件最大只允许4194304个数据块(这个参数具体由操作系统决定,一般应该是此数字),表空间数据文件的最大值对应关系就可以通过4194304×DB_BLOCK_SIZE/1024M计算得出。
4k最大表空间为:16384M
8K最大表空间为:32768M
16k最大表空间为:65536M
32K最大表空间为:131072M
64k最大表空间为:262144M
而Oracle默认分配的为8K,也就是对应于32768M左右的空间大小,如果想继续增大表空间的话,只需要通过alter tablespace name add datafile ‘path/file_name’ size 1024M;添加数据文件的方式就可以了。