多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 數(shù)據(jù)庫 > 數(shù)據(jù)庫應(yīng)用 > Oracle 數(shù)據(jù)庫12c 16大新特性總結(jié)

Oracle 數(shù)據(jù)庫12c 16大新特性總結(jié)

來源:程序員人生   發(fā)布時(shí)間:2016-06-03 13:09:26 閱讀次數(shù):3839次

Oracle 12c 已發(fā)布很久,1直想找個(gè)時(shí)間好好學(xué)習(xí)1下,畢竟后續(xù)12c將會(huì)逐步替換現(xiàn)有數(shù)據(jù)庫版本,成為主流數(shù)據(jù)庫版本。現(xiàn)就12c 1些經(jīng)常使用的

特性給大家1起學(xué)習(xí)1下。

1. 在線重命名和重新定位活躍數(shù)據(jù)文件

不同于以往的版本,在Oracle數(shù)據(jù)庫12c R1版本中對(duì)數(shù)據(jù)文件的遷移或重命名不再需要太多繁瑣的步驟,即把表空
間置為只讀模式,接下來是對(duì)數(shù)據(jù)文件進(jìn)行離線操作。在12c R1中,可使用ALTER DATABASE MOVE DATAFILE這
樣的SQL語句對(duì)數(shù)據(jù)文件進(jìn)行在線重命名和移動(dòng)。而當(dāng)此數(shù)據(jù)文件正在傳輸時(shí),終端用戶可以履行查詢,DML和DDL
方面的任務(wù)。另外,數(shù)據(jù)文件可以在存儲(chǔ)裝備間遷移,如從非ASM遷移至ASM,反之亦然。

重命名數(shù)據(jù)文件:
          SQL> ALTER DATABASE MOVE DATAFILE '/u00/data/users01.dbf' TO '/u00/data/users_01.dbf';
從非ASM遷移數(shù)據(jù)文件至ASM:
         SQL> ALTER DATABASE MOVE DATAFILE '/u00/data/users_01.dbf' TO '+DG_DATA';
將數(shù)據(jù)文件從1個(gè)ASM磁盤群組遷移至另外一個(gè)ASM磁盤群組
         SQL> ALTER DATABASE MOVE DATAFILE '+DG_DATA/DBNAME/DATAFILE/users_01.dbf ' TO '+DG_DATA_02';

在數(shù)據(jù)文件已存在于新路徑的情況下,以相同的命名將其覆蓋:
         SQL> ALTER DATABASE MOVE DATAFILE '/u00/data/users_01.dbf' TO '/u00/data_new/users_01.dbf' REUSE;
復(fù)制文件到1個(gè)新路徑,同時(shí)在原路徑下保存其拷貝:
         SQL> ALTER DATABASE MOVE DATAFILE '/u00/data/users_01.dbf' TO '/u00/data_new/users_01.dbf' KEEP;
當(dāng)通過查詢v$session_longops動(dòng)態(tài)視圖來移動(dòng)文件時(shí),你可以監(jiān)控這1進(jìn)程。另外,你也能夠援用alert.log,Oracle會(huì)在其中記錄具體的行動(dòng)。

2. 表分區(qū)或子分區(qū)的在線遷移
  在Oracle 12c R1中遷移表分區(qū)或子分區(qū)到不同的表空間不再需要復(fù)雜的進(jìn)程。與之前版本中未分區(qū)表進(jìn)行在線遷移
類似,表分區(qū)或子分區(qū)可以在線或是離線遷移至1個(gè)不同的表空間。當(dāng)指定了ONLINE語句,所有的DML操作可以在沒有
任何中斷的情況下,在參與這1進(jìn)程的分區(qū)或子分區(qū)上履行。與此相反,分區(qū)或子分區(qū)遷移如果是在離線情況下進(jìn)行
的,DML操作是不被允許的。

示例:
SQL>
ALTER TABLE TBCS.SUBS_PRIVILEGE   MOVE SUBPARTITION P_532_SUBP01   TABLESPACE GGUSR;
SQL>
ALTER TABLE TBCS.SUBS_PRIVILEGE   MOVE SUBPARTITION P_532_SUBP01   TABLESPACE GGUSR UPDATE INDEXES ONLINE;
  第1個(gè)示例是用來在離線狀態(tài)下將1個(gè)表分區(qū)或子分區(qū)遷移至1個(gè)新的表空間。第2個(gè)示例是在線遷移表分區(qū)或子
