oracle 12c 新特性之不可见字段

在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性。继承前者并发扬光大,Oracle 12c 中引入了不可见字段思想。在之前的版本中,为了隐藏重要的数据字段以避免在通用查询中显示,我们往往会创建一个视图来隐藏所需信息或应用某些安全条件。
   在12c中,你可以在表中创建不可见字段。当一个字段定义为不可见时,这一字段就默认不会出现在通用查询中,除非在SQL语句或条件中有显式的提及这一字段,或是在表定义中有DESCRIBED。要添加或是修改一个不可见字段是非常容易的,反之亦然。

实验:
1. 创建一个表,指定passwd为不可见字段
SQL>create table invisible_t(id int,name varchar2(20),passwd varchar2(20) invisible);
2. 向表中插入数据
SQL>insert into invisible_t values(1,‘andy‘,1);
ERROR at line 1:
ORA-00913: too many values
SQL> insert into invisible_t(id,name,passwd) values(1,‘andy‘,1);

1 row created.
SQL> insert into invisible_t(id,name) values(2,‘andy02‘);

1 row created.

3. 查询情况
SQL> select * from invisible_t;

ID NAME
---------- --------------------
1 andy
2 andy02

SQL> select id,name from invisible_t;

ID NAME
---------- --------------------
1 andy
2 andy02

SQL> select id,name,passwd from invisible_t;

ID NAME PASSWD
---------- -------------------- --------------------
1 andy 1
2 andy02

4.修改字段为可见字段或不可见字段
SQL> alter table invisible_t modify(passwd visible);

Table altered.

SQL> select * from invisible_t;

ID NAME PASSWD
---------- -------------------- --------------------
1 andy 1
2 andy02

SQL> alter table invisible_t modify(passwd invisible);

Table altered.

SQL> select * from invisible_t;

ID NAME
---------- --------------------
1 andy
2 andy02
-- 创建时未指定为不可见字段,若之后想修改为不可见字段,也可以。
SQL>  alter table invisible_t modify(name invisible);

Table altered.

SQL> alter table invisible_t modify(name visible);

Table altered.

时间: 2024-10-10 12:39:06

oracle 12c 新特性之不可见字段的相关文章

Oracle 12C 新特性之扩展数据类型(extended data type)

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 VA

Oracle 12c新特性对于业务上的一些影响总结

1.不可见字段 在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性.继承前者并发扬光大,Oracle 12c R1中引入了不可见字段思想.在之前的版本中,为了隐藏重要的数据字段以避免在通用查询中显示,我们往往会创建一个视图来隐藏所需信息或应用某些安全条件. 在12c R1中,你可以在表中创建不可见字段.当一个字段定义为不可见时,这一字段就不会出现在通用查询中,除非在SQL语句或条件中有显式的提及这一字段,或是在表定义中有DESCRIBED.要添加或是

Oracle 12c 新特性之varchar2长度最大值支持到32767

在oracle 12c之前版本,varchar2和nvarchar2数据类型的字段长度最大值是4000,在12c版本已扩展最大值支持到32767,也就是32kb,而参数MAX_STRING_SIZE就是控制扩展数据类型extended data type的最大长度: standard:代表12c之前的长度限制,即varchar2和nvarchar2 4是4000 bytes,raw是2000,且系统           默认是standard: extended:代表12c 32k string

Oracle 12C 新特性之 db默认字符集AL32UTF8、PDB支持不同字符集

一. db默认字符集AL32UTF8Specify the database character set when you create the database. Starting from Oracle Database 12c Release 2, if you use Oracle Universal Installer (OUI) or Oracle Database Configuration Assistant (DBCA) to create a database, then t

Oracle 12c 新特性之 数据库内归档(In-Database Archiving)

Oracle Database 12c中引入了 In-Database Archiving的新特性, 该特性允许用户通过对表上的数据行标记为inactive不活跃的,以归档数据. 这些inactive的数据行可以通过压缩进一部优化,且对应用来说默认不可见.该特性可以对现有代码做最少改动的情况下,实现了这种"标记删除"的功能和需求. 12c之前:有些应用有"标记删除"的概念,即不是删除数据,而是数据依然保留在表中,只是对应用不可见而已.这种需求通常通过如下方法实现:1

Oracle 12c新特性(For DBA)

一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性,内建的多分租(Multi-tenancy),一个容器数据库(container database)中可以存放多个Pluggable Databases,每个Pluggable Database均独立于其他Pluggable Database. 对于外部应用程序和开发者来说,Pluggable Databases看上去就是一个普通的12.1版本之前的单

Oracle 12C 新特性之表分区带 异步全局索引异步维护(一次add、truncate、drop、spilt、merge多个分区)

实验准备:-- 创建实验表CREATE TABLE p_andy(ID number(10), NAME varchar2(40))PARTITION BY RANGE (id)(PARTITION p1 VALUES LESS THAN (10),PARTITION p2 VALUES LESS THAN (20));Table created.-- 查看现在表的分区:SQL> col table_name for a25col partition_name for a25select tab

Oracle 12C 新特性 - “可插拔数据库”功能

Oracle 12C加入了一个非常有新意的功能"可插拔数据库"特性,实现了数据库(PDB)在"容器"(CDB)上的拔功能,既能提高系统资源的利用率,也简化大面积数据库的管理和迁移工作. 下面我们体验一下可插拔数据库的CDB和PDB的操作: 基本信息:根容器(CDB):CUP可插拔数据库(PDB):TEA 启动根容器:[[email protected] ~]$ export ORACLE_SID=cup[[email protected] ~]$ sqlplus /

Oracle 12C 新特性之 恢复表

RMAN的表级和表分区级恢复应用场景: 1.You need to recover a very small number of tables to a particular point in time. In this situation, TSPITR is not the most effective solution because it moves all the objects in the tablespace to a specified point in time.2.You