oracle 12c 学习

1、不可见字段

SQL> create table ht (a number,b varchar2(20) invisible);

Table created.

SQL> desc ht;
 Name					   Null?    Type
 ----------------------------------------- -------- ----------------------------
 A						    NUMBER

SQL> set colinvisible on
SQL> desc ht;
 Name					   Null?    Type
 ----------------------------------------- -------- ----------------------------
 A						    NUMBER
 B (INVISIBLE)					    VARCHAR2(20)

SQL> insert into ht values(1,‘beijing‘);
insert into ht values(1,‘beijing‘)
            *
ERROR at line 1:
ORA-00913: too many values
SQL> insert into ht (a,b) values(1,‘beijing‘);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from ht;

	 A
----------
	 1

SQL> select a,b from ht;

	 A B
---------- --------------------
	 1 beijing

SQL> insert into ht1 values(1,‘beijing‘);

1 row created.

  不可见字段的表可以强制开发人员select 语句时指定字段不能用*代替,和普通表对比起来 插入数据时必须指定字段加大拉开发的代码量。

2、在同一列上创建不同功能索引

SQL> create index idx_ht_b1 on ht(b);  

Index created.

SQL> create index idx_ht_b2 on ht(upper(b));

Index created.

3、ddl 语句日志记录

SQL> show parameter enable_ddl_logging;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
enable_ddl_logging		     boolean	 TRUE

SQL> create table ht2 as select * from ht1;

Table created.

SQL> drop table ht2 purge;

Table dropped.

[qdtais]@ht02[/u01/app/db/diag/rdbms/qdtais/qdtais/log/ddl]$tail -10 log.xml
 <txt>create table ht2 as select * from ht1
 </txt>
</msg>
<msg time=‘2019-12-05T18:27:42.271-05:00‘ org_id=‘oracle‘ comp_id=‘rdbms‘
 msg_id=‘opiexe:4850:2946163730‘ type=‘UNKNOWN‘ group=‘diag_adl‘
 level=‘16‘ host_id=‘ht02‘ host_addr=‘fe80::f9f1:ad02:b6a6:ea2f%enp0s3‘
 pid=‘4338‘>
 <txt>drop table ht2 purge
 </txt>
</msg>

4、dba保护增强--备份可以分配权限

SQL> grant sysbackup to ht;

Grant succeeded.

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
[qdtais]@ht02[/home/oracle]$rman target ht/ht

Recovery Manager: Release 19.0.0.0.0 - Production on Thu Dec 5 18:36:46 2019
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

connected to target database: QDTAIS (DBID=1154019395)

RMAN>

5、expdp/impdp 增强

impdp 避免产生大量日志
TRANSFORM
Metadata transform to apply to applicable objects.
Valid keywords are: DISABLE_ARCHIVE_LOGGING, INMEMORY, INMEMORY_CLAUSE,
LOB_STORAGE, OID, PCTSPACE, SEGMENT_ATTRIBUTES, SEGMENT_CREATION,
STORAGE, and TABLE_COMPRESSION_CLAUSE.

expdp时把视图转化为表
VIEWS_AS_TABLES
Identifies one or more views to be exported as tables.
For example, VIEWS_AS_TABLES=HR.EMP_DETAILS_VIEW

6、varchar2  nvarchar2 数据字段长度扩大到32K,11g以前只有4K,存大文本时避免使用 clob blob,数据库需要重启。

SQL> show parameter max_string_size;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
max_string_size string STANDARD

SQL> ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;

System altered.

SQL> startup upgrade
ORACLE instance started.

Total System Global Area 1644163728 bytes
Fixed Size 8897168 bytes
Variable Size 637534208 bytes
Database Buffers 989855744 bytes
Redo Buffers 7876608 bytes
Database mounted.
Database opened.
SQL> @?/rdbms/admin/utl32k.sql

7、 在线移动并重命名数据文件,move数据文件时不影响用户ddl、dml,可以把omf文件转化为正常文件,也可以直接move到asm磁盘组

    FILE# NAME
---------- --------------------------------------------------------------------------------
	 1 /u01/app/db/oradata/QDTAIS/system01.dbf
	 3 /u01/app/db/oradata/QDTAIS/sysaux01.dbf
	 4 /u01/app/db/oradata/QDTAIS/undotbs01.dbf
	 5 /u01/app/db/oradata/QDTAIS/datafile/o1_mf_ht_gym38cqq_.dbf
	 7 /u01/app/db/oradata/QDTAIS/users01.dbf

SQL> alter database move datafile 5 to ‘/home/oracle/o1_mf_ht_gym38cqq_.dbf‘;
alter database move datafile 5 to ‘/home/oracle/o1_mf_ht_gym38cqq_.dbf‘
*
ERROR at line 1:
ORA-01276: Cannot add file /home/oracle/o1_mf_ht_gym38cqq_.dbf.  File has an Oracle Managed Files file name.