分區(qū)并保護(hù)表上任何本地或全局的索引。另外,當(dāng)使用ONLINE語句時(shí),DML操作是不會(huì)中斷的。

重要提示:
  1、UPDATE INDEXES語句可以免出現(xiàn)表中任何本地或全局索引沒法使用的情況。
  2、表的在線遷移限制也適用于此。
  3、引入加鎖機(jī)制來完成這1進(jìn)程,固然它也會(huì)致使性能降落并會(huì)產(chǎn)生大量的redo,這取決于分區(qū)和子分區(qū)的大小。

3. 不可見字段

  Oracle 11g R1中,Oracle以不可見索引和虛擬字段的情勢(shì)引入了1些不錯(cuò)的增強(qiáng)特性。繼承前者并發(fā)揚(yáng)光大,Oracle 12c R1中

引入了不可見字段思想。在之前的版本中,為了隱藏重要的數(shù)據(jù)字段以免在通用查詢中顯示,我們常常會(huì)創(chuàng)建1個(gè)視圖來隱藏所需信

息或利用某些安全條件。
  在12c R1中,你可以在表中創(chuàng)建不可見字段。當(dāng)1個(gè)字段定義為不可見時(shí),這1字段就不會(huì)出現(xiàn)在通用查詢中,除非在SQL語句或

條件中有顯式的提及這1字段,或是在表定義中有DESCRIBED。要添加或是修改1個(gè)不可見字段是非常容易的,反之亦然。

SQL> CREATE TABLE emp (eno number(6), ename name varchar2(40), sal number(9) INVISIBLE);
SQL> ALTER TABLE emp MODIFY (sal visible);
  
你必須在INSERT語句中顯式提及不可見字段名以將不可見字段插入到數(shù)據(jù)庫中。虛擬字段和分區(qū)字段一樣也能夠定義為不可見類型。

但臨時(shí)表,外部表和集群表其實(shí)不支持不可見字段。

4. 相同字段上的多重索引
  在Oracle 12c R1之前,1個(gè)字段是沒法以任何情勢(shì)具有多個(gè)索引的。也許有人會(huì)想知道為何通常1個(gè)字段需要有多重索引,事實(shí)上

需要多重索引的字段或字段集合是很多的。在12c R1中,只要索引類型的情勢(shì)不同,1個(gè)字段就能夠包括在1個(gè)B-tree索引中,一樣也能夠

包括在Bitmap索引中。注意,只有1種類型的索引是在給定時(shí)間可用的。

       sql> create index xulq.idx_xiaoxu_tabname1 on xulq.xiaoxu_01 (table_name) tablespace users;   ---索引可以創(chuàng)建
       sql> create bitmap index xulq.bitidx_xiaoxu_tabname on xulq.xiaoxu_01 (table_name) tablespace users;  

           ---ORA-01408: 此列列表已索引 ,正在分析緣由。

5. DDL日志
  在之前的版本中沒有可選方法來對(duì)DDL操作進(jìn)行日志記錄。而在12c R1中,你現(xiàn)在可以將DDL操作寫入xml和日志文件中。這對(duì)了解

誰在甚么時(shí)間履行了create或drop命令是10分有用的。要開啟這1功能必須對(duì)ENABLE_DDL_LOGGING 初始參數(shù)加以配置。這1參數(shù)可以

數(shù)據(jù)庫或會(huì)話級(jí)加以設(shè)置。當(dāng)此參數(shù)為啟用狀態(tài),所有的DDL命令會(huì)記錄在

$ORACLE_BASE/diag/rdbms/DBNAME/log|ddl 路徑下的xml和日志文件中。1個(gè)xml中包括DDL命令,IP地址,時(shí)間戳等信息。這可以幫助

肯定在甚么時(shí)候?qū)τ脩艋虮磉M(jìn)行了刪除亦或是1條DDL語句在什么時(shí)候觸發(fā)。

開啟DDL日志功能
SQL> ALTER SYSTEM|SESSION SET ENABLE_DDL_LOGGING=TRUE;  ----SYSTEM 級(jí)別的修改無需重啟數(shù)據(jù)庫便可生效。

