oracle表参数,Oracle 表的创建 及相关参数

1、创建表完整语法

CREATE TABLE [schema.]table

(column datatype [, column datatype] … )

[TABLESPACE tablespace]

[PCTFREE integer]

[PCTUSED integer]

[INITRANS integer]

[MAXTRANS integer]

[STORAGE storage-clause]

[LOGGING | NOLOGGING]

[CACHE | NOCACHE] ];

说明:

Schema:表所在的方案名(所属用户名)

Table:表名

Column:字段名

Datatype:字段的数据类型

Tablespace:表所在的表空间名

控制数据空间使用的参数:

Pctfree:为了行长度增长而在每个块中保留的空间的量(以占整个空间减去块头部后所剩余空间的百分比形式表示),当剩余空间不足pctfree时,不再向该块中增加新行。

Pctused:在块剩余空间不足pctfree后,块已使用空间百分比必须小于pctused后,才能向该块中增加新行。

控制并发性参数:

INITRANS:在块中预先分配的事务项数,INITRANS对数据段的缺省值为1,对索引段的缺省值为2,以保证最低程度的并发。当事务访问表中的一个数据块时,该事务会在oracle块的头部中记录一个值,用于标记该事务正在使用这个oracle块。该事务结束时,会删除对应的条目。例如,如果INITRANS设为3,则保证至少3个事务可以同时对块进行更改。如果需要,也可以从块空闲空间内分配其它事务位置,以允许更多的事务并发修改块内的行。

MAXTRANS:限定可以分配给每个块的最大事务项数,缺省值为255。设置后,该值限制事务位置对空间的使用,从而保证块内有足够的空间供行或者索引数据使用。

STORAGE:标识决定如何将区分配给表的存储子句

i.INITIAL:初始区的大小

ii.NEXT:下一个区的大小

iii.PCTINCREASE:以后每个区空间增长的百分比

iv.MINEXTENTS:段中初始区的数量

v.MAXEXTENTS:最大能扩展的区数

LOGGING:指定表的创建将记录到重做日志文件中。它还指定所有针对该表的后续操作都将被记录下来。这是缺省设置。

NOLOGGING:指定表的创建将不被记录到重做日志文件中。

CACHE:指定即使在执行全表扫描时,为该表检索的块也将放置在缓冲区高速缓存的LRU列表最近使用的一端。

NOCACHE:指定在执行全表扫描时,为该表检索的块将放置在缓冲区高速缓存的LRU列表最近未使用的一端。

案例1

通过设置表的NOLOGGING来产生更少的REDO

ORACLE数据库会对产生改变的操作记录REDO,比如DDL语句、DML语句,这些操作首先会放在redo buffer中,然后由LGER进程根据触发条件写到联机日志文件,如果数据库开启归档的话,还要在日志切换的时候归档。在这样一个完整的链条上的每一个环节,都可能会成为性能的瓶颈,所以需要引起DBA和数据库应用人员的注意。

下面案例中,当把一个表设置成NOLOGGING模式的时候,通过一定的插入操作,可以让oracle产生较少的REDO。

SQL> conn / as sysdba

SQL> archive log list --此时为归档模式

SQL> create table tj as select * from dba_objects where 1=2;

SQL> select count(*) from tj;

SQL> select table_name,logging from user_tables where table_name='TJ';

--观察logging属性值

SQL> set autotrace on stat

SQL> insert into tj select * from dba_objects; --观察redo size的统计值

SQL> rollback;

SQL> insert /*+append*/ into tj select * from dba_objects; --观察redo size的统计值

SQL> rollback;

SQL> alter table tj nologging;

SQL> select table_name,logging from user_tables where table_name='TJ';

--观察logging属性值

SQL> insert into tj select * from dba_objects; --观察redo size的统计值

SQL> rollback;

SQL> insert /*+append*/ into tj select * from dba_objects; --观察redo size的统计值

补充说明:设置Autotrace的命令

用法: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]

