包含标签 12c 的文章

Identity Columns

标识列是12c的一个新特性,能自动生成列里的值,一部分功能与mysql中的自增列有点类似,简化了应用程序的开发和其他关系型数据库迁移到oracle。这个特性主要是利用一个默认的序列生成器,通过这个生成器来绝对字段增加或者减少的整数值。 drop table t1 purge; create table t1 (id number generated by default as identity, name varchar2(10)); insert into t1 (name) values ('xb'); commit; select * from t1; ID NAME ---------- ---------- 1 xb 对于标识列来说,我们要么指定一个默认的序列去生成字段值或者只……

阅读全文

Dataguard中pdb的迁移和故障切换

在12c多租户环境中,每一个CDB当中都会有多个pdb在运行,在某些情况下会涉及到CDB之间进行pdb的迁移。当然也就会碰到类似的情况,比如只有其中某一个pdb出现了问题,而其他的pdb都运行正常,这个时候如果对CDB做failover代价太大,这时为了最大程度减少停机时间和缩小影响,我们可以只对这个单独的pdb进行failover或者迁移到同服务器的其他p……

阅读全文

12c rac to rac 物理备库最佳实践

这篇文章主要目的是详细记录在12cR2环境中,配置主备都是rac环境的dataguard,下图列出了本次将要创建的环境 准备步骤说明 通过vmware创建虚拟机 总共4台,两台作为主库,两台作为备库 主库安装12cR2 rac环境,创建实例 备库安装12cR2 grid软件和database软件,不创建实例 测试环境介绍 画图的时候手误,scan hostname两节点是一致的……

阅读全文

ORA-15001: diskgroup "FRA" does not exist or is not mounted

一台数据库在启动时候报错,提示一个asm group不存在 ORA-00210: cannot open the specified control file ORA-00202: control file: '+FRA/STBRAC/CONTROLFILE/current.294.1005908473' ORA-17503: ksfdopn:2 Failed to open file +FRA/STBRAC/CONTROLFILE/current.294.1005908473 ORA-15001: diskgroup "FRA" does not exist or is not mounted ORA-15040: diskgroup is incomplete ORA-205 signalled during: alter database mount... WARNING: failed to open a disk[/dev/asmdiskd] ORA-15025: could not open disk "/dev/asmdiskd" ORA-27041: unable to open file Linux-x86_64 Error: 13: Permission denied 检查asm的磁盘等信息均正常 [grid@stbracnode1 ~]$ asmcmd ASMCMD> lsdg State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 512 4096 4194304 51200 16784 0 16784 0 Y CRS/ MOUNTED EXTERN N 512 512 4096 4194304 61440 55336 0 55336 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 20480 17404 0 17404 0 N FRA/ [grid@stbracnode1 ~]$ ll /dev/asm* brw-rw---- 1 grid asmadmin 8, 16 Apr 18 13:22 /dev/asmdiskb brw-rw---- 1 grid……

阅读全文

ORA-00845: MEMORY_TARGET not supported on this system

12.2安装grid完毕后执行root.sh时报错 [root@racnode1 ~]# /u01/app/12.2.0/grid/root.sh Performing root user operation. The following environment variables are set as: ORACLE_OWNER= grid ORACLE_HOME= /u01/app/12.2.0/grid Enter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Relinking oracle with rac_on option Using configuration parameter file: /u01/app/12.2.0/grid/crs/install/crsconfig_params The log of current session can be found at: /u01/app/grid/crsdata/racnode1/crsconfig/rootcrs_racnode1_2019-04-11_10-21-10AM.log 2019/04/11 10:21:12 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'. 2019/04/11 10:21:12 CLSRSC-4001: Installing Oracle Trace File Analyzer (TFA) Collector. 2019/04/11 10:21:46 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector. 2019/04/11 10:21:46 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'. 2019/04/11 10:21:52 CLSRSC-363: User ignored prerequisites during installation 2019/04/11 10:21:52 CLSRSC-594: Executing installation step 3……

阅读全文

12c中rman恢复表和分区

在12c以前的版本中,如果想恢复单表到某个时间点之前是一件非常麻烦的事情,一般方法可能只能通过把全库备份基于某个时间点恢复到别处,然后再从新库当中把数据导出来插入回原库中,如果源库很大的话整个时间可想而知。而在12c新的rman特性中,提供了一个非常棒的功能,可以直接通过简单的命令就能恢复单表或者分区到某个时间点,还可以直接恢复到其他的schema下面。 如果……

阅读全文

12c Create Table for Exchange Partition

以前版本中如果我们要对一个分区表做EXCHANGE PARTITION时,都会通过create table as select * XXX来新建一张普通表用于exchange,但是可能遇到这样的情况,源表的部分字段被禁用或不可见,则会导致exchange的时候失败,原因是因为两个表的表结构不一致。 而在新的12.2版本中,提供了一种新的建表方法,通过FOR EXCHANGE WITH语句来确保做exchang……

阅读全文

12c在线移动表

在12.2当中,ALTER TABLE...MOVE [PARTITION|SUBPARTITION]语法可以移动表、分区、子分区用于改变任何的物理存储属性,比如是否压缩、更改表空间等等。 ALTER TABLE...MOVE语句可以支持ONLINE关键字,这样就能让在move的过程中也能支持DML的操作,基本语法如下: ALTER TABLE … MOVE … ONLINE ALTER TABLE … MOVE PARTITION … ONLINE ALTER TABLE … MOVE SUBPARTITION … ONLINE 移动表会改变表的rowid,如果使用……

阅读全文

12c在线调整表为分区表

在以前的版本中,如果需要将一个非分区表变成分区表,一般是通过以下几种方式 EXCHANGE PARTITION DBMS_REDEFINITION DATAPUMP 其中前两种属于在线的方式,操作起来相对繁琐,步骤也比较多。而到了12.2版本中,提供了一种更方便的办法,只需要一个命令即可在线完成这个操作。 新建一张非分区表 drop table t1 purge; create table t1 (id number,name varchar2(20)); insert into t1 select level,'name:'||level from dual connect by level>=1000; commit; create index idx_t1 on t1(id); 将t1表变更为分区表,通过ALTER TABLE XXX MODIFY命令,默认是OFFL……

阅读全文

12c新特性:信息生命周期管理

为了实现数据库中数据移动的信息生命周期管理,可以采用12c中引入的Heat Map和Automatic Data Optimization (ADO)特性。这两个特性是从12cR1中第一次引入,不过之前只能适用于NO-CDB环境,到了release 2版本中则可以适用多租户环境。 使用Heat Map Heat Map是Oracle Database 12c 中的一个特性,它可以在行级和段级自动跟踪表/分区的使用信息。在行级跟踪数据修改……

阅读全文