Oracle中一些典型操作

--查看表空间及数据文件
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;
--------------------------------------------------------------------
--表空间设为自动增长
ALTER DATABASE   
    DATAFILE [数据文件] AUTOEXTEND   
    ON NEXT 200M MAXSIZE UNLIMITED
--------------------------------------------------------------------
--查询所有表空间使用情况
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,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;
-------------------------------------------------------------------
--创建表空间
select file_name,tablespace_name from dba_data_files;
create tablespace SHOA datafile '/u01/app/oracle/product/11.2.0/dbhome_2/dbs/SHOA.dbf' size 20m;


表头
CREATE OR REPLACE PACKAGE GetPageList
AS
TYPE o_Cursor IS REF CURSOR;
PROCEDURE Get_News(pageIndex in Number,pageSize in Number,isDelu in

Number,uRowCount OUT Number,pageCount OUT Number,o_remCursor OUT o_Cursor);
end GetPageList;

表体
CREATE OR REPLACE PACKAGE BODY GetPageList
AS
PROCEDURE Get_News(pageIndex in Number,pageSize in Number,
isDelu in Number,uRowCount OUT Number,pageCount OUT Number,o_remCursor OUT o_Cursor)
IS
BEGIN
OPEN o_remCursor FOR
SELECT NID,NTITLE,NCONTENT,NPICADDRESS,NADDTIME,NISDEL
FROM (
      SELECT A.*, ROWNUM RN FROM (SELECT * FROM News order by NID) A
      WHERE ROWNUM <= pageIndex*pageSize
  )
 WHERE RN >= (pageIndex-1)*pageSize+1 and NISDEL =isDelu;
select count(*) into uRowCount From News;
pageCount := ceil(uRowCount/pageSize);
END Get_News;
END GetPageList;

--创建序列
-- Create sequence
create sequence MY_NEWS
minvalue 1
maxvalue 99999999999
start with 61
increment by 1
cache 20;
--创建触发器
CREATE OR REPLACE TRIGGER news_trigger BEFORE INSERT ON NEWS_COMMENT FOR EACH ROW
BEGIN SELECT my_news.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
--Oracle连接数
select sid,serial#,username,program,machine,status from v$session t where t.MACHINE='WORKGROUP\WINDOWS-56EK4V4'

select count(*) from v$session t where t.MACHINE='WORKGROUP\WINDOWS-56EK4V4' and t.STATUS='ACTIVE'

猜你喜欢

转载自blog.csdn.net/qq243348167/article/details/38077877