--关闭跟踪执行计划和统计信息功能(默认关闭)。

SQL> set autotrace off;

--执行计划和统计信息都显示

SQL> set autotrace on ;

--只显示执行计划和统计信息,不显示sql执行结果。

SQL> set autotrace traceonly;

--只显示执行计划

SQL> set autotrace on explain;

--只显示统计信息

SQL> set autotrace on statistics;

补充说明:归档模式与非归档模式间的转换命令

--1)关闭数据库

SQL>shutdown immediate

--2)把数据库启动到mount的模式

SQL>startup mount

--3)把数据库改为非归档模式 /归档模式

SQL>alter database noarchivelog;

或者

SQL>alter database archivelog;

--4)打开数据库

SQL>Alter database open;

--5)查看数据库归档模式的状态

SQL> archive log list

备注:如果在关闭归档日志时出现ORA-38774错误,请关闭flash闪回数据库模式。

SQL> alter database flashback off

案例2

创建一张基本表

Create tablespace exampletb

Datafile 'E:\ examp01.dbf' reuse;

CREATE TABLE scott.student

(id NUMBER(5) CONSTRAINT st_id_pk PRIMARY KEY,

name VARCHAR2(10) CONSTRAINT st_name NOT NULL,

phone VARCHAR2(11),

school_time DATE DEFAULT SYSDATE,

sex CHAR(1),

CONSTRAINT st_sex_ck CHECK (sex IN('F','M')),

CONSTRAINT st_ph_uk UNIQUE (name))

INITRANS 1 MAXTRANS 255

PCTFREE 20 PCTUSED 50

STORAGE( INITIAL 1024K NEXT 1024K PCTINCREASE 0 MINEXTENTS 1 MAXEXTENTS 5)

TABLESPACE exampletb

2、修改表结构

Alter table 表名 add (列名 类型); --添加新列

Alter table 表名 modify (列名 类型); --修改列定义

Alter table 表名 drop column 列名; --删除列

Rename 表名 to 新表名 --改表名(表名前不能加方案名)

ALTER TABLE 表名 RENAME COLUMN 当前列名 TO 新列名; --修改列名

修改表结构案例

SQL> Alter table scott.student add (QQ number(10));

--为student表增加列存放QQ号

SQL> Alter table scott.student modify (QQ number(12));

--修改student表中名为QQ的列

SQL> Alter table scott.student rename COLUMN QQ to QQ_num;

--将student表中名为QQ的列改名QQ_num

SQL> Alter table scott.student drop column QQ_num;

--删除student表中名为QQ_num的列

SQL> insert into scott.student(id,name) values(1, 'lucy');

--向student表中插入一条记录

SQL> Alter table scott.student modify (sex char(1) default 'M');

--修改sex列的定义

SQL> insert into scott.student(id,name) values(2, 'Dell');

--向student表中插入一条记录

SQL> Alter table scott.student modify (sex char(1) default null);

--修改sex列的定义

SQL> insert into scott.student(id,name) values(3, 'Mary');

--向student表中插入一条记录

思考:oracle中列的默认值设置与修改。

3、表的约束

Alter table 表名 add constraint 约束 ; --增加一个约束

Alter table 表名 drop constraint 约束名; --删除一个约束

alter table表名enable [validate/novalidate] constraint约束名;

--启用一个约束,validate/novalidate代表启用约束时是否对表中原有数据作检查。

alter table表名disable constraint约束名; --禁用一个约束

修改表约束案例

SQL> Alter table scott.student disable constraint st_sex_ck;

--禁用st_sex_ck约束

SQL> insert into scott.student(id,name,sex) values(4, 'Lily', 'N');

SQL> Alter table scott.student enable novalidate constraint st_sex_ck;

--启用st_sex_ck约束,但不检查已有数据。

SQL> select * from scott.student;

SQL> insert into scott.student(id,name,sex) values(5, 'Mark', 'N');