以下的DDL語句可能會(huì)記錄在xml或日志文件中:
CREATE | ALTER | DROP | TRUNCATE TABLE
DROP USER
CREATE |ALTER | DROP  PACKAGE |FUNCTION | VIEW | SYNONYM | SEQUENCE.

示例:

sql> CREATE TABLE XULQ.XIAOXU_DDL_T AS SELECT * FROM DUAL;

DDL LOG 日志:

[oracle@ora12c ddl]$ cat log.xml
<msg time='2016-05⑵6T22:21:10.333+08:00' org_id='oracle' comp_id='rdbms'
 msg_id='kpdbLogDDL:18370:2946163730' type='UNKNOWN' group='diag_adl'
 level='16' host_id='ora12c' host_addr='127.0.0.1'
 version='1'>
 <txt>CREATE TABLE XULQ.XIAOXU_DDL_T AS SELECT * FROM DUAL
 </txt>

6. 臨時(shí)undo
  
每一個(gè)Oracle數(shù)據(jù)庫包括1組與系統(tǒng)相干的表空間,例如SYSTEM,SYSAUX,UNDO & TEMP,并且它們?cè)?a href="http://www.vxbq.cn/oracle/" target="_blank">Oracle數(shù)
據(jù)庫中每一個(gè)都用于不同的目的。在Oracle 12c R1之前,undo記錄是由臨時(shí)表產(chǎn)生并存儲(chǔ)在undo表空間中的,這更類似
于1個(gè)通用或持久的表撤消記錄。但是,由于在12c R1中引入了臨時(shí)undo功能,那些臨時(shí)undo記錄現(xiàn)在就能夠存儲(chǔ)在
臨時(shí)表中,而不是存儲(chǔ)在undo表空間中。臨時(shí)undo的主要好處在于:由于信息不會(huì)寫入undo日志,undo表空間的開消
得以減少并且產(chǎn)生的undo數(shù)據(jù)會(huì)更少。而對(duì)在會(huì)話級(jí)還是數(shù)據(jù)庫級(jí)開啟臨時(shí)undo功能你是可以靈活選擇的。

啟用臨時(shí)undo功能要使用這1新功能,需要做以下設(shè)置:
1、兼容性參數(shù)必須設(shè)置為12.0.0或更高
2、啟用 TEMP_UNDO_ENABLED 初始化參數(shù)
3、由于臨時(shí)undo記錄現(xiàn)在是存儲(chǔ)在1個(gè)臨時(shí)表空間中的,你需要有足夠的空間來創(chuàng)建這1臨時(shí)表空間
4、對(duì)會(huì)話級(jí),你可使用:ALTER SYSTEM SET TEMP_UNDO_ENABLE=TRUE;

查詢臨時(shí)undo信息
以下所列的字典視圖是用來查看或查詢臨時(shí)undo數(shù)據(jù)相干統(tǒng)計(jì)信息的:
V$TEMPUNDOSTAT
DBA_HIST_UNDOSTAT
V$UNDOSTAT

要禁用此功能,你只需做以下設(shè)置:
SQL> ALTER SYSTEM|SESSION SET TEMP_UNDO_ENABLED=FALSE;


7. 備份特定用戶特權(quán)
  在11g R2中,引入了SYSASM特權(quán)來履行ASM的特定操作。一樣地,在12c中引入了SYSBACKUP特權(quán)用來在
RMAN中履行備份和恢復(fù)命令。因此,你可以在數(shù)據(jù)庫中創(chuàng)建1個(gè)本地用戶并在不授與其SYSDBA權(quán)限的情況下,通過
授與SYSBACKUP權(quán)限讓其能夠在RMAN中履行備份和恢復(fù)相干的任務(wù)。
$ ./rman target "username/password as SYSBACKUP"

8. 如何在RMAN中履行SQL語句

   在12c中,你可以在不需要SQL前綴的情況下在RMAN中履行任何SQL和PL/SQL命令,即你可以從RMAN直接履行
任何SQL和PL/SQL命令。以下便是在RMAN中履行SQL語句的示例:
RMAN> SELECT username,machine FROM v$session;
RMAN> ALTER TABLESPACE users ADD DATAFILE SIZE 121 m;

