第一篇:ORACLE项目2:关于创建表参数的详细说明
命令格式(红字为关键字,紫字为注释)
CREATE TABLE “方案名”.“表名”(字段1 数据类型(长度),字段2 数据类型(长度),……., 字段n 数据类型(长度),CONSTRAINT 约束名1 约束类型(约束参数),CONSTRAINT 约束名2 约束类型(约束参数)………
CONSTRAINT 约束名n 约束类型(约束参数))TABLESPACE “表空间名”
STORAGE(INITIAL 1M*第一个区的大小*
NEXT 1.5M*第二个区的大小*
MINIEXTENTS 2 *创建时已分配的区数*
MAXEXTENTS 5 *可分配最大区数*
PCTINCREASE 10 *每个区相对于上个区增长的百分比*
BUFFER_POOL DEFAULT *其参数有DEFAUT,RECYCLE和KEEP*)PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255;
要点释义
PCTFREE:指定表的每一个数据块为将来更新现有表行所保留的空间百分比。其值必须在0和99之间,默认值为10。
PCTUSED:指定维持表的每个数据块已用空间的最小百分比。当块中已用空间低于PCTUSED的时候,该块就成为新行插入对象。默认值40。
注意:PCTFREE和PCTUSED之和要小于100,两者结合可以确定是把新行插入现有数据块还是新块中。
INITRANS:分配给表的每一个数据块的并发事务条目的初值。范围1-255,默认1。通常不需要改变INITRANS值。
每个更新块的事务需要该块中的一个事务条目,事务条目大小取决于操作系统,该参数保证最小数目的并发事务可以更快,有助避免动态分配事务条目的开销。
MAXTRANS:可更新分配给表的数据块的最大并发事务数。范围1-255。默认255。一般不要更改MAXTRANS的值。
如果一个块中的并发事务超过了INITRANS的值,那么ORACLE在块中动态分配事务条目,直到超过MAXTRANS值。例题
创建学生信息表,字段 学号 姓名 年龄 电话 籍贯,约束:学号创建primary key约束并且不能为空,电话创建unique约束,年龄创建check约束(15-25岁)。
存储参数:初始区为1m大小,最大可分配区数4,区增量 10。PCTFREE为15,PCTUSED为45。INITRANS和MAXTRANS分别是2和244。
CREATE TABLE “SYSMAN”.“学生信息表”
(学号 VARCHAR2(12)NOT NULL, 姓名 VARCHAR2(8), 年龄 NUMBER(2), 电话 VARCHAR2(2), 籍贯 VARCHAR2(2), CONSTRAINT 年龄约束 CHECK(年龄>=15 and 年龄<=25), CONSTRAINT 学号约束 PRIMARY KEY(学号),CONSTRAINT 电话检查 UNIQUE(电话))TABLESPACE “SYSTEM” STORAGE(INITIAL 1M
MAXEXTENTS 4 PCTINCREASE 10 BUFFER_POOL DEFAULT)PCTFREE 15 PCTUSED 45 INITRANS 2 MAXTRANS 244;扩展知识
可使用PCTFREE和PCTUSED参数控制数据块何时进入或离开表、索引或簇的可用清单。使用PCTFREE参数设置最大的阈值,以控制对将来的行的更新操作保留多少数据块空间。当某个数据块使PCTFREE装满时,ORACLE从相应段的可用清单中删除该块。如果你预计只有很少的更新操作会增加行的大小,则可将PCTFREE设置为较低的值(如5或者10),使得ORACLE填满每个块的更多的空间。但是,如果你预计更新操作将会经常增加行的大小,则将PCTFREE设置为较高的值(如20或30),使得ORACLE为已有行的更新操作保留更多的块空间;否则,将出现行链。
可使用PCTUSED参数设置最小块的阈值来控制一个数据块应在何时放回到相应段的可用清单中。例如,所有段的缺省PCTUSED设置为40%,因此,当事务处理删除数据块中的行时,如果它只有39%是装满的,ORACLE将该数据块放回到相应段的可用清单中。如果你预计很少有删除操作,则可设置PCTUSED为较高的值(如60),当偶然的删除操作发生时,使数据块弹出可用清单。但是,如果你预计将PCTUSED 设置为较低的值(如40),使ORACLE不常产生块在表的可用空间中移进或移出的开销。可使用INITRANS和MAXTRANS参数优化ORACLE如何在表、数据簇或索引的数据块中分配事务处理项。INITRANS参数确定为事务处理项预分配多少数据块头部的空间。当您预计有许多并发事务处理要涉及某个块时,可为相关的事务处理项预分配更多的空间,以避免动态分配该空间的开销。MAXTRANS参数限制并行使用某个数据块的事务处理的数量。当您预计有许多事务处理将并行访问某个小表时,则当创建表时,应设置该表的事务处理项预分配更多的块空间,较高的MAXTRANS 参数值允许许多事务处理并行访问该表INITRANS和MAXTRANS 参数的设置可能相应低一些(如分别为2和5)。使用这样的设置,很少为事务处理项保留窨,使该表数据块的更多空间用于数据。
第二篇:oracle创建临时表
Oracle数据库临时表管理心得
我们在创建数据表的时候,若没有特殊的指明,那么我们创建的表是一个永久的关系型表格,也就是说,这个表格中对应的数据,除非是我们显示的删除的话,表中的数据是永远都存在的。相对应的,在Oracle数据库中还有一种类型的表,叫做临时表。这个临时表跟永久表最大的区别就是表中的数据不会永远的存在。当一个会话结束或者事务结束的时候,这个临时表中的数据,不用用户自己删除,数据库自己会自动清
除。
1、事务临时表的管理。
(1)事务临时表的创建。
Oracle数据库根据临时表的性质不同,可以分为事务临时表与会话临时表。事务临时表是指数据只有在当前事务内有效。一般情况下,如果在创建数据表的时候,没有特殊指明这表是会话临时表的话,则该表默认为事务临时表。
我们可以以下面的语句创建事务临时表。
Create global temporary table Temp_user
(ID NUMBER(12)Primary key,name varchar2(10));
笔者建议:
这个创建临时表的语句中,虽然没有显性的指明该表是事务临时表,但是,默认的情况下,若没有指明是什么临时表的话,系统默认是事务临时表。我们要创建事务临时表时,可以不指定关键字。但是,这查看起来比较麻烦。我建议,无论在建立什么临时表,都要利用具体的关键字来显形的指明,这大家看起来都方便。一般可以利用ON COMMIT DELETE ROWS关键字来说明该表就是事务性的临时表,而不是会话性质的临时表。
(2)事务临时表数据的变化分析。
事务临时表的话,当事务结束的时候,就会清空这个事务临时表。所以,当我们在数据库临时表中插入数据后,只要事务没有提交的话,该表中的数据就会存在。但是,当事务提交以后,该表中的数据就会被删除。而且,这个变化不会在重做日志中
显示。
具体事务临时表与会话临时表有什么区别,我们在介绍完会话临时表后会详细介
绍。
2、会话临时表的管理。
会话临时表,顾名思义,是指数据只在当前会话内有效的临时表。关闭当前会话或者进行新的连接之后,数据表中的内容就会被清除。那会话临时表跟事务临时表到底有什么区别呢?我们以一个实例来看其中的区别。
(1)首先,创建一个会话临时表。
CREATE GLOBAL TEMPOPARY TABLE TEMP_USER
(ID NUMBER(12)Primary key,name varchar2(10))
ON COMMIT PRESERVE ROWS;
也就是说,会话临时表跟事务临时表的创建语法大致相同,只有最后的关键字有区别。不过两个表虽然类似,但是其内部的处理机制还是有比较大的区别。
(2)往该表中插入数据。
Insert into TEMP_USER values(1001,’victor’);
往数据库临时表中插入数据的方法,跟往普通表中插入数据的方法是一样的,都利用insert into语句进行操作。该临时表的数据在会话结束之前都是存在这个表格
中的。
(3)提交该事务并查询相关记录。
我们利用COMMIT的语句把该事务提交以后,再用SELECT查询语句进行查询。我们知道,若该表是事务临时表的话,则当该事务结束以后,该表中的内容就会被删除。但是,这是会话临时表,所以即使该事务提交了,但是,利用SELECT语句进行查询
时,仍然可以查到该条员工记录。
(4)结束当前会话,并重新连接数据库。
关闭当前会话,从新连接到数据库后,再利用SELECT语句查询时,会有什么结果呢?此时,就查不到我们刚才插入的数据。这也就是说,在关闭对话的时候,数据库系统已经把原有的数据删除了。从以上的分析我们可以看中,会话临时表与事务临时表主要的差异就在于删除数据时机的不同。事务性临时表是在事务提交的时候清除数据,而会话性临时表则是在关闭当前会话的时候清除临时表。只要当前会话没有关闭,即使事务完成了,会话临时表中的数据仍然存在,不会被清除。
3、临时表管理需要注意的地方。
临时表相对与其他表来说,是一种比较特殊的表结构,但是,作用又比较大,Oracle数据库若没有这种表的话,还真是不行。为了管理好这种特殊的表,我们需要
注意几个细节。
一是要注意临时表不能永久的保存数据。只所以称为临时表,就是因为该表中的内容只是临时存在的。当一个会话或者事务结束时,该表中的内容就会被自动清空。所以,在临时表中,一般不要保存永久数据。在实务中,有个不好的操作习惯,就是有些人在测试数据库的时候,喜欢把测试的数据放在临时数据表中。其实,这是对Oralce临时数据表认识的错误。若我们在数据库中,把要测试的数据,如销售定单的内容放在数据库的临时表中的话,则在其他功能中,如要测试销售定单日报表的功能时,就会找不到相关的定单内容。因为离开特定的会话或者事务的话,临时表中的内容就会不存在了。所以,Oralce数据库中所讲的临时表不是给我们来存储测试数据的。
二是临时表中的数据不会备份、恢复,对其的修改也不会有任何的日志信息。若我们在操作数据库的时候,往数据库的临时表中存入了一些信息。此时突然服务器出现当机。此时,我们想通过数据库备份文件恢复数据库临时表中的内容,或者查看临时表的日志信息,都是无法实现的。也就是说,当服务器以外死机重新启动后,临时表中的内容就会被清空。在数据库的任何地方,如数据库备份文件或者日志信息中,都查不到在重新启动之前数据库临时表中保存了哪些内容,就好象根本没有对临时表
进行操作一样。
三是临时表表空间的管理。临时表在Oracle数据库中,也是表的一种,其也有对应的表空间。在创建临时表的时候,若我们不指定表空间的话,默认的表空间是SYSTEM。对于临时表的表空间管理的话,我们需要注意一个小的细节。若我们把临时表的表空间归属为SYSTEM的话,也就是说,在创建临时表的时候不具体指定具体的表空间,则这个默认的表空间是不能被删除的。而若我们在创建临时表表空间的时候,指定为SYSTEM以外的表空间的话,则在不需要这表空间的时候,我们可以删除。所以,为了后续管理的方便,笔者还是建议大家在创建临时表的时候,要指定表空间。
四是要注意一个问题,临时表只是数据是临时的,而表仍然是永久的。也就是说,当一个会话结束或者一个事务完成时,其临时表中的数据虽然删除了,但是,临时表本身仍然是存在的。也就是说。Oracle数据库中的临时表表是全局的,只是数据是临时的。这跟SQL Server数据库系统具有比较大的区别。其实,这两个数据库在临时表的处理上有很大的不同,各有各的特色。在以后的文章中,我会专门叙述这两种数据库在临时表管理机制上的不同,欢迎大家关注。
五是要注意Oracle数据库在给临时表填入数据的时候,不会对相应的记录加锁。也就是说,当在临时表上执行DML语句的操作时,不会给记录加锁,也不会将数据的变化内容写到重做(REDO)日志中。所以不能用临时表保存永久的数据,也不能对临时表进行共同的操作。这是新手在管理数据库临时表经常会碰到的问题。
六是临时表与普通表之间不能相互转换。在一般情况下,临时表建立后,该表就不能被转换成永久表。所以,这也说明一个道理,利用临时表作为数据库设计时候的测试表不合适。这个临时表可能跟我们按字面意思理解的临时表有误,不是我们所认为的为了测试表结构而建立的临时表。这一点是我们在刚开始接触ORACLE数据库时,经常会犯的错误。
第三篇:施工项目岗位职责详细说明
施工项目岗位职责详细说明
1、全面负责工程项目的组织、实施、管理和控制。
2、参加图纸会审、设计交底、安全技术交底工作并贯彻落实,编制项目施工方案
3、主持工程生产、安全、质量、技术、文明施工、成本控制和环境保护等施工管理工作
4、负责协调与甲方、监理等相关单位、部门以及工程所在地社会关系
5、负责工程项目的安全管理工作,随时掌握工程施工进度、质量情况,协调解决施工中出现的各类问题,督促项目按计划完成,负责工程报验工作
6、审核和管理项目的各项费用支出,负责项目工程施工成本控制
施工项目岗位职责范本(二)
1、在项目经理的领导下,负责公司工程项目管理进行基础、主体结构、装饰装修等分项工程及市政、园林等本专业技术管理工作,对本专业进行有效的质量、进度、投资控制、文明施工管理。
2、施工管理工作包括开工前地质勘察、三通一平、图纸会审、技术交底;工程隐蔽验收、轴线和标高的复核、设计变更、质量控制、进度控制过程的技术和质量问题处理;施工组织协调工作;基础、主体、竣工验收、保修期内的保修工作。
3、协同施工单位根据合同及公司总体布置情况编制施工总进度计划。
4、应对自己的工作兢兢业业、一丝不苟、认真细致完成。
施工项目岗位职责范本(三)
1、协助项目经理完善项目管理制度、工作流程、作业标准等;
2、协助项目经理汇总整理、相关项目资料信息;
3、负责各项目的公司内部衔接督促、跟踪、落实;
4、负责发货材料清单核对、材料增补管理;
5、协调本部门内部事务。
施工项目岗位职责范本(四)
一.负责安全管理制度的建立与监督实施,参与项目安全保证体系的建立。
二.负责《职业健康安全管理计划》、应急救援预案的编制。
三.督促并协助实施各类安全教育、考核。
四.负责组织总分包管理人员入场安全培训工作。
五.审核分包单位安全生产资质。
六.审核工程项目相关合同文件、安全协议涉及安全生产的部分内容。
七.审核工程各类施工、防护方案中涉及安全生产的部分内容。
八.建立项目安全生产管理台帐,并协助项目经理进行任务分解,并负责日常收集、整理、分析工作。指导责任工程师落实业务实施。
九.参与专项安全技术措施、方案编制的讨论并监督方案的执行。
施工项目岗位职责范本(五)
1、配合参与制定施工现场临时用电施工组织设计。
2、按照施工组织设计临电平面布置图、文明工地的要求、布置好施工现场安全用电,为项目开工创造条件。
3、做好施工现场、办公区、生产区、生活区、机械设备的安全用电保护及线路架设工作。
4、编制开工前水电材料使用计划,跟踪落实材料进场和验收,不合格材料不得投入使用。
5、对班组用电设备进场进行验收并做记录,不合格的用电设备严禁送电。
6、编写施工用电制度和机械设备用电注意事项,如施工现场悬挂电线、电缆及用电设备的警示标志及操作规程等。
7、协助配合安全员对进场施工人员做好安全用电技术交底,同时做好用电人员在特殊场所作业的监护工作。
8、定时对临电线路、电箱、用电设备和生活区进行安全用电检查,并做好安全用电巡查记录,拆迁、保养、维修的要做详细记录。(如:拆迁或维修原因、地点、日期、结果)
9、发现违规接线作业有权立即制止,并上报项目经理和安全员,对相关人员进行安全用电教育,确保安全用电施工正常进行。
第四篇:工作执掌盘点表--填写详细说明
工作職掌盤點表------填表說明 填表目的:
1.本表務請每一位同仁按目前自己實際工作內容填寫,作為個人工作的一項盤點.2.籍此項填表過程,使自己對工作內容及時間管理上有較深入的認識.3.本表填妥后,經直接主管及上級主管核定后,作為工作分析之依據.1.填表人:請填入填表當事人姓名.2.填表日期:請填入填表當天日期.3.修正日期:請勿填寫,待未來職掌修訂改變時填用.4.審核:由填表人之上一級直接主管就所填內容、與單位目標之符合程度進行初核,並檢視是否有遺漏.5.核準:由填表人之上兩級主管予以核準.6.工作編碼﹕填入單項工作編碼﹐參考編碼表.7.主要工作職掌描述﹕
請填表人將本身目前實際負責之主要職務及工作項目填入.請選擇10項以內最重要的項目填入即可.8工作方式(現任屬性):
每一個人所參與的每一項工作項目均區分為規劃、督導、執行、協辦四類責任屬性,說明如下:*規劃----負責計劃研擬、方案設計屬之
*督導----監督工作執行,確保工作品質與成效屬之
*執行----依照計劃或主管指令實際執行工作者
*協辦----協助執行人共同完成工作
9.發生周期及次數:
將各項工作項目發生的間隔次數填入相對應的空格類.例如每天需開票2次,請於『日』欄下填入“2”.周、月、季、年依此類推﹐具體數值參考歷史數據和現行工作實際狀況填寫﹔.10.每次處理件數及所需時間:
平均而言,每一次該項工作發生時需要您處理的件數和處理時間.承前例每天開支票2次,每次平均需開
100張,每開100張支票平均需要2小時.則每次處理件數為100,每次所需時間為2小時.所需時間請以小時為單位填寫,如2.7小時、2.5小時等.11.累積時數:
a.每次所需時間 ╳ 發生次數 = 累計時數
b.承前開支票例﹕2小時 ╳ 2次= 4小時(累計每日開支票時數)
12.平均每天時數﹕ 將累積小時數調整為以周為單位的平均值,計算方式說明如下:
a.每年以12月計, 每季以3月計.b.每月以21.75天計﹐每周以5天計.c.每天以8小時計.13.相關流程資料/表單
與該項工作項目有關之表單、流程圖、作業辦法等,請將名稱填入,並附上復印件作為附件.若無任何相關
資料則請填無.
第五篇:2 ORACLE在启动实例时要读取初始化参数文件
1.完整的Oracle数据库通常由两部分组成:Oracle数据库实例和数据库。
1)数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);
2)Oracle数据库实例则是OS中的内存结构和一系列进程组成2.在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台进程),然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件。用户实际上是直接与实例交互,而由实例来访问物理数据库,实例在用户和数据库之间充当中间层的角色。
3.数据库名:顾名思义,数据库的名字,例子:db10。
全局数据库名:是数据库名的完整名,由本地数据库标识和网络域名组成,利用全局数据库名能够在网络环境中唯一确定一个数据库。例子:db10.localdomain。
数据库实例SID:实例名,一般跟数据库名一样,是系统用来识别库的,用ORACLE_SID这个环境变量来识别。用于标识一个数据库实例,一个数据库至少拥有一个实例,通常就是数据库的名字。
区别:数据库名是Oracle数据库的内部变量,而SID是操作系统的变量。
关系:库名可以看成是人的小名,而全局名可看成是人的全名。比如有2个网络,他们都有个DB10库,但他们的域名肯定是不同的(上面的localdomain)。同一小名的人可以有多个,但全名必须是不同的。
4.ORACLE在启动实例时要读取初始化参数文件,利用它从中获取参数设置对实例和数
据库进行配置。在Oracle数据库中,这个初始化参数文件分为两类,分别为文本参数文件与服务器参数文件。他们的内容是相同的,只是所表示的方式不同。在服务器参数文件中,是以二进制的形式保存的。可以利用数据库的命令对他们进行转换。
Oracle初始化参数文件的默认位置和默认文件名:
ORACLE_HOMEdatabaseinit
1)文件中的参数都是可选的,省略时使用默认值,初始化参数的查询
SQL> SHOW PARAMETERS
2)使用CREATE PFILE将SPFILE导出到文本文件
SQL> create pfile=‘D:expinit.ora’ from spfile=‘D:Oracledatabasemyspfile.ora’
3)用初始化参数文件生成SPFILE
SQL> create spfile=‘D:Oracledatabasemyspfile.ora’
from pfile=‘D:Oracleora92databaseinitora01.ora’
4)查询动态性能视图V$SPPARAMETER,获取SPFILE参数