shutdown immediate?
? ? --1.創(chuàng)建表空間 ?
? ? create tablespace EAMP ??
? ? datafile 'F:\tablespace\EAMP.dbf' ??
? ? size 500M ??
? ? autoextend on next 5M maxsize 1500M; ?
? ? --刪除表空間 ?
? ? drop tablespace EAMP including contents and datafiles; ?
? ? /*用戶權(quán)限 ?
? ? 授予用戶使用表空間的權(quán)限:*/ ?
? ? alter user eam2 quota unlimited on EAMP; ?
? ? --2.建用戶 ?
? ? create user workflow identified by workflow default tablespace EAMP; ?
? ? --3.賦權(quán) ?
? ? grant connect,resource,create any sequence,create any view,
? ? create any table,delete any table,insert any table,update any table,
? ? select any table, unlimited tablespace,execute any procedure,dba to workflow; ?
? ? --解鎖被鎖的用戶
? ? alter user workflow account unlock;
? ? --設(shè)定連接數(shù) ?
? ? ?alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS 10; ?
? ? ?--不限制連接數(shù)?
? ? ?alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS UNLIMITED;?
? ? --4.導(dǎo)入導(dǎo)出命令 ? ??
? ? ip導(dǎo)出方式: exp WMSM/WMSM@127.0.0.1:1521/orcl file=f:/f.dmp full=y ?
? ? exp WMSM/WMSM@ORCL file=f:\f.dmp full=y ?
? ? imp WMSM/WMSM@ORCL file=f:\f.dmp full=y ignore=y ?
? ? imp sdrend/sdrend2011@ORCL file=f:\data.dmp full=y ignore=y;?
? ? --spool D:\log\eam2.log; ?sql命令行
? ? imp eam2/eam2@ORCL file=f:\eam2_4.dmp full=y ignore=y;?
? ? --spool off;
? ? exp eam2/eam2@ORCL file=f:\eam2.dmp full=y ;?
? ? --===========================================================================================================
? ? 刪除SQL外鍵 刪除索引 刪除表 修改表添加字段
--1.刪除外鍵
ALTER ? TABLE ? WMSM.SEC_EMP_T ? DROP ? CONSTRAINT ? FK_SEC_EMP_REF7 ;
ALTER ? TABLE ? WMSM.Sec_Org_t ? DROP ? CONSTRAINT ? FK_SEC_EMP_REF7 ;
--查詢某表的所有主外鍵
select * from user_constraints e where e.table_name = 'SEC_EMP_T'
--查詢所有引用到該主鍵的記錄
select b.table_name,b.column_name from user_constraints a?
inner join user_cons_columns b
on a.constraint_name = b.constraint_name
where a.r_constraint_name='PK_SEC_EMP_T' --此處輸入剛才查詢出來的表主鍵的約束名?
--2.刪除索引
DROP INDEX IND_SEC_EMP_T_02;
DROP INDEX IND_SEC_EMP_T_03;
DROP INDEX IND_SEC_EMP_T_CDE;
DROP INDEX IND_T_SEC_EMP_T_01;
--3.刪除主鍵
ALTER TABLE WMSM.SEC_EMP_T DROP CONSTRAINT PK_SEC_EMP_T;
--4.刪除表
truncate table ?WMSM.SEC_EMP_T;
-----------------------------------------------------------------
--oracle備份恢復(fù)
alter system set "_ALLOW_RESETLOGS_CORRUPTION"=true scope=spfile;
shutdown immediate
startup mount
alter database datafile 'D:\tablespace\WMSDATA.dbf' offline drop;
alter database open;
Sqlplus /nolog
?Conn sys/password@ORCL as sysdba?
?drop user WMSM cascade;?
?----------------------閃回-------------
/*undo_management踏志,參數(shù)需要是“AUTO”秒紧,保證回滾段使用模式是SMU mode
undo_retention,單位是秒窒朋,調(diào)整可回滾的時(shí)間范圍
確認(rèn)系統(tǒng)的相關(guān)參數(shù)
命令窗口> show parameter undo
來源一:
專用模式和共享模式的本質(zhì)區(qū)別就是:用戶進(jìn)程對ORACLE服務(wù)器所在的計(jì)算機(jī)的內(nèi)存區(qū)里”服務(wù)器進(jìn)程“是專用還是共享嗽交。
具體表現(xiàn)在:
1花颗、在共享模式下,多個(gè)用戶進(jìn)程共享一個(gè)服務(wù)器進(jìn)程弊添;在專用模式下,ORACLE為每一個(gè)用戶進(jìn)程準(zhǔn)備一個(gè)服務(wù)器進(jìn)程捌木。
2油坝、在實(shí)際情況中,應(yīng)用系統(tǒng)與數(shù)據(jù)庫的連接請求總是很多刨裆,導(dǎo)致用戶進(jìn)程也很多澈圈,如果你的內(nèi)存和CPU是有限的,同時(shí)帆啃,用戶進(jìn)程對數(shù)據(jù)庫的操作占用空間不多瞬女,那你就把數(shù)據(jù)庫連接模式設(shè)置為共享模式,這樣努潘,ORACLE內(nèi)存區(qū)的服務(wù)器進(jìn)程只是有限的幾個(gè)诽偷,這幾個(gè)服務(wù)器進(jìn)程會通過一個(gè)調(diào)度程序來應(yīng)付若干用戶進(jìn)程的請求。
3疯坤、如果你的硬件資源比較好报慕,就設(shè)置成專用模式,每一個(gè)用戶進(jìn)程都有一個(gè)服務(wù)器進(jìn)程對應(yīng)压怠,這樣眠冈,你的用戶進(jìn)程對數(shù)據(jù)的處理會非常快菌瘫!
簡單的說蜗顽,連接客戶數(shù)少,需要長時(shí)間占用數(shù)據(jù)庫的雨让,建議用專有模式雇盖,如果連接客戶數(shù)眾多,使用共享模式宫患。
*/
?show parameter shared_server; 1為專用模式刊懈,0為共享模式(一般用不著)
?--允許表閃回
? alter table AAA enable row movement;
? /*方法1:
查詢最新的系統(tǒng)變更number*/
?select dbms_flashback.get_system_change_number from dual;
--查看此次變更后的表記錄
?select * from AAA as of scn 2071711;
FLASHBACK TABLE AAA TO SCN 2071711;
/*方法2:*/
select * from flashback_transaction_query where table_name='AAA';
--根據(jù)scn號恢復(fù)
?select * from AAA as of scn 2051279
?FLASHBACK TABLE AAA TO SCN 2051279;
? select current_scn from v$database;?
? ?select dbid,checkpoint_change# from v$database;?
? select dbms_flashback.get_system_change_number from dual;?
?FLASHBACK database to scn
--drop表后的恢復(fù)
? DROP TABLE AAA;
? SELECT * FROM AAA ;
? SELECT * FROM RECYCLEBIN;
? SELECT * FROM USER_RECYCLEBIN;
? FLASHBACK TABLE AAA TO BEFORE DROP;
? --閃回 ?根據(jù)時(shí)間點(diǎn)
? FLASHBACK TABLE AAA TO TIMESTAMP TO_TIMESTAMP('2014/4/26 16:51:23','YYYY/MM/DD HH24:MI:SS');?
? --/*------閃回?cái)?shù)據(jù)庫到某一天---*/
? Sqlplus /nolog
? Conn sys/password@ORCL as sysdba?
? shutdown immediate; ?
? startup mount ;?
? FLASHBACK database ?TO TIMESTAMP TO_TIMESTAMP('2014/7/16 16:51:23','YYYY/MM/DD HH24:MI:SS');?
? alter database open resetlogs;?
? --/*------閃回?cái)?shù)據(jù)庫到某一天---*/
? select TO_TIMESTAMP('2014/4/26 16:51:23','YYYY/MM/DD HH24:MI:SS') from dual;
----------------------------------------------------------------------------------------------------------
? --冷備 非歸檔模式
? ?select * from v$database; --其log_mode會顯示數(shù)據(jù)庫是否歸檔模式
? select name from v$controlfile; --列出所有 控制文件 CTL
? select name from v$datafile; --列出所有數(shù)據(jù)文件 DBF
? select member from v$logfile; --列出所有redo日志文件 LOG
? select sequence#,first_time from v$loghist; --列出所有歸檔redo日志文件的順序號和產(chǎn)生時(shí)間
? select * from v$archived_log;
? select name,log_mode from V$database; --查看是否歸檔模式
----------------------------------------------------
--熱備 ? 啟用歸檔模式
/*--D:\oracle\srvm\admin目錄下init.ora
? ?命令行下,進(jìn)到oracle目錄
? ?sqlplus /nolog
? ?connect sys/password as sysdba?
? ?shutdown immediate;
? ?startup mount exclusive;?
? ?alter database archivelog;?
? ?alter database open;
? ?alter system archive log start;
? ?shutdown immediate;
? ?exit;
*/
? ? ? ? ?--備份表空間
? ? ? ? ?a,首先娃闲,修改表空間文件為備份模式 ?ALTER TABLESPACE WMSDATA BEGIN BACKUP;
? ? ? ? ?b,然后虚汛,拷貝表空間文件到安全區(qū)域 !CP WMSDATA D_PATH;
? ? ? ? ?c,最后,將表空間的備份模式關(guān)閉 ? ?ALTER TABLESPACE WMSDATA END BACKUP;
?-- 備份日志文件
?(1)通過在sqlplus上執(zhí)行archive log list命令獲取當(dāng)前的日志順序號皇帮,從oldest online log sequence開始到current log sequence的聯(lián)機(jī)redo日志應(yīng)該是熱備份的一部分卷哩。?
?(2)在sqlplus上執(zhí)行alter system switch logfile;命令來強(qiáng)迫日志切換,以便所有的日志都被歸檔属拾。
? --備份 控制文件
? alter database backup controlfile to 'controlfile_back_2014-6-6' reuse;
-----------------------------------------------------------------------------
?恢復(fù)步驟:LOG_ARCHIVE_DEST_1
? ? ? ? ? ? ? ? ? ? ? shutdown數(shù)據(jù)庫将谊。
? ? ? ? ? ? ? ? ? ? ?將全備份的數(shù)據(jù)文件放到原來系統(tǒng)的目錄中冷溶。
? ? ? ? ? ? ? ? ? ? ?將全備份到失敗點(diǎn)的所有歸檔日志放到參數(shù)LOG_ARCHIVE_DEST_1所指定的位置。
? ? ? ? ? ? ? ? ? ? ?利用sqlplus登陸到空實(shí)例尊浓。(connect / as sysdba)
? ? ? ? ? ? ? ? ? ? ?然后 ?startup mount
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?set autorecovery on
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?recover database;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?alter database open;
? ? --查看數(shù)據(jù)庫是否開啟閃回 ? ? ? ? ? ? ? ? ? ? ? ??
? ?select flashback_on from V$database; ? ? ??
? ?select ?to_char(sysdate,'YYYY-MM-DD HH24:mi:ss') from dual;
? ?select ?current_scn from v$database;
? ?如果已經(jīng)開啟了閃回逞频,無須執(zhí)行下面的操作。
? ?--cmd 命令下
?alter system set db_recovery_file_dest_size=30G scope=both;
?alter system set db_recovery_file_dest='D:\oracle\flash_recovery_area' ?scope=both;
?shutdown immediate
?startup mount
?alter database archivelog;
?alter database flashback on;
?alter database open;
再進(jìn)行確認(rèn):
?select flashback_on from V$database;
---------------------------------------------------------------------------------------------------------------
wangyajun ?jiceam926
--查看每個(gè)表空間的大小
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name ;
select num_rows * avg_row_len?
from user_tables?
where table_name = 'JBPM4_LOB';
SELECT TABLESPACE_NAME,
? ? ? ?TO_CHAR(SUM(BYTES) / (1024 * 1024), '999G999D999') CNT_MB
? FROM DBA_EXTENTS
?WHERE OWNER = 'eam2'
? -- AND SEGMENT_NAME = '&TABLE_NAME'
? -- AND SEGMENT_TYPE LIKE 'TABLE%'
?GROUP BY TABLESPACE_NAME;
select b.name, sum(a.bytes / 1000000) 總空間
? from v$datafile a, v$tablespace b
?where a.ts# = b.ts#
?group by b.name;
--1栋齿、數(shù)據(jù)庫管理員可以執(zhí)行下述語句來查看SQL語句的解析情況:
SELECT *
? FROM V$SYSSTAT
?WHERE NAME IN ('parse time cpu', 'parse time elapsed', 'parse count (hard)');
?--發(fā)現(xiàn)是什么SQL語句解析效率比較低苗胀。
SELECT SQL_TEXT, PARSE_CALLS, EXECUTIONS
? FROM V$SQLAREA
?ORDER BY PARSE_CALLS;
?--2、查看低效率的SQL語句瓦堵,優(yōu)化這些語句也有助于提高CPU的利用率基协。
SELECT BUFFER_GETS, EXECUTIONS, SQL_TEXT FROM V$SQLAREA;?
? -- 共享池由兩部分構(gòu)成:共享SQL區(qū)和數(shù)據(jù)字典緩沖區(qū),共享SQL區(qū)是存放用戶SQL命令的區(qū)域菇用,數(shù)據(jù)字典緩沖區(qū)存放數(shù)據(jù)庫運(yùn)行的動(dòng)態(tài)信息澜驮。數(shù)據(jù)庫管理員通過執(zhí)行下述語句:?
? --來查看共享SQL區(qū)的使用率。這個(gè)使用率應(yīng)該在90%以上惋鸥,否則需要增加共享池的大小
select (sum(pins - reloads)) / sum(pins) "Lib Cache" ?from v$librarycache;?
--查看數(shù)據(jù)字典緩沖區(qū)的使用率杂穷,這個(gè)使用率也應(yīng)該在90%以上,否則需要增加共享池的大小揩慕。?
select (sum(gets - getmisses - usage - fixed)) / sum(gets) "Row Cache" from v$rowcache;?
--查看數(shù)據(jù)庫數(shù)據(jù)緩沖區(qū)的使用情況
?SELECT name, value ?FROM v$sysstat ?WHERE name IN ('db block gets', 'consistent gets','physical reads');?
--查看日志緩沖區(qū)的使用情況亭畜。
select name,value from v$sysstat where name in ('redo entries','redo log space requests');
?alter system set sga_target=1024m scope=spfile;
?alter system set sga_max_size=1024m scope=spfile;?
? --(如果spfile文件不存在,需先創(chuàng)建create spfile from pfile;)
?alter system set sga_target=12g scope=spfile;?
?alter system set sga_max_size=12g scope=spfile;
?--===========分頁===========--------
?select * from(?
select t.*,row_number() over (order by t.seq_org) rowno from sec_org_t t?
)?
where rowno between 1 and 10;?
select * from?
(select t.*,rownum as rowno from sec_org_t t )?
where rowno between 1 and 10 ;