9. RMAN中的表恢復(fù)和分區(qū)恢復(fù)

  Oracle數(shù)據(jù)庫備份主要分為兩類:邏輯和物理備份。每種備份類型都有其本身的優(yōu)缺點(diǎn)。在之前的版本中,利用現(xiàn)
有物理備份來恢復(fù)表或分區(qū)是不可行的。為了恢復(fù)特定對(duì)象,邏輯備份是必須的。對(duì)12c R1,你可以在產(chǎn)生drop或
truncate的情況下從RMAN備份將1個(gè)特定的表或分區(qū)恢復(fù)到某個(gè)時(shí)間點(diǎn)或SCN。
當(dāng)通過RMAN發(fā)起1個(gè)表或分區(qū)恢復(fù)時(shí),大概流程是這樣的:
1、肯定要恢復(fù)表或分區(qū)所需的備份集
2、在恢復(fù)表或分區(qū)的進(jìn)程中,1個(gè)輔助數(shù)據(jù)庫會(huì)臨時(shí)設(shè)置為某個(gè)時(shí)間點(diǎn)
3、利用數(shù)據(jù)泵將所需表或分區(qū)導(dǎo)出到1個(gè)dumpfile
4、你可以從源數(shù)據(jù)庫導(dǎo)入表或分區(qū)(可選)
5、在恢復(fù)進(jìn)程中進(jìn)行重命名操作
  
以下是1個(gè)通過RMAN對(duì)表進(jìn)行時(shí)間點(diǎn)恢復(fù)的示例(確保你已對(duì)稍早的數(shù)據(jù)庫進(jìn)行了完全備份):
RMAN> connect target "username/password as SYSBACKUP";
RMAN> RECOVER TABLE username.tablename UNTIL TIME 'TIMESTAMP…'
AUXILIARY DESTINATION '/u01/tablerecovery'
DATAPUMP DESTINATION '/u01/dpump'
DUMP FILE 'tablename.dmp'
NOTABLEIMPORT -- this option avoids importing the table automatically.(此選項(xiàng)避免自動(dòng)導(dǎo)入表)
REMAP TABLE 'username.tablename': 'username.new_table_name'; -- can rename table with this option.
(此選項(xiàng)可以對(duì)表重命名)
重要提示:
1、確保對(duì)輔助數(shù)據(jù)庫在/u01文件系統(tǒng)下有足夠的可用空間,同時(shí)對(duì)數(shù)據(jù)泵文件也有一樣保證
2、必須要存在1份完全的數(shù)據(jù)庫備份,或最少是要有SYSTEM相干的表空間備份

以下是在RMAN中利用表或分區(qū)恢復(fù)的限制和束縛:
1、SYS用戶表或分區(qū)沒法恢復(fù)
2、存儲(chǔ)于SYSAUX和SYSTEM表空間下的表和分區(qū)沒法恢復(fù)
3、當(dāng)REMAP選項(xiàng)用來恢復(fù)的表包括NOT NULL束縛時(shí),恢復(fù)此表是不可行的

10. 限制PGA的大小
  在Oracle 12c R1之前,沒有選項(xiàng)可以用來限制和控制PGA的大小。雖然你設(shè)置某個(gè)大小為
PGA_AGGREGATE_TARGET 的初始參數(shù),Oracle會(huì)根據(jù)工作負(fù)載和需求來動(dòng)態(tài)地增大或減小PGA的大小。而在12c
中,你可以通過開啟自動(dòng)PGA管理來對(duì)PGA設(shè)定硬性限制,這需要對(duì)PGA_AGGREGATE_LIMIT 參數(shù)進(jìn)行設(shè)置。因此,
你現(xiàn)在可以通過設(shè)置新的參數(shù)來對(duì)PGA設(shè)定硬性限制以免過度使用PGA。
SQL> ALTER SYSTEM SET PGA_AGGREGATE_LIMIT=2G;
SQL> ALTER SYSTEM SET PGA_AGGREGATE_LIMIT=0; --disables the hard limit
  重要提示:
  當(dāng)超過了當(dāng)前PGA的限制,Oracle會(huì)自動(dòng)終止/中斷會(huì)話或進(jìn)程以保持最適合的PGA內(nèi)存。