SQL>@$ORACLE_HOME/rdbms/admin/utlexpt1.sql --建立异常数据保存表

或者

@ G:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\utlexpt1.sql

--具体路径可以通过搜索utlexpt1.sql获取

SQL>alter table scott.student enable validate constraint st_sex_ck exceptions into exceptions; -- 将异常数据装入异常表

SQL> select * from scott.student where rowid in(select row_id from exceptions);

--查看对应的原表中的异常数据

SQL>Alter table scott.student drop constraint st_sex_ck; --删除约束st_sex_ck

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能在能源行业的5个应用

作者:CB Insights . 来源:CometLabs摘要:自2012年以来,把人工智能和能源产业放在一起进行报道的新闻开始增多。本文简要描述了人工智能在能源行业的5个应用方向,及对应的案例。能源行业会产生大量的数据。为了将这些数…

fork vfork exit _exit (转)

原文地址&#xff1a;http://hi.baidu.com/ikaruga11/blog/item/fb6d75725a8d8d148701b080.htmlAPUE上的一个例子&#xff1a;example1 (forkt.c ):#include<stdlib.h>#include<unistd.h>#include<stdio.h>#include<sys/types.h>int glob 5;int main(…

VMware 安装 win7、win10、MAC 和网络模式VMnet0、VMnet1、VMnet8解释

VMware虚拟机安装ghost win7系统方法&#xff1a;http://www.xitongcheng.com/jiaocheng/xtazjc_article_15314.html VMWare14 安装Mac OS系统&#xff08;图解&#xff09;&#xff1a;http://blog.csdn.net/u011415782/article/details/78505422 虚拟机&#xff08;VMware …

Spring Data JPA 从入门到精通~关键字列表

注意除了 find 的前缀之外&#xff0c;我们查看 PartTree 的源码&#xff0c;还有如下几种前缀&#xff1a; private static final String QUERY_PATTERN "find|read|get|query|stream"; private static final String COUNT_PATTERN "count"; private s…

当科学遇上众包:9个值得关注的前沿科技算力众包平台

来源&#xff1a; 资本实验室 . 作者&#xff1a;李鑫找到癌症治疗的方法&#xff0c;预测气候的变化&#xff0c;追踪可能与地球相撞的小行星……甚至预测地震&#xff0c;我们每天都面临着各种世界性难题。如果你想参与解决这些难题&#xff0c;公民科学应用将让你发挥作用…

oracle数据库配置助手来初始化参数,使用服务器参数文件(SPFILE)管理初始化参数...

传统上&#xff0c;Oracle数据库的初始化参数存储在文本初始化参数文件中。为了更好的可管理性&#xff0c;您可以选择在二进制服务器参数文件中维护初始化参数&#xff0c;该文件在数据库启动和关闭期间保持不变。本节介绍服务器参数文件&#xff0c;并介绍如何使用任何一种存…

为脚本语言平反-JavaScript篇(3)

http://blog.csdn.net/aimingoo/archive/2009/09/08/4532496.aspx &#xff08;书接上回&#xff0c;继续&#xff01;&#xff09; 五、这个DSL框架有什么问题&#xff1f; 有什么问题吗&#xff1f;有一点&#xff0c;并不严重。比如说&#xff0c;我们在Env中声明了一些属性…

htop 命令详解

htop 官网&#xff1a;http://htop.sourceforge.net/ Linux top 命令的用法详细详解&#xff1a;https://www.cnblogs.com/zhoug2020/p/6336453.html htop 使用详解&#xff1a;https://www.cnblogs.com/programmer-tlh/p/11726016.html 使用 yum 无法直接安装 htop&#xff…

linux主机服务器日志采集,Linux通过Rsyslog搭建集中日志服务器

(一)Rsyslog简介ryslog 是一个快速处理收集系统日志的程序&#xff0c;提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版&#xff0c;它将多种来源输入输出转换结果到目的地。rsyslog是一个开源工具&#xff0c;被广泛用于Linux系统以通过TCP/UDP协议转发或接收…

