Oracle 相關(guān)特性

11G新功能的官方文檔https://docs.oracle.com/cd/E11882_01/server.112/e41360/toc.htm

段的延遲分配

11G之前的版本中,當創(chuàng)建一張表時萍聊,會自動分配段空間,這樣做有幾個弊端:

1. 初始創(chuàng)建表時就需要分配空間,自然會占用一些時間继薛,如果初始化多張表悬襟,這種影響就被放大缓窜。

2. 如果很多表開始的一段時間都不需要管闷,那么就會浪費這些空間抑胎。

為此,從11gR2開始渐北,有一種新特性,叫延遲段铭拧,即延遲分配段空間赃蛛。簡單講,默認將表(以及索引搀菩、LOB)的物理空間分配推遲到第一條記錄插入到表中時呕臂。即有實際的數(shù)據(jù)插入表中時,再為每個對象初始化空間分配肪跋。

參數(shù):DEFERRED_SEGMENT_CREATION

注意:SYS的表是不能使用延遲段的歧蒋,因此創(chuàng)建時還是立即分配段空間。

SQL> show parameter DEFERRED_SEGMENT_CREATION

NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE

------------------------------------ ----------- ------------------------------

deferred_segment_creation? ? ? ? ? ? boolean? ? TRUE

SQL> show user

USER is "SYS"

SQL> create table seg_sys (hid number);

SQL> create table hr.seg_hr(hid number);

SQL> select owner,segment_name,bytes from dba_segments where segment_name in ('SEG_SYS','SEG_HR');

SQL> insert into hr.seg_hr values(1);

SQL> select owner,segment_name,bytes from dba_segments where segment_name in ('SEG_SYS','SEG_HR');

SQL> alter system set deferred_segment_creation=false;

SQL> create table hr.seg_hr2(hid number);

SQL> select owner,segment_name,bytes from dba_segments where segment_name in ('SEG_SYS','SEG_HR','SEG_HR2');

Scheduler

官方課件《管理II_2.pdf》P202

Scheduler的官方文檔https://docs.oracle.com/cd/E11882_01/server.112/e25494/schedover.htm#ADMIN033

10G之前創(chuàng)建定時作業(yè)是使用dbms_job包,10G之后建議使用dbms_scheduler包谜洽,Scheduler的功能大大強于普通job萝映,scheduler可以記錄作業(yè)運行的歷史記錄,可以使用操作系統(tǒng)命令阐虚,可以使用調(diào)度窗口等

create table tab_jobs as select * from dba_objects where rownum<11;

create or replace procedure pro_job as

begin

? ? insert into tab_jobs select * from tab_jobs where rownum<2;

? ? commit;

? ? end;

select * from user_jobs

BEGIN

? DBMS_JOB.SUBMIT(

job => :job,

what => 'pro_job;',

next_date => sysdate,

interval => 'sysdate+1/1440'

);

END;

Commit;

select * from user_jobs

create table tab_schedulers as select * from dba_objects where rownum<11;

create or replace procedure pro_scheduler as

begin

? ? insert into tab_schedulers select * from tab_schedulers where rownum<2;

? ? commit;

? ? end;

select * from user_scheduler_jobs where job_name='TESTJOB123'

BEGIN

? DBMS_SCHEDULER.CREATE_JOB(

? job_name =>'testjob123',

? job_type =>'STORED_PROCEDURE',

? job_action =>'pro_scheduler',? --沒有分號

? start_date=>SYSTIMESTAMP,

? repeat_interval =>'FREQ=MINUTELY;INTERVAL=1',

? enabled=>true

);

END;

select * from user_scheduler_jobs where job_name='TESTJOB123'

select * from USER_SCHEDULER_JOB_RUN_DETAILS where job_name='TESTJOB123'

可以查看到每次運行的記錄序臂,普通job沒有這樣的視圖

EM來操作

Server-Oracle Scheduler

不管program、schedule实束、job_class奥秆、window、window group怎么去定義咸灿,最后都是為create_job服務(wù)的构订,即這些東西功能都是DBMS_SCHEDULER.CREATE_JOB所用到的一部分

job:Command+schedule

Command:Program|PL/SQL|Procedure|Executable|Chain

schedule:schedule|window|window group

window:schedule

window group:window

Sqlloader

Sqlloader官方文檔https://docs.oracle.com/cd/E11882_01/server.112/e22490/ldr_concepts.htm#SUTIL003

SQL*Loader loads data from external files into tables of an Oracle database. It has a powerful data parsing engine that puts little limitation on the format of the data in the data file.

SQL*Loader可以將外部文件的數(shù)據(jù)加載到Oracle數(shù)據(jù)庫的表中