11. 對(duì)表分區(qū)保護(hù)的增強(qiáng)

  在第1部份中,我解釋了如何在線或是離線狀態(tài)下遷移1個(gè)表分區(qū)或子分區(qū)到另外一個(gè)不同的表空間。在本文中,主
要介紹表分區(qū)其他方面的改進(jìn)。
11.1、添加多個(gè)新分區(qū)
  在Oracle 12c R1之前,1次只可能添加1個(gè)新分區(qū)到1個(gè)已存在的分區(qū)表。要添加1個(gè)以上的新分區(qū),需要對(duì)每一個(gè)
新分區(qū)都單獨(dú)履行1次 ALTER TABLE ADD PARTITION語句。而Oracle 12c只需要使用1條單獨(dú)的:ALTER TABLE ADD
PARTITION 命令就能夠添加多個(gè)新分區(qū),這增加了數(shù)據(jù)庫靈活性。以下示例說明了如何添加多個(gè)新分區(qū)到已存在的分區(qū)

創(chuàng)建測(cè)試表:
SQL> CREATE TABLE emp_part
(eno number(8), ename varchar2(40), sal number (6))
PARTITION BY RANGE (sal)
(PARTITION p1 VALUES LESS THAN (10000),
PARTITION p2 VALUES LESS THAN (20000),
PARTITION p3 VALUES LESS THAN (30000)
);

添加兩個(gè)新分區(qū):
SQL> ALTER TABLE emp_part ADD PARTITION p4 VALUES LESS THAN (35000),PARTITION p5 VALUES LESS THAN (40000);
一樣,只要MAXVALUE分區(qū)不存在,你就能夠添加多個(gè)新分區(qū)到1個(gè)列表和系統(tǒng)分區(qū)表。
如何刪除和截?cái)喽鄠€(gè)分區(qū)/子分區(qū)
  作為數(shù)據(jù)保護(hù)的1部份,DBA通常會(huì)在1個(gè)分區(qū)表上進(jìn)行刪除或截?cái)喾謪^(qū)的保護(hù)任務(wù)。在12c R1之前,對(duì)1個(gè)已
存在的分區(qū)表1次只可能刪除或截?cái)?個(gè)分區(qū)。而對(duì)Oracle 12c, 可以用單條:

ALTER TABLE table_name{DROP|TRUNCATE} PARTITIONS 命令來撤消或合并多個(gè)分區(qū)和子分區(qū)。

下例說明了如何在1個(gè)已存在分區(qū)表上刪除或截?cái)喽鄠€(gè)分區(qū):
SQL> ALTER TABLE emp_part TRUNCATE PARTITION p4,p5;
SQL> ALTER TABLE emp_part DROP PARTITIONS p4,p5;

要保持索引更新,使用UPDATE INDEXES或UPDATE GLOBAL INDEXES語句,以下所示:
SQL> ALTER TABLE emp_part DROP PARTITIONS p4,p5 UPDATE GLOBAL INDEXES;
SQL> ALTER TABLE emp_part TRUNCATE PARTITIONS p4,p5 UPDATE GLOBAL INDEXES;
如果你在不使用UPDATE GLOBAL INDEXES 語句的情況下刪除或截?cái)?個(gè)分區(qū),你可以在USER_INDEXES或
USER_IND_PARTITIONS 字典視圖下查詢ORPHANED_ENTRIES 字段以找出是不是有索引包括任何的過期條目。
將單個(gè)分辨別割為多個(gè)新分區(qū)
  在12c中新增強(qiáng)的SPLIT PARTITION 語句可讓你只使用1個(gè)單獨(dú)命令將1個(gè)特定分區(qū)或子分辨別割為多個(gè)新分
區(qū)。下例說明了如何將1個(gè)分辨別割為多個(gè)新分區(qū):

 SQL> ALTER TABLE emp_part SPLIT PARTITION p_max INTO (PARTITION p3 VALUES LESS THAN (25000),
PARTITION p4 VALUES LESS THAN (30000), PARTITION p_max);
將多個(gè)分區(qū)合并為1個(gè)分區(qū)

你可使用單條ALTER TBALE MERGE PARTITIONS 語句將多個(gè)分區(qū)合并為1個(gè)單獨(dú)分區(qū):
SQL>

