本篇內(nèi)容主要講解“Oracle數(shù)據(jù)版本12.2.0.1.0有哪些新特性”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Oracle數(shù)據(jù)版本12.2.0.1.0有哪些新特性”吧!
棗莊ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
1. 在線重命名和重新定位活躍數(shù)據(jù)文件
可以使用ALTER DATABASE MOVE DATAFILE這樣的SQL語句對數(shù)據(jù)文件進(jìn)行在線重命名和移動
2. 表分區(qū)或子分區(qū)的在線遷移
表分區(qū)或子分區(qū)可以在線或是離線遷移至一個(gè)不同的表空間。
當(dāng)指定了ONLINE語句,所有的DML操作可以在沒有任何中斷的情況下,在參與這一過程的分區(qū)或子分區(qū)上執(zhí)行,還可維護(hù)表上任何本地或全局的索引
3. 不可見字段
可以在表中創(chuàng)建不可見字段。
當(dāng)一個(gè)字段定義為不可見時(shí),這一字段就不會出現(xiàn)在通用查詢中,除非在SQL語句或條件中有顯式的提及這一字段,或是在表定義中有DESCRIBED。
必須在INSERT語句中顯式提及不可見字段名以將不可見字段插入到數(shù)據(jù)庫中。
虛擬字段和分區(qū)字段同樣也可以定義為不可見類型。但臨時(shí)表,外部表和集群表并不支持不可見字段
set colinvisible on
alter table emp modify(sal visible);
只要索引類型的形式不同,一個(gè)字段就可以包含在一個(gè)B-tree索引中,同樣也可以包含在Bitmap索引中
可以將DDL操作寫入xml和日志文件中
ALTER SYSTEM|SESSION SET ENABLE_DDL_LOGGING=TRUE;
DDL操作會記錄在$ORACLE_BASE/diag/rdbms/DBNAME/log/ddl路徑下
/u01/app/oracle/diag/rdbms/prod/PROD/log/ddl
臨時(shí)undo功能中,臨時(shí)undo記錄可以存儲在一個(gè)臨時(shí)表中,而無需再存儲在undo表空間內(nèi)。
這樣做的主要好處在于:減少undo表空間,由于信息不會被記錄在redo日志中,所以減少了redo數(shù)據(jù)的生成。
你可以在會話級別或者數(shù)據(jù)庫級別來啟用臨時(shí)undo選項(xiàng)
show parameter undo;
select name,value from v$mystat natural join v$statname where name in('redo entries','redo size')
create global temporary table temp_objects as select * from dba_objects where 1=2;
select name,value from v$mystat natural join v$statname where name in('redo entries','redo size');
insert into temp_objects select * from dba_objects;
select name,value from v$mystat natural join v$statname where name in('redo entries','redo size');
drop table temp_objects;
ALTER SYSTEM SET TEMP_UNDO_ENABLED=TRUE;
show parameter undo;
select name,value from v$mystat natural join v$statname where name in('redo entries','redo size');
create global temporary table temp_objects as select * from dba_objects where 1=2;
select name,value from v$mystat natural join v$statname where name in('redo entries','redo size');
insert into temp_objects select * from dba_objects;
select name,value from v$mystat natural join v$statname where name in('redo entries','redo size');
在12c中引入了SYSBACKUP特權(quán)用來在 RMAN中執(zhí)行備份和恢復(fù)命令。
因此,你可以在數(shù)據(jù)庫中創(chuàng)建一個(gè)本地用戶并在不授予其SYSDBA權(quán)限的情況下,通過授予SYSBACKUP權(quán)限讓其能夠在RMAN中執(zhí)行備份和恢復(fù)相關(guān)的任務(wù)。
$ ./rman target "username/password as SYSBACKUP"
備份用戶權(quán)限
grant sysbackup to wangkai;
rman target '"wangkai/oracle@prod as sysbackup"'
可以在不需要SQL前綴的情況下在RMAN中執(zhí)行任何SQL和PL/SQL命令,即你可以從RMAN直接執(zhí)行任何SQL和PL/SQL命令
可以在發(fā)生drop或truncate的情況下從RMAN備份將一個(gè)特定的表或分區(qū)恢復(fù)到某個(gè)時(shí)間點(diǎn)或SCN
drop table emp1 purge;
RMAN> recover table wk.emp1 until time "to_date('2018-11-06 14:00:00','yyyy-mm-dd hh34:mi:ss')"
2> auxiliary destination '/u01/app/backup/tmp'
3> datapump destination '/u01/app/backup/tmp';
執(zhí)行詳情見 session.log.
select * from emp1;
可以通過開啟自動PGA管理來對PGA設(shè)定硬性限制,這需要對PGA_AGGREGATE_LIMIT 參數(shù)進(jìn)行設(shè)置
當(dāng)超過了當(dāng)前的PGA的限制,Oracle會自動終止/中止會話或進(jìn)程以保持最合適的PGA內(nèi)存。
create or replace package demo_pkg
as
type array is table of char(2000) index by binary_integer;
g_data array;
end;
/
select a.name,to_char(b.value,'999,999,999')bytes,to_char(round(b.value/1024/1024,1),'99,999.9')mbytes
from v$statname a,v$mystat b
where a.statistic#=b.statistic#
and a.name like '%ga memory%';
begin
for i in 1..1000000
loop
demo_pkg.g_data(i):='x';
end loop;
end;
/
12c只需要使用一條單獨(dú)的ALTER TABLE ADD PARTITION 命令就可以添加多個(gè)新分區(qū)
select TABLE_NAME,PARTITION_NAME,tablespace_name,PARTITION_POSITION,SEGMENT_CREATED from user_tab_partitions;
ALTER TABLE sales_history drop PARTITION p5;
ALTER TABLE sales_history ADD
partition p5 VALUES LESS THAN (TO_DATE('01-JAN-2003','dd-MON-yyyy')) tablespace study3,
partition p6 VALUES LESS THAN (TO_DATE('01-JAN-2004','dd-MON-yyyy')) tablespace study3;
select TABLE_NAME,PARTITION_NAME,tablespace_name,PARTITION_POSITION,SEGMENT_CREATED from user_tab_partitions;
預(yù)升級腳本,預(yù)升級檢查驗(yàn)證,此腳本還能以修復(fù)腳本的形式解決在升級過程前后出現(xiàn)的各種問題
并行升級功能
SQL> @/u01/app/oracle/product/12.1.0/db_1/rdbms/admin/preupgrd.sql
圖形界面:
可以在主數(shù)據(jù)庫和備用數(shù)據(jù)庫之間用一個(gè)服務(wù)名重新獲得或恢復(fù)數(shù)據(jù)文件、控制文件、參數(shù)文件、表空間或整個(gè)數(shù)據(jù)庫
場景1,在物理備用數(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連接字符串連接到主數(shù)據(jù)庫,然后執(zhí)行了一個(gè)增量備份,再將這些增量備份傳輸至備用數(shù)據(jù)庫來進(jìn)行同步。然而,需要確保已經(jīng)對primary_db_tns進(jìn)行了配置,即在備份數(shù)據(jù)庫端將其指向主數(shù)據(jù)庫。)
在以下示例中,我將演示一個(gè)場景通過從備用數(shù)據(jù)庫獲取數(shù)據(jù)文件來恢復(fù)主數(shù)據(jù)庫上丟失的數(shù)據(jù)文件
場景2,在主數(shù)據(jù)庫上:
./rman target ‘”username/password@primary_db_tns as sysbackup”’
RMAN>restore datafile ‘+DG_DISKGROUP/DBNAME/DATAFILE/filename’ from service standby_db_tns;
自己實(shí)驗(yàn):備庫刪掉幾個(gè)數(shù)據(jù)文件,通過從主數(shù)據(jù)庫獲取數(shù)據(jù)文件來恢復(fù)備庫丟失的數(shù)據(jù)文件。
在導(dǎo)出時(shí)可以將視圖轉(zhuǎn)換為表,在導(dǎo)入時(shí)可以關(guān)閉日志記錄
像表一樣導(dǎo)出視圖
views_as_tables參數(shù)允許把視圖當(dāng)成表導(dǎo)出。表結(jié)構(gòu)匹配試圖列,視圖查詢結(jié)果對應(yīng)表數(shù)據(jù)。
views_as tables=
[schema_name.]view_name[:table_name],...
例子:
conn scott/tiger@prod2
create view emp_v as select * from emp;
用views_as_tables參數(shù)導(dǎo)出視圖。
$expdp scott/tiger views_as_tables=scott.emp_v directory=test_dir dumpfile=emp_v.dmp logfile=expdp_emp_v.log
expdp默認(rèn)會創(chuàng)建一個(gè)臨時(shí)表來作為視圖的拷貝,但不包含數(shù)據(jù),只是會導(dǎo)出提供一個(gè)元數(shù)據(jù)源。此外,也可以確定一個(gè)結(jié)構(gòu)合適的表來代替,但這也許只有在只讀庫上才有意義。
禁用日志選項(xiàng)(disable_archive_logging)
impdp的transform參數(shù)已經(jīng)擴(kuò)展為包括disable_archive_logging選項(xiàng),默認(rèn)值為“N”,不會影響日志行為;將該選項(xiàng)設(shè)置為“Y“,這將會使表和索引在導(dǎo)入前將日志屬性設(shè)置為nologging,從而減少導(dǎo)入期間相關(guān)日志的產(chǎn)生,導(dǎo)入后再將日志屬性重置為logging。
transform= disable_archive_logging:Y:table
transform= disable_archive_logging:Y:index
$ impdp wk/oracle directory=test_dir dumpfile=emp_v.dmp logfile=impdp_emp_v.log remap_schema=scott:wk transform= disable_archive_logging:Y
(如果數(shù)據(jù)庫運(yùn)行在force logging模式,disable_archive_logging選項(xiàng)將沒什么影響)
當(dāng)數(shù)據(jù)庫反應(yīng)遲鈍或是掛起狀態(tài)時(shí),而且你已經(jīng)配置了Oracle 企業(yè)管理器 12c的云控制,你就可以對嚴(yán)重的性能問題進(jìn)行診斷。
這對于你了解當(dāng)前數(shù)據(jù)庫發(fā)生了什么狀況有很大幫助,而且還能夠?qū)Υ藛栴}給出解決方案
在12c R1中,你現(xiàn)在可以同時(shí)在多個(gè)表、分區(qū)以及子分區(qū)上收集統(tǒng)計(jì)數(shù)據(jù)。
在你開始使用它之前,你必須對數(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’);
自動存儲管理(ASM)中的增強(qiáng)
Flex ASM
節(jié)點(diǎn)上的ASM實(shí)例發(fā)生故障,則運(yùn)行于此節(jié)點(diǎn)上的所有數(shù)據(jù)庫和實(shí)例都會受到影響。
為了避免ASM實(shí)例的單點(diǎn)故障,Oracle 12c提供了一個(gè)名為Flex ASM的功能。
Flex ASM是一個(gè)不同的概念和架構(gòu),只有很少數(shù)量的ASM實(shí)例需要運(yùn)行在集群中的一些服務(wù)器上。
當(dāng)某節(jié)點(diǎn)上的一個(gè)ASM實(shí)例發(fā)生故障,Oracle集群就會在另一個(gè)不同的節(jié)點(diǎn)上自動啟動替代ASM實(shí)例以加強(qiáng)可用性。
另外,這一設(shè)置還為運(yùn)行在此節(jié)點(diǎn)上的實(shí)例提供了ASM實(shí)例負(fù)載均衡能力。Flex ASM的另一個(gè)優(yōu)勢就是可以在單獨(dú)節(jié)點(diǎn)上加以配置
ASM存儲限制放寬
ASM支持511個(gè)ASM磁盤群組,而在11g R2中只支持63個(gè)。
11g R2中20 PB的磁盤大小,現(xiàn)在已經(jīng)將這一數(shù)字提高到32 PB。
對ASM均衡操作的優(yōu)化
12c 中新的EXPLAIN WORK FOR 語句用于衡量一個(gè)給定ASM均衡操作所需的工作量,并在V$ASM_ESTIMATE動態(tài)視圖中輸入結(jié)果
使用此動態(tài)視圖,你可以調(diào)整POWER LIMIT 語句對重新平衡操作工作進(jìn)行改善
ASM磁盤清理
在一個(gè)ASM磁盤群組中,新的ASM磁盤清理操作分為正常或高冗余兩個(gè)級別,它可以檢驗(yàn)ASM磁盤群組中所有磁盤的邏輯數(shù)據(jù)破壞,
并且可以自動對邏輯破壞進(jìn)行修復(fù),如果檢測到有邏輯數(shù)據(jù)破壞,就會使用ASM鏡像磁盤。
磁盤清理可以在磁盤群組,特定磁盤或是某個(gè)文件上執(zhí)行,這樣其影響可降到最小程度
ASM的活動會話歷史(ASH)
V$ACTIVE_SESSION_HISOTRY 動態(tài)視圖現(xiàn)在還可以提供ASM實(shí)例的活動會話抽樣,然而,診斷包的使用是受到許可限制的。
Flex 集群
Oracle 12c 在集群安裝時(shí)支持兩類配置:傳統(tǒng)標(biāo)準(zhǔn)集群和Flex集群。
在一個(gè)傳統(tǒng)標(biāo)準(zhǔn)集群中,所有集群中的節(jié)點(diǎn)都彼此緊密地整合在一起,并通過私有網(wǎng)絡(luò)進(jìn)行互動,而且可以直接訪問存儲。
另一方面,F(xiàn)lex集群在Hub和Leaf節(jié)點(diǎn)結(jié)構(gòu)間引入了兩類節(jié)點(diǎn)。
分配在Hub中的節(jié)點(diǎn)類似于傳統(tǒng)標(biāo)準(zhǔn)集群,它們通過私有網(wǎng)絡(luò)彼此互連在一起并對存儲可以進(jìn)行直接讀寫訪問。
而Leaf節(jié)點(diǎn)不同于Hub節(jié)點(diǎn),它們不需要直接訪問底層存儲;相反的是,它們通過Hub節(jié)點(diǎn)對存儲和數(shù)據(jù)進(jìn)行訪問
ASM磁盤群組中的OCR備份
對于12c,OCR現(xiàn)在可以在ASM磁盤群組中得以備份。
這簡化了通過所有節(jié)點(diǎn)對OCR備份文件的訪問。為了防止OCR的恢復(fù),你不必?fù)?dān)心OCR最新的備份是在哪個(gè)節(jié)點(diǎn)上。
可以從任何節(jié)點(diǎn)輕易識別存儲在ASM中的最新備份并能很容易地執(zhí)行恢復(fù)
支持IPv6協(xié)議
對于12c,Oracle是支持IPv6網(wǎng)絡(luò)協(xié)議配置的。
你現(xiàn)在可以在IPv4或IPv6上配置共有或私有網(wǎng)絡(luò)接口,盡管如此,你需要確保在所有集群中的節(jié)點(diǎn)上使用相同的IP協(xié)議
What-if命令評估
通過srvctl使用新的What-if命令評估選項(xiàng),現(xiàn)在可以確定運(yùn)行此命令所造成的影響。
這一新添加到srvctl的命令,可以在沒有實(shí)際執(zhí)行或是不對當(dāng)前系統(tǒng)做任何改變的情況下模擬此命令。
這在想要對一個(gè)已存在的系統(tǒng)進(jìn)行更改卻對結(jié)果不確定的時(shí)候特別有用。
這樣,此命令就會提供進(jìn)行變更的效果。而–eval 選項(xiàng)也可以通過crsctl 命令來使用
srvctl的改進(jìn)
對于srvctl命令還有一些新增功能。以下演示了如何用這些新增功能停止或啟動集群上的數(shù)據(jù)庫或?qū)嵗Y源。
srvctl start database|instance –startoption NOMOUNT|MOUNT|OPEN
srvctl stop database|instance –stopoption NOMOUNT|MOUNT|OPEN
到此,相信大家對“Oracle數(shù)據(jù)版本12.2.0.1.0有哪些新特性”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
文章名稱:Oracle數(shù)據(jù)版本12.2.0.1.0有哪些新特性
分享地址:http://aaarwkj.com/article34/ijhdpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)頁設(shè)計(jì)公司、微信小程序、網(wǎng)站策劃、響應(yīng)式網(wǎng)站、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)