Sqlloader的步驟

1) Oracle 數(shù)據(jù)庫端建好需要導(dǎo)入數(shù)據(jù)的表的結(jié)構(gòu)

2) 確定要導(dǎo)入的外部文件的位置和文件名

3) 手工編輯一個XXX.CTL 的控制文件

4) 命令行加載數(shù)據(jù)

SQL*Loader的難點主要是sqlldr控制文件的寫法。

[oracle@ocp ~]$ cat /home/oracle/test_sqlloader.txt

1,liming,2011-01-02 11:46:26

2,wangfeng,2012-02-02 12:46:26

SQL> create table testsqlloader(hid number,hname varchar2(20),htime date);

[oracle@ocp ~]$ vi sqlloader.ctl

load data

CHARACTERSET AL32UTF8

infile '/home/oracle/test_sqlloader.txt'

into table sys.testsqlloader

fields terminated by whitespace

TRAILING NULLCOLS

(hid terminated by ',',

hname terminated by ',',

htime date "yyyy-mm-dd hh24:mi:ss"

)

--into table sys.testsqlloader

插入到表中避矢,如果表有記錄悼瘾,則要修改為append into

sqlldr "'sys/oracle as sysdba'" control=sqlloader.ctl log=sqlloader.log

可以使用EM圖形界面一步步操作,期間會自動生成sqlloader控制文件谷异,步驟如下

Data Movement->Load Data from User Files->Automatically Generate Control File->

Load Data: Data Files->Load Data: Table and File Format->Load Data: File Format Attributes->Load Data: Load Method->Load Data: Options->Load Data: Schedule->Load Data: Review(這一步先不執(zhí)行分尸,Control File Contents可以直接看到控制文件內(nèi)容,F(xiàn)ile Options可以不勾選導(dǎo)入完數(shù)據(jù)后刪除控制文件歹嘹,默認是勾選的)

審計

官方文檔https://docs.oracle.com/cd/E11882_01/network.112/e36292/auditing.htm#DBSEG006

審計分類

強制審計箩绍、標準審計、細粒度審計

強制審計:就算關(guān)閉了標準審計尺上,startup材蛛、shutdown、以as sysdba權(quán)限連接DB的操作怎抛,無論如何都會記錄卑吭,記錄存放在audit_file_dest參數(shù)對應(yīng)目錄的XX.aud文件中

標準審計

日常所說的審計默認就是指標準審計,使用audit马绝、noaudit命令來操作的審計操作

開啟標準審計

設(shè)置audit_trail參數(shù)不等于none即開啟了標準審計

標準審計已開啟豆赏,默認就是就有30項左右標準審計功能開始進行審計,即不用使用audit命令就有的富稻,見如下sql

select * from DBA_STMT_AUDIT_OPTS

union

select * from DBA_PRIV_AUDIT_OPTS;

--如果生產(chǎn)環(huán)境開啟了標準審計掷邦,根據(jù)實際情況關(guān)閉上訴sql的一些你認為不需要的審計項,比如noaudit create session

audit_trail參數(shù)見https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams017.htm#REFRN10006

none:Disables standard auditing

os:Directs all audit records to an operating system file

db:Directs audit records to the database audit trail (the SYS.AUD$ table)

--標準審計椭赋,如果審計數(shù)據(jù)存放在DB中抚岗,那么是存放在sys.aud$表中,其他DBA_AUDIT_開頭的視圖里的數(shù)據(jù)都是由sys.aud$所得哪怔,比如DBA_AUDIT_TRAIL宣蔚、DBA_AUDIT_EXISTS向抢、DBA_AUDIT_OBJECT、DBA_AUDIT_SESSION等胚委。

audit_file_dest參數(shù)見https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams014.htm#REFRN10004

AUDIT_FILE_DEST參數(shù)設(shè)置審計記錄存放的OS路徑

AUDIT_FILE_DEST specifies the operating system directory into which the audit trail is written when the AUDIT_TRAIL initialization parameter is set to os, xml, or xml,extended.

默認值ORACLE_BASE/admin/ORACLE_SID/adump

標準審計級別

語句級審計:

權(quán)限級審計:

對象級審計:

SQL> audit table by hr;--語句級審計

Audit succeeded.

SQL> audit create view by hr;--權(quán)限級審計

Audit succeeded.

SQL> audit select on scott.emp by hr; --對象級審計

audit select on scott.emp by hr

? ? ? ? ? ? ? ? ? ? ? ? ? ? *

ERROR at line 1:

ORA-01708: ACCESS or SESSION expected

--其中對象級審計對所有用戶進行審計挟鸠,加上by user會報錯