CREATE TABLE emp_part
(eno number(8), ename varchar2(40), sal number (6))
PARTITION BY RANGE (sal)
(PARTITION p1 VALUES LESS THAN (10000),
PARTITION p2 VALUES LESS THAN (20000),
PARTITION p3 VALUES LESS THAN (30000),
PARTITION p4 VALUES LESS THAN (40000),
PARTITION p5 VALUES LESS THAN (50000),
PARTITION p_max (MAXVALUE)
);

SQL> ALTER TABLE emp_part MERGE PARTITIONS p3,p4,p5 INTO PARTITION p_merge;
如果分區(qū)范圍構(gòu)成序列,你可使用以下示例:
SQL> ALTER TABLE emp_part MERGE PARTITIONS p3 TO p5 INTO PARTITION p_merge;

12. 數(shù)據(jù)庫升級(jí)改進(jìn)

  每當(dāng)1個(gè)新的Oracle版本發(fā)布,DBA所要面臨的挑戰(zhàn)就是升級(jí)進(jìn)程。該部份我將介紹12c中引入的針對(duì)升級(jí)的兩個(gè)改
進(jìn)。
  預(yù)升級(jí)腳本
  在12c R1中,原本的utlu[121]s.sql 腳本由1個(gè)大為改良的預(yù)升級(jí)信息腳本preupgrd.sql所取代。除預(yù)升級(jí)檢查驗(yàn)
證,此腳本還能以修復(fù)腳本的情勢(shì)解決在升級(jí)進(jìn)程前后出現(xiàn)的各種問題。
  可以對(duì)產(chǎn)生的修復(fù)腳本加以履行來解決不同級(jí)別的問題,例如,預(yù)升級(jí)和升級(jí)后的問題。當(dāng)手動(dòng)升級(jí)數(shù)據(jù)庫時(shí),腳
本必須在實(shí)際升級(jí)進(jìn)程初始化之前加以手動(dòng)履行。但是,當(dāng)使用DBUA工具來進(jìn)行數(shù)據(jù)庫升級(jí)時(shí),它會(huì)將預(yù)升級(jí)腳本作為
升級(jí)進(jìn)程的1部份加以自動(dòng)履行,而且會(huì)提示你去履行修復(fù)腳本以避免報(bào)錯(cuò)。
  如何履行腳本:
SQL> @$ORACLE_12GHOME/rdbms/admin/preupgrd.sql
  以上腳本會(huì)產(chǎn)生1份日志文件和1個(gè)[pre/post]upgrade_fixup.sql 腳本。所有這些文件都位于
$ORACLE_BASE/cfgtoollogs 目錄下。在你繼續(xù)真實(shí)的升級(jí)進(jìn)程之前,你應(yīng)當(dāng)閱讀日志文件中所提到的建議并履行腳本以修復(fù)問題。
  注意:

你要確保將preupgrd.sql和utluppkg.sql 腳本從12c Oracle的目錄home/rdbms/admin directory拷貝至當(dāng)前的Oracle的database/rdbms/admin路徑。

并行升級(jí)功能


數(shù)據(jù)庫升級(jí)時(shí)間的長短取決于數(shù)據(jù)庫上所配置的組件數(shù)量,而不是數(shù)據(jù)庫的大小。在之前的版本中,我們是沒法并行運(yùn)行升級(jí)程序,從而快速完成全部升級(jí)進(jìn)程的。
  在12c R1中,原本的catupgrd.sql 腳本由catctl.pl 腳本(并行升級(jí)功能)替換,現(xiàn)在我們可以采取并行模式運(yùn)行升級(jí)程序了。
  以下流程說明了如何初始化并行升級(jí)功能(3個(gè)進(jìn)程);你需要在升級(jí)模式下在啟動(dòng)數(shù)據(jù)庫后運(yùn)行這1腳本:
        cd $ORACLE_12_HOME/perl/bin
        $ ./perl catctl.pl –n 3 -catupgrd.sql
  以上兩個(gè)步驟需要在手動(dòng)升級(jí)數(shù)據(jù)庫時(shí)運(yùn)行。而DBUA也繼承了這兩個(gè)新變化。


