Oracle云服务器及 DB12C新特性介绍
- 格式:pdf
- 大小:4.25 MB
- 文档页数:54
Oracle12C新特性之PDB热克隆(本地克隆、远端异机克隆)说明:版本12.2.0.112c r1版本中 clone ⼀份PDB源库需要打开在read only只读模式 , 在12c r2版本中引⼊了local undo mode, 源PDB在read/write 读写模式也可以 clone 。
local undo mode 也是oracle推崇的模式。
说明: shared undo 与 Local undo 模式切换可以参考 /zhang123456456/article/details/71374528要求:1、 Archive Log Enabled2、 Local Undo Enabled3、 destination CDB must have a public database link to the source CDB,have sufficient privileges to use the database link.⼀、克隆本地pdb[oracle@12c ~]$ sqlplus / as sysdba-- 检查是否开启 local undoSQL>col PROPERTY_NAME for a25;col PROPERTY_VALUE for a25;select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name='LOCAL_UNDO_ENABLED'; PROPERTY_NAME PROPERTY_VALUE------------------------- -------------------------LOCAL_UNDO_ENABLED TRUESQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NOSQL> show parameter pdb_file_name_convertNAME TYPE VALUE------------------------------------ ----------- ------------------------------pdb_file_name_convert string-- clone pdb 数量为⼀,注意这⾥ pdb_file_name_convert 参数⽣效级别设置的是 session ,如有需要,⾃⾏设置为全局SQL> alter session set pdb_file_name_convert='pdb01','pdb02';Session altered.SQL> create pluggable database pdb02 from pdb01;Pluggable database created.SQL> alter pluggable database pdb02 open;Pluggable database created.SQL> alter pluggable database pdb02 close immediate;Pluggable database altered.-- clone pdb 数量为多SQL> alter session set pdb_file_name_convert='pdb01','pdb02,pdb03';Session altered.SQL> create pluggable database pdb03 from pdb01;Pluggable database created.SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NO4 PDB02 MOUNTED5 PDB03 MOUNTEDSQL> alter pluggable database pdb02 open;Pluggable database altered.SQL> alter pluggable database pdb03 open;Pluggable database altered.SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NO4 PDB02 READ WRITE NO5 PDB03 READ WRITE NO⼆、克隆远程pdb--源端SQL> create user c##andy identified by andy container=all;User created.SQL> grant dba to c##andy container=all;Grant succeeded.-- ⽬标端cdb执⾏SQL> create database link clonePdb connect to c##andy identified by andy using '(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP) (HOST = 10.219.24.17)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = pdb01)))';Database link created.-- 源端SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NO-- ⽬标端cdbSQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NO4 PDB02 READ WRITE NO5 PDB03 READ WRITE NOSQL> alter session set pdb_file_name_convert='pdb01','pdb04';Session altered.-- 通过 dblink 克隆源端的 pdbSQL> create pluggable database pdb04 from pdb01@clonePdb;Pluggable database created.SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB01 READ WRITE NO4 PDB02 READ WRITE NO5 PDB03 READ WRITE NO6 PDB04 MOUNTEDSQL> alter pluggable database pdb04 open;alter pluggable database pdb04 open*ERROR at line 1:ORA-14694: database must in UPGRADE mode to begin MAX_STRING_SIZE migrationSQL> ho oerr ora 1469414694, 00000, "database must in UPGRADE mode to begin MAX_STRING_SIZE migration"// *Cause: An attempt was made to update the MAX_STRING_SIZE parameter// to EXTENDED when the database was not in UPGRADE mode.//* Action: Restart the database in UPGRADE mode, modify the parameter,// run the utl32k.sql script in $ORACLE_HOME/rdbms/admin, and// restart the database in normal mode.说明:这个报错的原因是⽬标端使⽤了12c的新特性extended data type ,源端没有使⽤这个新特性,从源端克隆过来的pdb需要扩展extended data type 新特性与⽬标端保持⼀致。
oracle12c的CDB与PDBoracle12c的CDB与PDBoracle12c的新特性Oracle 12C引⼊了CDB与PDB的新特性,在ORACLE 12C数据库引⼊的多租⽤户环境(Multitenant Environment)中,允许⼀个数据库容器(CDB)承载多个可插拔数据库(PDB)。
CDB全称为Container Database,中⽂翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。
在ORACLE 12C之前,实例与数据库是⼀对⼀或多对⼀关系(RAC):即⼀个实例只能与⼀个数据库相关联,数据库可以被多个实例所加载。
⽽实例与数据库不可能是⼀对多的关系。
当进⼊ORACLE 12C后,实例与数据库可以是⼀对多的关系。
下⾯是官⽅⽂档关于CDB与PDB的关系图。
cdb相当于操作系统,调⽤并管理各个pdb。
pdb相当于真正提供业务需求的数据库实例。
oracle 12c安装后只创建了cdb,需要⾃⼰⽣成相应的pdb。
oracle 12c使⽤了CDB-PDB架构,类似于docker,在container-db内可以加载多个pluggable-db.安装成功后修改tnsnames.ora我的在D:\app\oracle\product\12.1.0\dbhome_1\NETWORK\ADMIN⽂件夹下############################tnsnames.ora#######################cdborcl =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = orcl) #cdb的db_name))#pdbpdborcl =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = pdborcl) #pdb的db_name))##########################tnsnames.ora######################数据库下拉框会出现pdborcl选项遇到的坑使⽤system登录,PLSQL Developer选择ORCL,执⾏select name,open_mode from v$pdbs; ⽤来查看当前CDB容器中包含的PDB容器pdborcl的open_mide的状态是READ WRITE,使⽤pdborcl也能登录,但是你重启服务器这个状态会变为这时候PLSQL Developer选择pdborcl就不能登录了,出现错误因为服务器重启时,pdb默认不启动PLSQL Developer选择ORCL. system登录(或使⽤sqlplus)执⾏alter pluggable database PDBORCL open; 启动pdb创建⽤户创建新⽤户,注意CDB容器中创建⼀个通⽤⽤户,⽤户名必须以C##或者c##开头,因为CDB中默认创建的是common user如果想要创建本地⽤户,则要在PDB容器中创建,下⾯会说如何切换到PDB容器create user C##test identified by 123456; //其中C##test为⽤户名,123456为密码给新⽤户授权grant create session to C##test;grant create table to C##test;grant create tablespace to C##test;grant create view to C##test;切换⾄查到的某个PDB容器(上⾯查到的是PDBORCL)注意使⽤这个命令需要的sysdba级别的权限,否则⽆法执⾏,切换后才可使⽤当前pdb的私有⽤户进⾏操作,12c数据库创建完成后,默认情况下使⽤sqlplus / as sysdba 登录连接的是CDB。
oracle 12c 参数Oracle 12c参数Oracle是一款非常强大的数据库管理软件,可以为企业提供高效稳定的数据管理支持。
Oracle数据库的运行需要众多参数的配合,针对每个参数的设置可以使得Oracle 的运行更加稳定、高效。
在Oracle 12c中,有大量的数据库参数需要进行设置,本文将介绍一些关键的参数设置方法。
1、SGA参数设置SGA是Oracle中非常重要的内存区域,被用于缓存数据和元数据,减少磁盘I/O。
通过调整SGA大小可以实现提高访问性能的目的。
可以使用下面的命令来查询SGA参数的值:SQL> show parameter sga可以通过编辑初始化文件ORACLE_HOME/dbs/initoradb.ora或使用ALTER SYSTEM语句在SGA参数或组件级别上设置SGA参数。
设置SGA最重要的是备份与恢复,为此可以将SGA的大小保存在PFILE 或SPFILE中,以便在备份与还原过程中使用。
SGA参数的设置包括:shared_pool_size:由SQL语句共享池的大小决定。
在高流量情况下,共享池的尺寸应适当增加以提高查询的效率。
db_cache_size:用于缓存数据块和索引块的缓冲池大小。
它决定了数据块的内存使用量。
large_pool_size:在执行如连接服务器,排序操作等任务时,处理多个连接的顶层堆栈使用的内存。
java_pool_size:用于Java等对象的内存池大小。
2、PGA参数设置Oracle数据库中的PGA(Process Global Area)是实现Oracle“进程内内存”概念的关键,它由每个进程的私有内存组成。
PGA存储了一个进程的全局变量信息,设计合理的PGA大小,可以使得Oracle各个进程的访问效率更高。
可以使用下面的命令来查询PGA参数的值:SQL> show parameter pga可以通过编辑初始化文件ORACLE_HOME/dbs/initoradb.ora或者使用ALTER SESSION 语句在针对性的设置PGA参数。
作为甲骨文全球大会OpenWorld 2012中的重要产品发布,新版Oracle Database 12c汇集了参会者最多的目光,Larry Ellison也在开幕演讲中重点介绍了12c 的一些新特性。
对于Oracle DBA来说,虽然数据库12c正式发布的日期还要等到明年年初,但依旧希望能够提前了解它的一些新功能、新特性。
在OpenWorld 2012的技术讲座环节,Oracle技术大师Tom Kyte集中介绍了Oracle Database 12c的十二大新特性,而Oracle ACE总监杨廷琨也对此进行了总结,希望让国内DBA一睹为快。
1.PL/SQL性能增强:类似在匿名块中定义过程,现在可以通过WITH语句在SQL中定义一个函数,采用这种方式可以提高SQL调用的性能。
2.改善Defaults:包括序列作为默认值;自增列;当明确插入NULL时指定默认值;METADATA-ONLY default值指的是增加一个新列时指定的默认值,和11g 中的区别在于,11g的default值要求NOT NULL列。
3.放宽多种数据类型长度限制:增加了VARCHAR2、NVARCHAR2和RAW类型的长度到32K,要求兼容性设置为12.0.0.0以上,且设置了初始化参数MAX_SQL_STRING_SIZE为EXTENDED,这个功能不支持CLUSTER表和索引组织表;最后这个功能并不是真正改变了VARCHAR2的限制,而是通过OUT OF LINE的CLOB 实现。
4.TOP N的语句实现:在SELECT语句中使用“FETCH next N rows”或者“OFFSET”,可以指定前N条或前百分之多少的记录。
5.行模式匹配:类似分析函数的功能,可以在行间进行匹配判断并进行计算。
在SQL中新的模式匹配语句是“match_recognize”。
6.分区改进:Oracle Database 12c中对分区功能做了较多的调整,Oracle ACE总监杨廷琨花了较大的篇幅对分区提升进行了解读,其中共分成6个部分:INTERVAL-REFERENCE分区:把11g的interval分区和reference分区结合,这样主表自动增加一个分区后,所有的子表、孙子表、重孙子表、重重重...孙子表都可以自动随着外接列新数据增加,自动创建新的分区。
Oracle Database 12c RAC for AIX 7.1一、安装说明服务器:IBM Power 750(两台)共享存储:华为DS6800OS:AIX 7.1.3ORACLE:12.1.0.1.0网络(hosts文件解析):二、环境检查查看内存:# lsattr-E -l sys0 -a realmem系统架构:# getconf HARDWARE_BITMODE(或# bootinfo -K或# getconf KERNAL_BITMODE//输出64才可以查看Swap空间:# lsps -a,使用chps -s增加目录大小:# df -g(默认的不太大,最好扩展一下smitty chfs)检查软件包:# lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.libperfstatbos.perf.perfstat bos.perf.proctools rsct.basic.rte pat.clients.rte xlC.aix61.rte.11.1.0.4 xlC.rte.11.1.0.4(最后两个有版本要求)相关补丁:# instfix -i -k "IV16737IV21116 IV21235 IV28925 IV34869 IV35057 IV39136 IV41415 IV45072 IV45073"由于系统版本7.1.3,安装系统时已包括相关补丁集,安装过程中会有相关WARNING,忽略即可安装12c必须的其它软件包:ssh——建立信任关系、安装过程scp都需要的sshbash——如没有此包,安装GRID时会报INS-06001 Failed toperform operation due to internal driver errorunzip——AIX默认不支持.zip解压1.安装ssh相关包,一般系统盘中就有,smitty installp或mkdir dvdmount -v cdrfs -o ro /dev/cd0 /mnt/dvdcd /mnt/dvd/usr/sys/inst.immagesinstallp -ac -Y -d . openssh.base openssl.base openssl.man.en_US openssh..man.en_US①在/etc/security/login.cfg文件中,将usw下auth_type的默认值std_auth改为pam_auth②/etc/pam.conf中添加sshd auth required pam_aixsshd account required pam_aixsshd password required pam_aixsshd session required pam_aix③将/etc/ssh/sshd_config中#LoginGraceTime 2m改为 LoginGraceTime 0④重启sshstopsrc -s sshdstartsrc-s sshd2.bash需要网上下载(ftp:///gnu/bash/ 据说版本没有限制)后,上传到服务器,使用root用户执行:# rpm -ivh bash-4.2-1.aix6.ppc.rpm在/etc/security/login.cfg的usw:下添加/usr/bin/bash(此操作不知道是不是有效)3. 同样下载unzip_aix.Z文件,上传到服务器,解压uncompress unzip_aix(这里使用刻盘上传时会把.Z改为.z,解压前要改回来,否则报错)chmod 751 unzip将文件cp到/usr/bin# cp -v /u01/unzip_aix /usr/bin/unzip三、系统参数查看异步io:# ioo-a |grep aio_maxreqs(此版本为131070,不用修改)虚拟内存参数:# vmo –aF 与下面值不一致时,修改为下面值(调整后重启生效):vmo -p -o minperm%=3vmo -p -o maxperm%=90vmo -p -omaxclient%=90vmo -p -olru_file_repage=0vmo -p -ostrict_maxclient=1vmo -p -o strict_maxperm=0系统分配的块大小(建议值128-1024):chdev-l sys0 -a ncargs=1024用户允许的最大进程数:chdev–l sys0 –a maxuproc=16384网络参数:no -a | more查看兼容性:lsattr –E –l sys0 –a pre520tune1.如返回结果是pre520tuneenable Pre-520 tuning compatibity mode True,在/etc/添加如下:if [ -f /usr/sbin/no ] ; then/usr/sbin/no -o udp_sendspace=65536/usr/sbin/no -o udp_recvspace=655360/usr/sbin/no -o tcp_sendspace=65536/usr/sbin/no -o tcp_recvspace=65536/usr/sbin/no -o rfc1323=1/usr/sbin/no -o sb_max=4194304/usr/sbin/no -o ipqmaxlen=512fi2.如返回结果是pre520tunedisable Pre-520 tuning compatibity mode True,执行下面命令no -r -o ipqmaxlen=512 //此参数要求重启系统生效no -p -o rfc1323=1no -p -o sb_max=4194304no -p -o tcp_recvspace=65536no -p -o tcp_sendspace=65536no -p -o udp_recvspace=655360no -p -o udp_sendspace=65536其它网络参数:no -p -o tcp_ephemeral_low=9000-o tcp_ephemeral_high=65535no -p -o udp_ephemeral_low=9000-o udp_ephemeral_high=65535关闭NTPmv -v /etc/ntp.conf /etc/ntp.conf.bakstopsrc -s xntpd修改用户限制,将/etc/security/limits文件中部分内容如下:default:fsize = -1core = -1cpu = -1data = -1rss = -1stack = -1nofiles = -1四、添加IP解析、创建用户等信息在/etc/hosts添加解析地址(使用hosts解析IP)192.168.10.1 nc180p001192.168.10.2 nc180p002192.168.10.3 nc180p001-vip192.168.10.4 nc180p002-vip10.10.10.1 nc180p001-pri10.10.10.2 nc180p002-pri192.168.10.5 racscan创建组mkgroup -'A' id='1000' adms='root' oinstallmkgroup -'A' id=' 1001' adms='root' dbamkgroup -'A' id='1002' adms='root' opermkgroup -'A' id='1003' adms='root' asmadminmkgroup -'A' id='1004' adms='root' asmopermkgroup -'A' id='1005' adms='root' asmdba创建用户mkuser id='1000' pgrp='oinstall'groups='dba,asmdba,oper,asmadmin,asmdba’home='/home/grid' –s /usr/bin/bash gridmkuser id='1001' pgrp='oinstall'groups='dba,oper,asmadmin,asmdba,asmoper' home='/home/oracle' –s /usr/bin/bash oracle修改密码echo oracle | passwd --stdin oracleecho oracle | passwd --stdin grid添加用户能力lsuser -a capabilities gridchusercapabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid lsuser -a capabilities oraclechusercapabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle信任关系(可选)1.生成密钥对(两个节点,两个用户oracle,grid)ssh-keygen -t rsassh-keygen -t dsa2.配置信任关系(一个节点)cat .ssh/id_rsa.pub>>.ssh/authorized_keyscat .ssh/id_dsa.pub>>.ssh/authorized_keysssh nc180p002 cat .ssh/id_rsa.pub>>.ssh/authorized_keysssh nc180p002 cat .ssh/id_dsa.pub>>.ssh/authorized_keysscp .ssh/authorized_keysnc180p002:~/.ssh3.验证信任关系(两个节点,两个用户)ssh nc180p002 datessh nc180p002-pri datessh nc180p001 datessh nc180p001-pri date创建目录设置权限mkdir -p /u01/app/11.2.0/gridmkdir -p /u01/app/oraclechown -R grid:oinstall /u01chown oracle:oinstall /u01/app/oraclechmod -R 775 /u01/共享存储生成PV:chdev -l hdiskn -a pv=yes设置共享文件系统的权限供grid和oracle用户使用1.改变用于数据库存储的PV的属主chown grid:asmadmin /dev/rhdisk[2-12]2.改变用于数据库存储的PV的权限chmod 660 /dev/rhdisk[2-12]3.检测和设置保持策略lsattr -E -l hdisk[2-12] | grep reserve_设置保持策略:chdev -l hdisk[2-12] -areserve_policy=no_reserve (如果是reserve_policy)chdev -l hdisk[2-12] -areserve_lock=no (如果是reserve_lock)添加环境变量节点1上Oracle用户,在~/.bash_profile文件umask 022export EDITOR=viexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1export ORACLE_SID=ora11g1exportPATH=.:${PATH}:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}export NLS_LANG=AMERICAN_AMERICA.UTF8 #此变量最好安装完再加上节点2上Oracle用户,在~/. bash_profile文件添加:umask 022export EDITOR=viexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1export ORACLE_SID=ora11g2export PATH=.:${PATH}:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}export NLS_LANG=AMERICAN_AMERICA.UTF8#此变量最好安装完再加上节点1上Grid用户,在~/. bash_profile文件添加:umask 022export EDITOR=viexport ORACLE_BASE=/u01/app/gridexport GRID_HOME=/u01/app/11.2.0/gridexport ORACLE_SID=+ASM1exportPATH=.:${PATH}:$ORACLE_HOME/bin:/usr/bin:/bin::/usr/local/binexportLD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}节点2上Grid用户,在~/. bash_profile文件添加umask 022export EDITOR=viexport ORACLE_BASE=/u01/app/gridexport GRID_HOME=/u01/app/11.2.0/gridexport ORACLE_SID=+ASM2export PATH=.:${PATH}:$ORACLE_HOME/bin:/usr/bin:/bin:/usr/local/binexportLD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}五、安装GI1.解压grid两个安装包cd /u01unzip aix.ppc64_12c_grid_1of2.zipunzip aix.ppc64_12c_grid_2of2.zip2.解压目录属主改为grid用户cd /u01chmod -R grid:oinstsall grid/3.进入解压目录执行使用root用户rootpre.sh,将此文件传到第二个节点同样使用root 执行cd /u01/grid./rootpre.sh4.grid用户进入解压目录验证su - gridcd /u01/grid./runcluvfy.shstage -pre crsinst -n nc180p001,nc180p002 -fixup -verbose5.开始安装:$ ./runInstaller输入Y,回车继续进入图形界面。
Oracle12C新特性之扩展数据类型(extendeddatatype)Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相⽐,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的⼤⼩会从4K 以及2K字节扩展⾄32K字节。
只要可能,扩展字符的⼤⼩会降低对LOB数据类型的使⽤。
为了启⽤扩展字符⼤⼩,你必须将MAX_STRING_SIZE的初始数据库参数设置为EXTENDED。
实验流程:1.查看参数max_string_size默认值SQL> show parameter max_string_sizeNAME TYPE VALUE------------------------------------ ----------- ------------------------------max_string_size stringSTANDARD说明:12C 参数max_string_size默认值是standard,即不改变varchar2、nvarchar2、和raw数据类型的⼤⼩限制,和11g保持⼀致。
2. 关闭数据库SQL> shutdown immediate;3. 以升级模式重启数据库SQL> startup upgrade;3. 更改参数: ALTERSYSTEM SET MAX_STRING_SIZE=EXTENDED;SQL> alter system set max_string_size=extended scope=spfile;System altered.4. 执⾏ utl32k.sql as sysdba:SQL> @$ORACLE_HOME/rdbms/admin/utl32k.sql说明:如果环境是cdb+pdb,那么所有的cdb + pdb$seed + pdb 都需要在 startup upgrade; 状态下跑脚本 @$ORACLE_HOME/rdbms/admin/utl32k.sql 。
Oracle Database 12c版本介绍Oracle Database 12c有三种版本,提供多种企业版选件来满足客户对各种领域(性能和可用性、安全性和合规性、数据仓储和分析、非结构化数据和可管理性)的特定需求。
Oracle Database 12c标准版1企业级的性能和安全性Oracle Database 12c标准版1经过了优化,适用于部署在小型企业、各类业务部门和分散的分支机构环境中。
该版本可在单个服务器上运行,最多支持两个插槽。
Oracle Database 12c标准版1可以在包括Windows、Linux和Unix在内的所有Oracle支持的操作系统上使用。
概述l快速安装和配置,具有内置的自动化管理l适用于所有类型的数据和所有应用l公认的性能、可靠性、安全性和可扩展性l使用通用代码库,可无缝升级到Oracle Database 12c标准版或Oracle Database 12c企业版优势l以极低的每用户180美元起步(最少5个用户)l以企业级性能、安全性、可用性和可扩展性支持所有业务应用l可运行于Windows、Linux和Unix操作系统l通过自动化的自我管理功能轻松管理l借助Oracle Application Express、Oracle SQL Developer和Oracle 面向Windows的数据访问组件简化应用开发Oracle Database 12c标准版经济实惠、功能全面的数据库Oracle Database 12c标准版是面向中型企业的一个经济实惠、功能全面的数据管理解决方案。
该版本中包含一个可插拔数据库用于插入云端,还包含Oracle真正应用集群用于实现企业级可用性,并且可随您的业务增长而轻松扩展。
概述l支持使用一个可插拔数据库实现入门级云计算和整合l跨平台恢复l内置的Oracle真正应用集群支持更高水平的系统正常运行时间l简化的安装和配置l适用于所有类型的数据和所有应用l向上兼容Oracle Database 12c企业版,从而保护您的初期投资优势l每用户350美元(最少5个用户),您可以只购买目前需要的许可,然后使用Oracle真正应用集成随需扩展,从而节省成本l提高服务质量,实现企业级性能、安全性和可用性l可运行于Windows、Linux和Unix操作系统l通过自动化的自我管理功能轻松管理l借助Oracle Application Express、Oracle SQL Developer和Oracle面向Windows的数据访问组件简化应用开发Oracle Database 12c企业版插入云端全球首屈一指的数据库推出最新版本——Oracle Database 12c现已推出,可在各种平台上使用。
oracle第⼀篇:oracle12c体系结构1、oracle12c的体系结构:内存(逻辑)结构:SGA可以分为数据缓冲区、⽇志缓冲区、共享池、⼤型池、JAVA池、流池。
数据缓冲区(data buffer cache):oracle读取数据的缓存区,执⾏数据的临时存储空间以及修改未提交时,未写⼊磁盘的脏数据。
主要作⽤是提⾼数据的查询速度和减少磁盘的I/O操作;⽇志缓冲区(redo log buffer cache):在执⾏sql语句之前,需要计算出sql执⾏语句的改变向量,并将该向量以⽇志的形式临时存储在该内存区域,然后再去数据缓冲区进⾏数据的更改。
共享池(share pool):共享池分为库缓存、数据字典缓存、sql查询和pl/sql函数结果查询缓存;共享池的⼤⼩9i版本之后就可以直接调整⼤⼩。
库缓存:⽤于临时存储近期已经分过的代码,再次使⽤时就不需要对该代码进⾏分析,直接调⽤。
提⾼语法的执⾏效率。
数据字典缓存:⽤于对近期调⽤的数据字典进⾏缓存,并且数据字典缓存的分配是在库缓存之后的,所以只要库缓存没问题,数据字典缓存也就没问题。
sql查询和pl/sql函数结果查询缓存:当同⼀会话或者多个不同的会话执⾏多次,就会将该查询的结果存储在内存中,当下⼀次查询时直接去调⽤该查询的结果。
在运⽤该执⾏结果之前缓存机制会⾃动的检查查询中的表等对象是否发⽣了变化。
如果变化就会重新查询,使⽤重新查询得到的结果。
⼤型池(large pool):可选择型的内存区域,主要⽤于共享服务器进程的使⽤。
如果未分配再⽤⼑该内存时会在共享池中进⾏分配。
JAVA池(java pool):在运⾏java过程时才使⽤到java池,它作⽤于java对象所需要的堆空间。
但是实际java的实际运⾏还是在数据缓存区。
流池(stream pool):⽤于在redo log中获取⽇志向量,并重新构造执⾏语句,在远程数据库执⾏。
⽽在redo log中提取更改的进程以及应⽤更改的进程将⽤到内存,该内存即是流池。
oracle12c:新特性-DDL⽇志
在之前的版本中没有可选⽅法来对DDL操作进⾏⽇志记录。
⽽在12c R1中,你现在可以将DDL操作写⼊xml和⽇志⽂件中。
这对于了解谁在什么时间执⾏了create或drop命令是⼗分有⽤的。
要开启这⼀功能必须对ENABLE_DDL_LOGGING 初始参数加以配置。
这⼀参数可以在数据库或会话级加以设置。
当此参数为启⽤状态,所有的DDL命令会记录在$ORACLE_BASE/diag/rdbms/DBNAME/log|ddl 路径下的xml和⽇志⽂件中。
⼀个xml中包含DDL命令,IP地址,时间戳等信息。
这可以帮助确定在什么时候对⽤户或表进⾏了删除亦或是⼀条DDL语句在何时触发。
开启DDL⽇志功能
SQL> ALTER SYSTEM|SESSION SET ENABLE_DDL_LOGGING=TRUE;
以下的DDL语句可能会记录在xml或⽇志⽂件中:
CREATE|ALTER|DROP|TRUNCATE TABLE
DROP USER
CREATE|ALTER|DROP PACKAGE|FUNCTION|VIEW|SYNONYM|SEQUENC。