SQL> audit select on scott.emp;--對象級審計

Audit succeeded.

SQL> audit select,update,insert,delete on scott.salgrade; --審計所有對salgrade工資表的操作

默認情況下,特權(quán)用戶和SYS 用戶的操作不會生成審計記錄篷扩。如果需要審計兄猩,則設(shè)置AUDIT_SYS_OPERATIONS參數(shù)值為true

AUDIT_SYS_OPERATIONS參數(shù)見https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams015.htm#REFRN10005

查詢標準審計結(jié)果

select * from DBA_AUDIT_TRAIL;?

select * from sys.aud$;

細粒度審計

調(diào)用DBMS_FGA包,細粒度審計結(jié)果存放在sys.fga_log$

begin

DBMS_FGA.ADD_POLICY (

object_schema => 'scott',

object_name => 'emp',

policy_name => 'mypolicy1',

audit_condition => 'sal < 1000',

audit_column => 'comm,sal',

handler_schema => NULL,

handler_module => NULL,

enable => TRUE,

statement_types => 'select',

audit_trail=>DBMS_FGA.DB,

audit_column_opts => DBMS_FGA.ANY_COLUMNS);

end;

scott用戶執(zhí)行查詢

select * from emp where sal < 1000

select * from sys.fga_log$--有結(jié)果

細粒度審計涉及的SQL

select * from DBA_AUDIT_POLICIES;? ? --查詢設(shè)置了哪些細粒度審計

select * from dba_fga_audit_trail;? ? --查詢細粒度審計結(jié)果

ASM

官方課件《管理I_1.pdf》P201

ASM的官方文檔https://docs.oracle.com/cd/E11882_01/server.112/e18951/toc.htm

磁盤組的三種冗余:

external 外部冗余鉴未,不提供任何鏡像枢冤,兩塊5G磁盤,總?cè)萘?0G

normal 正常冗余铜秆,提供雙向鏡像淹真,兩塊5G磁盤,總?cè)萘?G

high 高冗余连茧,提供三向鏡像核蘸,三塊5G磁盤,總?cè)萘?G

查看asmdiskgroup的信息(磁盤組的可用空間等)

[grid@OCPASM]$asmcmd lsdg --discovery -g

SQL> select name,total_mb,free_mb,round((free_mb/total_mb)*100) "canuse%" from v$asm_diskgroup;

查看asmdisk對應(yīng)的物理磁盤信息

[grid@OCPASM]$ asmcmd lsdsk

Path

/dev/oracleasm/disks/OCPDATA1

[grid@OCPASM]$ll /dev/oracleasm/disks/OCPDATA1

brw-rw---- 1 grid dba 8, 17 Jun? 6 15:57 /dev/oracleasm/disks/OCPDATA1

[grid@OCPASM]$ ll /dev|grep 8|grep 17

brw-r----- 1 root disk? ? 8,? 17 Oct 14 09:58 sdb1

asmcmd命令大全可使用help查看

[grid@OCPASM]$ asmcmd

ASMCMD> help

ASM_POWER_LIMIT指定用于磁盤再平衡的自動存儲管理實例的最大功耗啸驯。上限越高客扎,再平衡的速度就越快。較低的值需要更長的時間罚斗,但是消耗更少的處理和I/O資源徙鱼。

ASM_POWER_LIMIT設(shè)置為0時,不會自動重平衡针姿,但是可以使用下面的語句來手動重平衡

SQL> alter diskgroup DATA? rebalance power 10;--此語句只能在ASM實例上運行,且連接方式為as sysasm

是否重平衡完畢袱吆,運行如下語句,沒有結(jié)果就表示重平衡完畢

SQL> select * from v$asm_operation;? ? ? --此語句在ASM實例上執(zhí)行才能看到準確信息

復(fù)制數(shù)據(jù)庫

見官方課件《管理II_2.pdf》P309

實驗步驟

本實驗距淫,源端和目標端都在同一臺服務(wù)器內(nèi)绞绒,源端ocp,目標端ocpdup榕暇。

1蓬衡、目標端的操作步驟

目標端有靜態(tài)監(jiān)聽文件、密碼文件彤枢、參數(shù)文件狰晚,能啟動到nomount狀態(tài)

ORACLE_SID=ocpdup

cd $ORACLE_HOME/dbs

orapwd file=orapwocpdup password=oracle

vi initocpdup.ora

audit_file_dest='/u01/app/oracle/admin/ocpdup/adump'

db_name='ocpdup'

control_files='/u01/app/oracle/oradata/ocpdup/control01.ctl','/u01/app/oracle/oradata/ocpdup/control02.ctl'