13. 通過網(wǎng)絡(luò)恢復(fù)數(shù)據(jù)文件
  在12c R1中另外一個(gè)重要的增強(qiáng)是,你現(xiàn)在可以在主數(shù)據(jù)庫和備用數(shù)據(jù)庫之間用1個(gè)服務(wù)名重新取得或恢復(fù)數(shù)據(jù)文
件、控制文件、參數(shù)文件、表空間或全部數(shù)據(jù)庫。這對(duì)同步主數(shù)據(jù)庫和備用數(shù)據(jù)庫極其有用。
  當(dāng)主數(shù)據(jù)庫和備用數(shù)據(jù)庫之間存在相當(dāng)大的差異時(shí),你不再需要復(fù)雜的前滾流程來彌補(bǔ)它們之間的差異。RMAN能
夠通過網(wǎng)絡(luò)履行備用恢復(fù)以進(jìn)行增量備份,并且可以將它們利用到物理備用數(shù)據(jù)庫。你可以用服務(wù)名直接將所需數(shù)據(jù)文
件從備用點(diǎn)拷貝至主站,這是為了避免主數(shù)據(jù)庫上數(shù)據(jù)文件、表空間的丟失,或是沒有真正從備份集恢復(fù)數(shù)據(jù)文件。
  以下流程演示了如何用此新功能履行1個(gè)前滾來對(duì)備用數(shù)據(jù)庫和主數(shù)據(jù)庫進(jìn)行同步:
  在物理備用數(shù)據(jù)庫上:
./rman target "username/password@standby_db_tns as SYSBACKUP"
RMAN> RECOVER DATABASE FROM SERVICE primary_db_tns USING COMPRESSED BACKUPSET;
  以上示例使用備用數(shù)據(jù)庫上定義的primary_db_tns 連接字符串聯(lián)接到主數(shù)據(jù)庫,然后履行了1個(gè)增量備份,再將這
些增量備份傳輸至備用目的地,接著將利用這些文件到備用數(shù)據(jù)庫來進(jìn)行同步。但是,需要確保已對(duì)primary_db_tns
進(jìn)行了配置,即在備份數(shù)據(jù)庫端將其指向主數(shù)據(jù)庫
  在以下示例中,我將演示1個(gè)場景通過從備用數(shù)據(jù)庫獲得數(shù)據(jù)文件來恢復(fù)主數(shù)據(jù)庫上丟失的數(shù)據(jù)文件:
  在主數(shù)據(jù)庫上:
./rman target "username/password@primary_db_tns as SYSBACKUP"
RMAN> RESTORE DATAFILE ‘+DG_DISKGROUP/DBANME/DATAFILE/filename’ FROM SERVICE standby_db_tns;

14. 對(duì)Data Pump的增強(qiáng)
  Data Pump版本有了很多有用的改進(jìn),例如在導(dǎo)出時(shí)將視圖轉(zhuǎn)換為表,和在導(dǎo)入時(shí)關(guān)閉日志記錄等。
  關(guān)閉redo日志的生成  Data Pump中引入了新的TRANSFORM選項(xiàng),這對(duì)對(duì)象在導(dǎo)入期間提供了關(guān)閉重做生成的靈活性。當(dāng)為
TRANSFORM選項(xiàng)指定了DISABLE_ARCHIVE_LOGGING 值,那末在全部導(dǎo)入期間,重做生成績會(huì)處于關(guān)閉狀態(tài)。這1
功能在導(dǎo)入大型表時(shí)減緩了壓力,并且減少了過度的redo產(chǎn)生,從而加快了導(dǎo)入。這1屬性還可利用到表和索引。以
下示例演示了這1功能:
$ ./impdp directory=dpump dumpfile=abcd.dmp logfile=abcd.log TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y
  將視圖轉(zhuǎn)換為表
  這是Data Pump中另外1個(gè)改進(jìn)。有了VIEWS_AS_TABLES 選項(xiàng),你就能夠?qū)⒁晥D數(shù)據(jù)載入表中。以下示例演示了
如何在導(dǎo)出進(jìn)程中將視圖數(shù)據(jù)載入到表中:
$ ./expdp directory=dpump dumpfile=abcd.dmp logfile=abcd.log views_as_tables=my_view:my_table