IDC预测2022年全球智能家居连接设备市场规模将达10亿台!

来源&#xff1a; IDC官网、智慧生活&#xff1b; 物联网资本论编译摘要&#xff1a;2017年&#xff0c;全球智能家居连接设备市场规模达到43310万台&#xff0c;比上一年增长27.6&#xff05;。2022年市场达到9.397亿台&#xff0c;IDC预计复合年增长率&#xff08;CAGR&#…

Spring Data JPA 从入门到精通~方法的查询策略的属性表达式

方法的查询策略的属性表达式&#xff08;Property Expressions&#xff09; 属性表达式只能引用托管&#xff08;泛化&#xff09;实体的直接属性&#xff0c;如前一个示例所示。在查询创建时&#xff0c;已经确保解析的属性是托管实体的属性&#xff0c;但是&#xff0c;还可…

effective C++ 读书笔记

本篇文章都是摘自 《Effective C》 中文版 第三版 和 第二版。 再好的记性也有忘记的一天&#xff0c;记录下以备随时查看。。。 电子书下载地址&#xff1a;https://download.csdn.net/download/freeking101/10278088 《Effective C》第二版在线教程&#xff1a;http://www.…

抓取新浪的每日星座运势

从新浪上抓取每日的星座运势&#xff0c;然后往求实的Astrology版发. #!/usr/bin/python# encoding: utf-8from sgmllib import SGMLParserfrom datetime import datetime, timedeltaimport reimport urllibstarurlhttp://image2.sina.com.cn/ast/2007index/tmp/star_php/star.…

Spring Data JPA 从入门到精通~思维导图

#原图 System.out.println("https://www.processon.com/view/61c7227c0e3e7474fb9b4b76?fromnew1");

发邮件

System.Net.Mail.MailMessage message new System.Net.Mail.MailMessage("发件邮箱gmail.com","收件邮箱163.com", "测试标题", "测试内容"); System.Net.Mail.SmtpClient smtpClient new System.Net.Mail.SmtpClient("smtp.g…

Linux 编译 没有path,编译linux-2.6.21的问题-‘PATH_MAX’ undeclared

编译linux-2.6.21的问题&#xff1a;cripts/mod/sumversion.c: In function ‘get_src_version’:scripts/mod/sumversion.c:384: error: ‘PATH_MAX’ undeclared (first usein this function)scripts/mod/sumversion.c:384: error: (Each undeclared identifier isreported o…

高通5G版图现身!你的网络生活将迎来巨变?

来源&#xff1a;36Kr 作者&#xff1a;桐由于骁龙845移动平台和骁龙636移动平台的首发&#xff0c;3月的手机市场对于持币代购的消费者而言注定是充满期待的&#xff0c;在三星S9和红米Note5刷屏之时&#xff0c;曾经隐身手机幕后的高通也再一次引发用户热议&#xff0c;高通…

异步复位设计中的亚稳态问题及其解决方案

异步复位设计中的亚稳态问题及其解决方案田志明&#xff0c;杨军&#xff0c;罗岚&#xff08;东南大学国家专用集成电路系统工程技术研究中心&#xff0c;南京 210096&#xff09;摘 要&#xff1a;尽管异步复位是一种安全可靠复位电路的方法&#xff0c;但如果处理不当的话&a…

linux添加nginx,linux下安装Nginx1.16.0的教程详解

因为最近在倒腾linux&#xff0c;想安装新版本的nginx&#xff0c;找了一圈教程没有找到对应的教程&#xff0c;在稍微倒腾了一会之后终于成功的安装了最新版。服务器环境为centos&#xff0c;接下来是详细步骤&#xff1a;安装必要依赖插件?创建文件夹并切换过去?下载安装包…

深度|2030年8亿人会失业!图解机器人如何取代你的工作

来源&#xff1a;财看见-腾讯财经&#xff08;ID&#xff1a;qqckj2017&#xff09;未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0…