db_file_name_convert='/u01/app/oracle/oradata/ocp','/u01/app/oracle/oradata/ocpdup'

log_file_name_convert='/u01/app/oracle/oradata/ocp','/u01/app/oracle/oradata/ocpdup'

vi $ORACLE_HOME/network/admin/listener.ora

SID_LIST_LISTENER =

? (SID_LIST =

? ? (SID_DESC =

? ? ? (GLOBAL_DBNAME = ocpdup)

? ? ? (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)

? ? ? (SID_NAME = ocpdup)

? ? )

? )

lsnrctl reload

lsnrctl status

mkdir -p /u01/app/oracle/oradata/ocpdup

mkdir -p /u01/app/oracle/admin/ocpdup/adump

sqlplus / as sysdba

SQL> create spfile from pfile;

SQL> startup nomount

ll /u01/app/oracle/oradata/ocpdup/

--沒有數(shù)據(jù)文件

2、源端的操作

ORACLE_SID=ocp

SQL> archive log list

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database open;

SQL> alter system archive log current;

vi $ORACLE_HOME/network/admin/tnsnames.ora

ocpdup =

? (DESCRIPTION =

? ? (ADDRESS = (PROTOCOL = TCP)(HOST = ocp)(PORT = 1521))

? ? (CONNECT_DATA =

? ? ? (SERVER = DEDICATED)

? ? ? (SERVICE_NAME = ocpdup)

? ? )

? )

rman target sys/oracle@ocp auxiliary sys/oracle@ocpdup

RMAN> duplicate target database to ocpdup from active database;

3堂污、目標端驗證

ORACLE_SID=ocpdup

SQL> select instance_name,status from v$instance;

ll /u01/app/oracle/oradata/ocpdup/

--數(shù)據(jù)文件也有了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市龄砰,隨后出現(xiàn)的幾起案子盟猖,更是在濱河造成了極大的恐慌讨衣,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件式镐,死亡現(xiàn)場離奇詭異反镇,居然都是意外死亡,警方通過查閱死者的電腦和手機娘汞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門歹茶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人你弦,你說我怎么就攤上這事惊豺。” “怎么了禽作?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵尸昧,是天一觀的道長。 經(jīng)常有香客問我旷偿,道長烹俗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任萍程,我火速辦了婚禮幢妄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘茫负。我一直安慰自己蕉鸳,他們只是感情好,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布朽褪。 她就那樣靜靜地躺著置吓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪缔赠。 梳的紋絲不亂的頭發(fā)上衍锚,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音嗤堰,去河邊找鬼戴质。 笑死,一個胖子當著我的面吹牛踢匣,可吹牛的內(nèi)容都是我干的告匠。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼离唬,長吁一口氣:“原來是場噩夢啊……” “哼后专!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起输莺,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤戚哎,失蹤者是張志新(化名)和其女友劉穎裸诽,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體型凳,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡丈冬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了甘畅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片埂蕊。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖疏唾,靈堂內(nèi)的尸體忽然破棺而出蓄氧,到底是詐尸還是另有隱情,我是刑警寧澤荸实,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布匀们,位于F島的核電站,受9級特大地震影響准给,放射性物質(zhì)發(fā)生泄漏泄朴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一露氮、第九天 我趴在偏房一處隱蔽的房頂上張望祖灰。 院中可真熱鬧,春花似錦畔规、人聲如沸局扶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽三妈。三九已至,卻和暖如春莫绣,著一層夾襖步出監(jiān)牢的瞬間畴蒲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工对室, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留模燥,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓掩宜,卻偏偏與公主長得像蔫骂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子牺汤,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 人生在世辽旋,對于父母來說,最殘忍的事情莫過于每天看著自己心愛的兒子被病痛折磨,卻束手無策补胚,只能無奈的看著他在短暫的時...
    月兒柔柔閱讀 31評論 0 0
  • 月下生白露固该,晚風(fēng)動客愁。 車離聞道遠糖儡,蟲喚感園幽。 歲月多成句怔匣,年華盡變秋握联。 當時言笑意,此日被誰偷每瞒?
    莫愁Jessie閱讀 300評論 3 10
  • 文/韋劍 那年夏天 相遇不期 你的溫婉闖進我心扉 香案喃呢 成了我無邊的璀璨 那一季 綠水相依 夏日的荷別樣的紅 ...
    韋劍閱讀 192評論 0 4
  • 不知道說些什么金闽,只是覺得有些事說出來比藏在心里令人欣慰。曾經(jīng)天真的以為剿骨,我會和你一輩子走下去當你說出那兩字的時候代芜,...
    人在旅途_閱讀 252評論 0 1