15. 實(shí)時(shí)自動(dòng)數(shù)據(jù)診斷監(jiān)視器 (ADDM) 分析

  通過使用諸如AWR、ASH和ADDM之類的自動(dòng)診斷工具來分析數(shù)據(jù)庫的健康狀態(tài),是每一個(gè)DBA日程工作的1部
分。雖然每種工具都可以在多個(gè)層面衡量數(shù)據(jù)庫的整體健康狀態(tài)和性能,但沒有哪一個(gè)工具可以在數(shù)據(jù)庫反應(yīng)遲鈍或是完
全掛起的時(shí)候使用。
  當(dāng)數(shù)據(jù)庫反應(yīng)遲鈍或是掛起狀態(tài)時(shí),而且你已配置了Oracle 企業(yè)管理器 12c的云控制,你就能夠?qū)?yán)重的性能問
題進(jìn)行診斷。這對(duì)你了解當(dāng)前數(shù)據(jù)庫產(chǎn)生了甚么狀態(tài)有很大幫助,而且還能夠?qū)Υ藛栴}給出解決方案。
  以下步驟演示了如何在Oracle 企業(yè)管理器 12c上分析數(shù)據(jù)庫狀態(tài):
  1、在訪問數(shù)據(jù)庫訪問主頁面從Performance菜單選擇Emergency Monitoring 選項(xiàng)。這會(huì)顯示掛起分析表中排名靠前
的禁止會(huì)話。
  2、在Performance菜單選擇Real-Time ADDM 選項(xiàng)來履行實(shí)時(shí)ADDM分析。
  3、在搜集了性能數(shù)據(jù)后,點(diǎn)擊Findings標(biāo)簽以取得所有結(jié)果的交互總結(jié)。

16. 同時(shí)在多個(gè)表上搜集統(tǒng)計(jì)數(shù)據(jù)
  在之前的Oracle數(shù)據(jù)庫版本中,當(dāng)你履行1個(gè)DBMS_STATS 程序來搜集表、索引、模式或數(shù)據(jù)庫級(jí)別的統(tǒng)計(jì)數(shù)
據(jù)時(shí),Oracle習(xí)慣于1次1個(gè)表的搜集統(tǒng)計(jì)數(shù)據(jù)。如果表很大,那末推薦你采取并行方式。在12c R1中,你現(xiàn)在可以同
時(shí)在多個(gè)表、分區(qū)和子分區(qū)上搜集統(tǒng)計(jì)數(shù)據(jù)。在你開始使用它之前,你必須對(duì)數(shù)據(jù)庫進(jìn)行以下設(shè)置以開啟此功能:
SQL> ALTER SYSTEM SET RESOURCE_MANAGER_PLAN='DEFAULT_MAIN';
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=4;
SQL> EXEC DBMS_STATS.SET_GLOBAL_PREFS('CONCURRENT', 'ALL');
SQL> EXEC DBMS_STATS.GATHER_SCHEMA_STATS('SCOTT');



生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 毛片色毛片18毛片美女 | 欧美一区二区三区精品 | 亚洲图片一区二区三区 | 最近新中文字幕大全高清 | 亚洲图片综合 | www在线观看免费视频 | 亚洲性网 | 亚洲自拍小视频 | 国产精品福利自产拍网站 | 久久综合中文字幕一区二区三区 | 中文字幕在线视频免费 | 鸥美性生交xxxxx久久久 | 亚洲欧洲高清 | 亚洲精品自拍视频 | 亚洲国产成人精彩精品 | 人与动性xxxxx免费 | 国产区第一页 | 国产亚洲精品精品国产亚洲综合 | 国产精品公开免费视频 | 极品丝袜高跟91极品系列 | 久久麻豆亚洲精品 | 免费看h视频 | 亚洲精品久久久久网站 | 久久男人的天堂 | 亚洲黄色视屏 | 亚欧精品一区二区三区 | 伊人365| 国产激情一区二区三区四区 | 精品尤物| 九色在线看 | 中国毛片免费观看 | 国产老妇一性一交一乱 | 欧美日韩国产精品自在自线 | 国产高清视频在线观看不卡v | 亚洲欧美成aⅴ人在线观看 亚洲欧美成人 | 日韩高清一级 | 日本一区二区三 | 亚洲成人黄色在线观看 | 99久久999久久久综合精品涩 | 国产日韩精品欧美一区色 | 国产九九精品 |