SQL> alter database move datafile 5 to ‘/home/oracle/*‘;

Database altered.

SQL> alter database move datafile 5 to ‘/u01/app/db/oradata/QDTAIS/ht01.dbf‘;

Database altered.

SQL> select file#,name from v$datafile;

     FILE# NAME
---------- --------------------------------------------------------------------------------
	 1 /u01/app/db/oradata/QDTAIS/system01.dbf
	 3 /u01/app/db/oradata/QDTAIS/sysaux01.dbf
	 4 /home/oracle/undotbs01.dbf
	 5 /u01/app/db/oradata/QDTAIS/ht01.dbf
	 7 /u01/app/db/oradata/QDTAIS/users01.dbf

8、高级索引压缩及表压缩,以前这些特性只在oracle亲儿子exadata上使用

SQL> SELECT table_name, compression, compress_for FROM user_tables;

TABLE_NAME       COMPRESSION   COMPRESS_FOR
---------------- ------------  -----------------
T1               DISABLED
T2               ENABLED       BASIC
T3               ENABLED       ADVANCED
T4               ENABLED       QUERY HIGH
T5               ENABLED       ARCHIVE LOW

  

 

 

原文地址:https://www.cnblogs.com/omsql/p/11993133.html

时间: 2024-11-10 15:05:43

oracle 12c 学习的相关文章

oracle 12c 学习之三 pdb 的可拔插测试

DECLARE l_result BOOLEAN; BEGIN l_result := DBMS_PDB.check_plug_compatibility( pdb_descr_file => '/u02/pdb/pdb3.xml', pdb_name => 'pdb3'); IF l_result THEN DBMS_OUTPUT.PUT_LINE('compatible'); ELSE DBMS_OUTPUT.PUT_LINE('incompatible'); END IF; END; /

oracle 12c 学习之三 nocdb 转换成pdb

01:23:06 [email protected]> select name, decode(cdb, 'YES', 'Multitenant Option enabled', 'Regular 12c Database: ') "Multitenant Option" , open_mode, con_id from v$database; NAME Multitenant Option OPEN_MODE CON_ID --------- -----------------

Oracle 12c 学习之启动关闭CDB&amp;PDB

1.默认登陆到CDB <roidb01:cdb:/home/oracle>$sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Sat Jan 20 11:01:46 2018 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to an idle instance. 2.启动CDB SQL> startup ORACLE instan

学习笔记:Oracle 12C 数据非常规恢复工具bbed的使用说明

ORACLE 12C 依然支持 bbed,ORACLE 12C的测试版出来了,对于习惯了使用bbed(ORACLE 手术刀)的人来说,12C是否继续被支持是一个很让人关注的问题,通过本实验测试,12C继续支持bbed,很多艰难的数据库恢复依然可以通过bbed来实现,也从侧面说明,ORACLE 12C在块的结构上还依然和以往版本相似 数据库信息 [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.0.2 Beta

oracle 12c 13姨

搞了一下oracle 12c.有些体会还是先记下来. 12c搞搞新意思,弄了个CDB(容器数据库,可不是商务中心CBD哟)和PDB(可插拔数据库).PDB插在CDB里. 简单而言,CDB就是一个数据库实例,而PDB就是实例里一个个的数据库.这跟SQL SERVER是类似的.据说在oracle 11g或以前,一个数据库实例只能承载一个数据库(甚至一个数据库分布于不同的数据库实例中),然后不同的账户对应不同的表空间,在这里,表空间就类似SQL SERVER的数据库. 有位大虾说的好:"其实大家如果对

oracle 12c数据库备份与恢复教程

深入oracle 12c数据库备份与恢复(优化RMAN性能.Oracle flashback技术)课程讲师:小流老师 课程分类:Oracle适合人群:高级课时数量:15课时用到技术:oracle涉及项目:oracle 12c数据库备份与恢复咨询QQ:1337192913 课程简介:   学习最新ORACLE 12c数据库备份与恢复的相关的知识,讲解RMAN的体系结构,并通过大量的实践操作完成各种场景的备份与恢复操作.优化RMAN性能.诊断并处理数据库备份和恢复中出现的问题, 以实际的项目管理角度

windows Sever 2012下Oracle 12c安装配置方法图文教程

windows Sever 2012下Oracle 12c安装配置方法图文教程 Oracle 12c安装配置方法图文教程,具体内容如下 1.我们开启虚拟机 2.Windows Sever 2012启动中. 3.看到Windows Sever 2012的桌面. 4.我们解压缩两个文件,winx64_12c_database_1of2.zip,winx64_12c_database_2of2.zip.也就是oracle的安装文件. 5.这个时候我们可以看到服务器启动以后的仪表板. 6.然后我们合并两

centos 7部署oracle 12c rac 上菜了

oracle 12c 发布用很长一段时间了,虽然在近期部署了几套单实例oracle 12c,但一直都没有机会在生产环境实施12c rac,当然,既不能把现有的11g rac干掉,替换成12c rac,又没有新的项目找上来,但总不能等需要干活的时候再学习测试,未雨绸缪,正好从青龙那里化缘来一台配置不错的技嘉迷你pc,正好用它来做测试,安装上proxmox,虚拟出一堆系统,然后就有条件测试部署oracle 12c rac . Oracle实现负载均衡,完全不依赖于其它第三方工具,自己全部搞定,真是牛

超简单 Oracle 12c 安装

超简单 Oracle 12c 安装 简介 : Oracle Database,又名OracleRDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.它是一种高效率.可靠性好的 适应高吞吐量的数据库解决方案. 系统简介 : ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件