col "object" format a20
col "otype" format a12
col "change date" format a20
select substr(owner,1,12) "owner",
substr(object_name,1,20) "object" ,
object_type "otype",
to_char(last_ddl_time,’dd-mon-yyyy hh24:mm:ss’) "change date"
from dba_objects
where status<>’valid’
order by 1,2
dbms_utility.compile_schema(‘gw’);
end;
a.executions exec,
a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio,
a.sql_text statement
from v$sqlarea a,dba_users b
where a.parsing_user_id=b.user_id
and a.disk_reads>100000
order by a.disk_reads desc
select sql_text,rank() over(order by buffer_gets desc) as rank_bufgets,
to_char(100*ratio_to_report(buffer_gets) over(), 999.99) pct_bufgets
from v$sql)
where rank_bufgets<11
'd:/oradata/user1_1.ora' size 512M,
'd:/oradata/user1_2.ora' size 512M,
'd:/oradata/user1_3.ora' size 512M,
'd:/oradata/user1_4.ora' size 512M,
'd:/oradata/user1_5.ora' size 512M,
'd:/oradata/user1_6.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 128K next 2M pctincrease 0);
--initial爲空表的最小佔用的磁盤空間
create tablespace ROLLBACK_DATA1 datafile
'd:/oradata/roll1_1.ora' size 512M,
'd:/oradata/roll1_2.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 40M next 5M pctincrease 0);
alter database open;
SELECT SEGMENT_NAME,OWNER,
TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS
FROM DBA_ROLLBACK_SEGS
(2.)回滾段刪除
alter rollback segment 回滾段名 offline;
drop rollback segment 回滾段名;
(3.)回滾段建立
create public rollback segment rb01 tablespace rollback_data1;
--建立新的回滾段,每個都一樣大,不同大小的回滾段沒有什麼意義,系統是隨機選擇的。
--建多少個,根據併發訪問用戶的多少,
--如果你們公司每天有50-100個人員使用Oracle系統開發的管理軟件,應該20個以上
(4.)使回滾字段有效
alter rollback segment rb01 online;
必須被取消。**/
alter user xyapp quota 0 on SYSTEM;
CREATE USER ZBGL IDENTIFIED BY ZBGL default tablespace 表空間名;
GRANT DBA TO ZBGL;
ALTER USER ZBGL DEFAULT TABLESPACE WXGL_DATA1 TEMPORARY TABLESPACE TEMPORARY_DATA;
alter table acl_query move tablespace xyapp;
SQL> select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
|
SQL> select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
|
SQL> select segment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
max_extents, v.curext CurExtent
From dba_rollback_segs r, v$rollstat v
Where r.segment_id = v.usn(+)
order by segment_name ;
|
SQL> select name from v$controlfile;
|
SQL> select member from v$logfile;
|
---使用DBA權限登陸
SQL> 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;--查看錶空間是否具有自動擴展的能力 SQL> SELECT T.TABLESPACE_NAME,D.FILE_NAME, D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS FROM DBA_TABLESPACES T,DBA_DATA_FILES D WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME ORDER BY TABLESPACE_NAME,FILE_NAME;
SQL>select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;
|
SQL> select dbms_metadata.getdll(‘type’,’name’[,’owner’]) from dual;
|
用系統管理員,查看當前數據庫有幾個用戶連接:
如果這命令不行,找它UNIX的進程數
然後用 kill 命令殺此進程號。
SQL>Select version FROM Product_component_version
Where SUBSTR(PRODUCT,1,6)='Oracle';
|
SQL>Select Created, Log_Mode, Log_Mode From V$Database;
|
1.SYS帳戶在SQL*Plus中連接到數據庫
2.在SQL*Plus中運行下列命令,這將刪除所有在Oracle HTTP Server安裝進程中建立的OWA公共同義詞。
drop public synonym OWA_CUSTOM;
drop public synonym OWA_GLOBAL;
drop public synonym OWA;
drop public synonym HTF;
drop public synonym HTP;
drop public synonym OWA_COOKIE;
drop public synonym OWA_IMAGE;
drop public synonym OWA_OPT_LOCK;
drop public synonym OWA_PATTERN;
drop public synonym OWA_SEC;
drop public synonym OWA_TEXT;
drop public synonym OWA_UTIL;
drop public synonym OWA_INIT;
drop public synonym OWA_CACHE;
drop public synonym WPG_DOCLOAD;
3.連接到OWA包的安裝模式oas_public,確保該用戶具有CREATE PUBLIC SYNONYM權限,如果沒有,則須手動爲此用戶授此權限。
4.運行下列命令。這將重新建立OWA公共同義詞使其參照到Oracle Application Server 的OWA包。
create public synonym OWA_CUSTOM for OWA_CUSTOM;
create public synonym OWA_GLOBAL for OWA_CUSTOM;
create public synonym OWA for OWA;
create public synonym HTF for HTF;
create public synonym HTP for HTP;
create public synonym OWA_COOKIE for OWA_COOKIE;
create public synonym OWA_IMAGE for OWA_IMAGE;
create public synonym OWA_OPT_LOCK for OWA_OPT_LOCK;
create public synonym OWA_PATTERN for OWA_PATTERN;
create public synonym OWA_SEC for OWA_SEC;
create public synonym OWA_TEXT for OWA_TEXT;
create public synonym OWA_UTIL for OWA_UTIL;
create public synonym OWA_INIT for OWA_CUSTOM;
create public synonym OWA_CACHE for OWA_CACHE;
create public synonym WPG_DOCLOAD for WPG_DOCLOAD;
SQL>select * from user_synonyms;
名稱
|
ON PREBUILD TABLE
|
描述
|
將已經存在的表註冊爲實體化視圖。同時還必須提供描述創建該表的查詢的 SELECT 子句。可能無法始終保證查詢的精度與表的精度匹配。爲了克服此問題,應該在規範中包含 WITH REDUCED PRECISION 子句。
|
名稱
|
Build Clause
|
創建方式
|
描述
|
包括BUILD IMMEDIATE和BUILD DEFERRED兩種
|
|
取值
|
BUILD IMMEDIATE
|
在創建實體化視圖的時候就生成數據
|
BUILD DEFERRED
|
在創建時不生成數據,以後根據需要在生成數據
|
|
默認
|
BUILD IMMEDIATE
|
名稱
|
Refresh
|
刷新子句
|
描述
|
當基表發生了DML操作後,實體化視圖何時採用哪種方式和基表進行同步
|
|
語法
|
[refresh [fast | complete | force]
[on demand | commit]
[start with date]
[next date]
[with {primary key | rowid}]
]
|
|
取值
|
FAST
|
採用增量刷新,只刷新自上次刷新以後進行的修改
|
COMPLETE
|
對整個實體化視圖進行完全的刷新
|
|
FORCE(默認)
|
Oracle在刷新時會去判斷是否可以進行快速刷新,如果可以則採用Fast方式,否則採用Complete的方式,Force選項是默認選項
|
|
|
||
ON DEMAND(默認)
|
實體化視圖在用戶需要的時候進行刷新,可以手工通過DBMS_MVIEW.REFRESH等方法來進行刷新,也可以通過JOB定時進行刷新
|
|
ON COMMIT
|
實體化視圖在對基表的DML操作提交的同時進行刷新
|
|
|
||
START WITH
|
第一次刷新時間
|
|
|
||
NEXT
|
刷新時間間隔
|
|
|
||
WITH PRIMARY KEY(默認)
|
生成主鍵實體化視圖,也就是說實體化視圖是基於表的主鍵,而不是ROWID(對應於ROWID子句)。 爲了生成PRIMARY KEY子句,應該在表上定義主鍵,否則應該用基於ROWID的實體化視圖。主鍵實體化視圖允許識別實體化視圖表而不影響實體化視圖增量刷新的可用性
|
|
WITH ROWID
|
只有一個單一的主表,不能包括下面任何一項:
●Distinct ●聚合函數 ●Group by ●子查詢 ●連接 ●SET操作 |
|
|
|
名稱
|
Query Rewrite
|
查詢重寫
|
描述
|
包括ENABLE QUERY REWRITE和DISABLE QUERY REWRITE兩種。分別指出創建的實體化視圖是否支持查詢重寫。查詢重寫是指當對實體化視圖的基表進行查詢時,Oracle會自動判斷能否通過查詢實體化視圖來得到結果,如果可以,則避免了聚集或連接操作,而直接從已經計算好的實體化視圖中讀取數據
|
|
取值
|
ENABLE QUERY REWRITE
|
支持查詢重寫
|
DISABLE QUERY REWRITE
|
不支持查詢重寫
|
|
默認
|
DISABLE QUERY REWRITE
|
名稱
|
WITH Clause
|
|
描述
|
|
|
取值
|
OBJECT ID
|
如果是對象實體化視圖(object materialized view),則只能採用該方式
|
PRIMARY KEY
|
|
|
ROWID
|
|
|
SEQUENCE
|
|
|
默認
|
|
- create materialized view log on table1
- tablespace ts_data --日誌保存在特定的表空間
- with rowid;
- create materialized view mv_table1
- on prebuild table --將實體化視圖建立在一個已經存在的表上
- tablespace ts_data --保存表空間
- build deferred --延遲刷新不立即刷新
- refresh force --如果可以快速刷新則進行快速刷新,否則完全刷新
- on demand --按照指定方式刷新
- as select * from table1;
- drop materialized view log on table1;
- drop materialized view mv_table1;
SQL>exec DBMS_SNAPSHOT.PURGE_SNAPSHOT_FROM_LOG (snapshot_id);
|
SELECT MM.mview_name,MM.last_refresh_date FROM DBA_MVIEWS MM
|
DISABLE QUERY REWRITE
REFRESH ON DEMAND; Error! No table of contents entries found.相關的信息可以看:
EXECUTE DBMS_MVIEW.EXPLAIN_MVIEW ('v_test);
select CAPABILITY_NAME, POSSIBLE,MSGTXT from MV_CAPABILITIES_TABLE; |
create materialized view log on department
with primary key ,
rowid (dept_name)
including new values ;
create materialized view log on newhire
with primary key ,
rowid(dept_id, salary)
including new values ;
|
create materialized view dept_salary_mvw
refresh fast on commit
enable query rewrite
as select d.dept_name , sum(n.salary) as num_salary
from department d , newhire n
where d.dept_id = n.dept_id
group by d.dept_name ;
|
SQL>exec dbms_mview.refresh('mv_gswx');
SQL>select v.MVIEW_NAME,v.REFRESH_METHOD, v.LAST_REFRESH_TYPE from user_mviews v;
|
SQL>select t.log_owner,t.master,t.log_table,t.current_snapshots,
r.owner,r.name,r.snapshot_site
from dba_snapshot_logs t,dba_registered_snapshots r
where t.snapshot_id= r.snapshot_id(+);
|
Select count(1) fromlog_table;
|
SQL>select username,default_tablespace from user_users;
|
SQL>select * from user_role_privs;
|
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
|
SQL>select * from user_tables; //顯示用戶表
select * from user_views;//顯示用戶視圖
select * from tab;顯示錶和視圖
|
SQL>describe tablename;
|
SQL>select object_name,object_id from user_objects
where instr(object_name,'LOG')>0;
|
SQL>select object_name,created from user_objects where object_name=upper('&table_name');
|
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name');
|
SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;
|
SQL>select i.index_name, i.uniqueness, c.column_name, c.COLUMN_POSITION
from dba_indexes i, dba_ind_columns c
where i.index_name = c.index_name
and i.table_name = 'COTS_TAB_ACCT_MVMT'
|
SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
from user_constraints where table_name = upper('&table_name'); SQL>select c.constraint_name,c.constraint_type,cc.column_name from user_constraints c,user_cons_columns cc where c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position; |
SQL>select index_name,index_type,table_name from user_indexes order by table_name;
SQL>select * from user_ind_columns where index_name=upper('&index_name');
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name');