SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
from (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
from SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
......
--锁的概念
锁出现在数据共享的场合,用来保证数据的一致性。当多个会话同时修改一个表时,需要对数据进行相应的锁定。
-- 锁的模式,有以下几种模式
0:none
1:null 空
2:Row-S 行共享(RS):共享表锁,sub share
3:Row-X 行独占(RX):用于行的修改,sub exclusive
4:Share 共享锁(S):阻止其他DML操作,share
5:S/Row-X 共享行独占(SRX):阻止其他事务操作,share/sub exclusive
6:exclusive 独占(X):独立访问使用,exclusive
--查看锁的SQL
select t2.username, t2.sid, t2.serial#, t2.logon_time, t1.locked_mode
from v$locked_object t1, v$session t2
where t1.session_id = t2.sid
order by t2.logon_time
--杀掉长期没有释放的锁
alter system session kill 'session,serial#' ......
package test;
import java.text.SimpleDateFormat;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import po.Stu;
public class Insert1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Configuration cf = new Configuration().configure();
SessionFactory sf = cf.buildSessionFactory();
Session session = sf.openSession();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String aa = "1999-12-22";
java.util.Date timeDate = null;
try {
timeDate = sdf.parse(aa);
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}// util类型
java.sql.Date dateTime = new java.sql.Date(timeDate.getTime()); ......
1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
SELECT col1,col2 into 变量1,变量2 from typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxxx;
END;
...
3.IF 判断
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.while 循环
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;
5.变量赋值
V_TEST := 123;
6.用for in 使用cursor
...
IS
CURSOR cur IS SELECT * from xxx;
BEGIN
FOR ......
CREATE OR REPLACE FUNCTION OFFICE.fbill_getbalance (billid NUMBER, total NUMBER)
RETURN NUMBER
IS
paid NUMBER;
balance NUMBER;
BEGIN
balance := total;
--get total paid
SELECT SUM (n_paidamount)
INTO paid
from tbnk_payoutbillconn i
WHERE i.n_billid = billid AND i.s_billorpur = 'B';
--get balance of bill
balance := NVL (total, 0) - NVL (paid, 0);
RETURN balance;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN balance;
WHEN OTHERS
THEN
RETURN balance;
RAISE;
END fbill_getbalance;
......
《oracle大型数据库系统在AIX/unix上的实战详解》集中讨论35:在AIX环境下为Oracle、sybase 使用裸设备 文平 裸设备事一种在UNIX下常用的数据库数据存储方式,在AIX中如此,在HP-UX\SCO UNIX等系统中皆是如此。这段时期以来一直有同志们邮件询问如何使用裸设备。这里我汇总一些AIX下裸设备的使用问题。 在AIX中,裸设备是一种未创建文件系统的逻辑卷LV,在AIX下通过mklv创建,在HP-UX中、Linux中等通过lvcreate等命令创建。下面我们汇总一下AIX裸设备的使用问题。 1:mklv 命令的使用:
Creates a logical volume.
语法:
mklv [ -a Position ] [ -b BadBlocks ] [ -c Copies ] [ -d Schedule ] [ -e Range ][ -i ] [ -L Label ] [ -m MapFile ] [ -o Y / N
] [ -r Relocate ] [ -s Strict ] [-t Type ] [ -u UpperBound ] [ -v Verify ] [ -w MirrorWriteConsistency ] [ -xMaximum ] [ -y
NewLogicalVolume | -Y Prefix ] [ -S StripeSize ] [ -U Userid ] [-G Groupid ] [ -P Modes ] VolumeGroup Number [ PhysicalVolume
... ] 例如,我们为sybase用户创建一个逻辑卷,用于sybase的数据库 ......