当前位置:文档之家› oracle,sql临时表

oracle,sql临时表

oracle,sql临时表
oracle,sql临时表

可以用ORACLE的临时表

转载

Temporary Tables临时表

目录

1简介

2详细介绍

3建立临时表

4 与SQL SERVER的异同

1简介

ORACLE数据库除了可以保存永久表外,还可以建立临时表temporary tables。这些临时表用来保存一个会话SESSION的数据,或者保存在一个事务中需要的数据。当会话退出或者用户提交commit和回滚rollback事务的时候,临时表的数据自动清空,但是临时表的结构以及元数据还存储在用户的数据字典中。

In addition to permanent tables, Oracle can create temporary tables to hold session-private data that exists only for the duration of a transaction or session. Temporary tables are supported by Oracle9i and Oracle8i.

2详细介绍

Oracle临时表分为会话级临时表和事务级临时表。

会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。

事务级临时表是指临时表中的数据只在事务生命周期中存在。当一个事务结束(commit or rollback),Oracle自动清除临时表中数据。

临时表中的数据只对当前Session有效,每个Session都有自己的临时数据,并且不能访问其它Session的临时表中的数据。因此,临时表不需要DML锁。The CREATE GLOBAL TEMPORARY TABLE statement creates a temporary table that can be transaction-specific or session-specific. For transaction-specific temporary tables, data exists for the duration of the transaction. For session-specific temporary tables, data exists for the duration of the session. Data in a temporary table is private to the session. Each session can only see

and modify its own data. DML locks are not acquired on the data of the temporary tables. The LOCK statement has no effect on a temporary table, because each session has its own private data.

当一个会话结束(用户正常退出用户不正常退出ORACLE实例崩溃)或者一个事务结束的时候,Oracle对这个会话的表执行TRUNCATE 语句清空临时表数据.但不会清空其它会话临时表中的数据.

A TRUNCATE statement issued on a session-specific temporary table truncates data in its own session. It does not truncate the data of other sessions that are using the same table.

DML statements on temporary tables do not generate redo logs for the data changes. However, undo logs for the data and redo logs for the undo logs are generated. Data from the temporary table is automatically dropped in the case of session termination, either when the user logs off or when the session terminates abnormally such as during a session or instance failure.

你可以索引临时表和在临时表基础上建立视图.同样,建立在临时表上的索引也是临时的,也是只对当前会话或者事务有效. 临时表可以拥有触发器.

You can create indexes for temporary tables using the CREATE INDEX statement. Indexes created on temporary tables are also temporary, and the data in the index has the same session or transaction scope as the data in the temporary table.

You can create views that access both temporary and permanent tables. You can also create triggers on temporary tables.

3建立临时表

临时表的定义对所有会话SESSION都是可见的,但是表中的数据只对当前的会话或者事务有效.

建立方法:

1) ON COMMIT DELETE ROWS 定义了建立事务级临时表的方法.

CREATE GLOBAL TEMPORARY TABLE admin_work_area

(startdate DATE,

enddate DATE,

class CHAR(20))

ON COMMIT DELETE ROWS;

EXAMPLE:

SQL> CREATE GLOBAL TEMPORARY TABLE admin_work_area

2 (startdate DATE,

3 enddate DATE,

4 class CHAR(20))

5 ON COMMIT DELETE ROWS;

SQL> create table permernate( a number);

SQL> insert into admin_work_area values(sysdate,sysdate,'temperary table'); SQL> insert into permernate values(1);

SQL> commit;

SQL> select * from admin_work_area;

SQL> select * from permernate;

A

1

2)ON COMMIT PRESERVE ROWS 定义了创建会话级临时表的方法. CREATE GLOBAL TEMPORARY TABLE admin_work_area

(startdate DATE,

enddate DATE,

class CHAR(20))

ON COMMIT PRESERVE ROWS;

EXAMPLE:

会话1:

SQL> drop table admin_work_area;

SQL> CREATE GLOBAL TEMPORARY TABLE admin_work_area

2 (startdate DATE,

3 enddate DATE,

4 class CHAR(20))

5 ON COMMIT PRESERVE ROWS;

SQL> insert into permernate values(2);

SQL> insert into admin_work_area values(sysdate,sysdate,'session temperary');

SQL> commit;

SQL> select * from permernate;

A

----------

1

2

SQL> select * from admin_work_area;

STARTDATE ENDDATE CLASS

---------- ---------- --------------------

17-1?? -03 17-1?? -03 session temperary

会话2:

SQL> select * from permernate;

A

----------

1

2

SQL> select * from admin_work_area;

未选择行.

会话2看不见会话1中临时表的数据.

4 ORACLE临时表和SQLSERVER临时表异同

SQL SERVER临时表

也可以创建临时表。临时表与永久表相似,但临时表存储在tempdb 中,当不再使用时会自动删除。

有本地和全局两种类型的临时表,二者在名称、可见性和可用性上均不相同。本地临时表的名称以单个数字符号(#) 打头;它们仅对当前的用户连接是可见的;当用户从Microsoft? SQL Server? 2000 实例断开连接时被删除。全局临时表的名称以数学符号(##) 打头,创建后对任何用户都是可见的,当所有引用该表的用户从SQL Server 断开连接时被删除。

例如,如果创建名为employees 的表,则任何人只要在数据库中有使用该表的安全权限就可以使用该表,除非它已删除。如果创建名为#employees 的本地临时表,只有您能对该表执行操作且在断开连接时该表删除。如果创建名为

##employees 的全局临时表,数据表中的任何用户均可对该表执行操作。如果该表在您创建后没有其他用户使用,则当您断开连接时该表删除。如果该表在您创建后有其他用户使用,则SQL Server在所有用户断开连接后删除该表

不同:

1. SQL SERVER临时表是一种”内存表”,表是存储在内存中的.ORACLE临时表除非执行DROP TABLE,否则表定义会保留在数据字典中.

2. SQL SERVER临时表不存在类似ORACLE临时表事务级别上的功能.

3 SQL SERVER本地临时表(#) 与ORACLE的会话级别临时表类似,但是在会话退出的时候,ORACLE不会删除表.

4 SQL SERVER的全局临时表(##) 是指多个连接共享同一片内存.当没有

指针引用该内存区域时,SQL SERVER自动释放全局临时表.

5 由于ORACLE不是一种内存中的数据库. 所以如果ORACLE类似SQL SERVER 频繁的对临时表进行建立和删除,必定会影响性能.所以ORACLE会保留临时表的定义直到用户DROP TABLE.

6 在ORACLE中,如果需要多个用户共享一个表(类似SQL SERVER的全局临时表##).则可以利用永久表,并且在表中添加一些可以唯一标识用户的列.利

用触发器和视图.当用户退出的时候,根据该登陆用户的唯一信息删除相应的表中的数据. 这种方法给ORACLE带来了一定量的负载.

在Oracle8i或以上版本中,可以创建以下两种临时表:

1。会话特有的临时表

CREATE GLOBAL TEMPORARY ()

ON COMMIT PRESERVE ROWS;

2。事务特有的临时表

CREATE GLOBAL TEMPORARY ()

ON COMMIT DELETE ROWS;

CREATE GLOBAL TEMPORARY TABLE MyTempTable

所建的临时表虽然是存在的,但是你试一下insert 一条记录然后用别的连接登上去select,记录是空的,明白了吧,我把下面两句话再贴一下:

--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)

--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。

冲突的问题更本不用考虑.

临时表只是保存当前会话(session)用到的数据,数据只在事务或会话期间存在。

通过CREATE GLOBAL TEMPORARY TABLE命令创建一个临时表,对于事务类型的临时表,

数据只是在事务期间存在,对于会话类型的临时表,数据在会话期间存在。

会话的数据对于当前会话私有。每个会话只能看到并修改自己的数据。DML锁不会加到临时表的数据上。下面的语句控制行的存在性。

● ON COMMIT DELETE ROWS 表名行只是在事务期间可见

● ON COMMIT PRESERVE ROWS 表名行在整个会话期间可见

可以对临时表创建索引,视图,出发器,可以用export和import工具导入导出表的

定义,但是不能导出数据。表的定义对所有的会话可见。

ORACLE项目2:关于创建表参数的详细说明

命令格式(红字为关键字,紫字为注释) CREATE TABLE“方案名”.“表名” (字段1 数据类型(长度), 字段2 数据类型(长度), ……., 字段n 数据类型(长度), CONSTRAINT约束名1 约束类型(约束参数), CONSTRAINT约束名2 约束类型(约束参数) ……… CONSTRAINT约束名n 约束类型(约束参数)) TABLESPACE “表空间名” STORAGE (INITIAL 1M*第一个区的大小*NEXT 1.5M*第二个区的大小* MINIEXTENTS 2 *创建时已分配的区数* MAXEXTENTS 5 *可分配最大区数* PCTINCREASE10 *每个区相对于上个区增长的百分比* 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值。

2017-2018煤矿安全生产管理人员必知必会题库

煤矿安全生产管理人员必知必会题库 二季度考试增加题目: 1、6月安全生产月活动主题:科学发展、安全发展 2、集中开展安全生产领域“打非治违”是指:打击非法违法生产经营建设、治理纠正违规违章行为,时间从4月中旬至9月底。 3、集团公司第六期总经理安全办公会提出的开展“两随意、两提高”活动是指:安排工作随意性、现场作业随意性,提高工作安排计划性、提高现场作业规范性。 (判断题130 题,选择题190 题,计320 题) 一、判断题 1、徐矿集团生产矿井安全质量标准化标准及考核评级办法适用于集团公司本部,不适用异地生产矿井(项目部)。(×) 2、集团公司(异地公司)对生产矿井安全质量标准化检查采取日常动态检查与集中检查相结合的方式。(√) 3、开采冲击地压煤层时,在同一煤层的同一区段集中应力影响范围内,不得布臵2个工作面同时回采。(√) 4、安全检查员在所管辖范围内,根据工作需要,有权随时进入任何场所进行安全检查。(√) 5、井下因发火封闭采区或影响安全生产,但未有人员死亡,为一级非伤亡事故。(√) 6、煤矿发生责任事故,必须找出直接责任者。(√) 7、煤矿按事故发生的原因分为三违、工程质量、安全设施等方面的事故。(×) 8、煤矿企业必须对职工进行安全培训,并经考试合格,持证上岗;特种作业人员必须按照国家有关规定培训合格,取得操作资格证书。(√) 9、《国务院关于预防煤矿生产安全事故的特别规定》规定:对 3 个月内2 次或者2 次以上发现有重大安全生产隐患,仍然进行生产的煤矿,县级以上人民政府负责煤矿安全生产监督管理的部门、煤矿安全监察机构应当提请有关地方人民政府关闭该煤矿。(√) 10、煤矿企业主要负责人、安全生产管理人员必须参加具备相应资质的煤矿安全培训机构组织的安全培训,经煤矿安全监察机构对其安全生产知识和管理能力考核合格,取得安全资格证。(√) 11、煤矿安全监察机构应当对煤矿特种作业人员持证上岗情况进行监督检查。监督检查的主要内容包括证件的合法性(颁证机关、印章、项目内容是否过期等);人员、证件是否相符;在岗人员是否做到持证上岗等。(√) 12、根据《煤矿重大安全隐患认定办法(试行)》之规定:矿井月产量超过当月产量计划10%的,属于煤炭重大安全生产隐患。(√) 13、根据《煤矿重大安全隐患认定办法(试行)》之规定:一个采区内同一煤层布臵 3 个(含 3个)以上采煤工作面或5 个(含5 个)以上掘进工作面同时作业的,属于煤矿重大安全生产隐患。(√) 14、根据《煤矿重大安全隐患认定办法(试行)》之规定:瓦斯检查员配备数量不足的,不属于煤矿重大安全生产隐患。(×) 15、煤矿发生危及职工生命安全的重大隐患和严重问题时,带班人员必须立即

ORACLE 临时表空间使用率过高的原因及解决方案(转)

【转】ORACLE 临时表空间使用率过高的原因及解决方案 在数据库的日常学习中,发现公司生产数据库的默认临时表空间temp使用情况达到了30G,使用率达到了100%;待调整为32G后,使用率还是为100%,导致磁盘空间使用紧张。根据临时表空间的主要是对临时数据进行排序和缓存临时数据等特性,待重启数据库后,temp 会自动释放。于是想通过重启数据库的方式来缓解这种情况,但是重启数据库之后,发现临时表空间temp的使用率还是100%,一点没变。虽然运行中应用暂时没有报什么错误,但是这在一定程度上存在一定的隐患,有待解决该问题。由于临时表空间主要使用在以下几种情况: 1、order by or group by (disc sort占主要部分); 2、索引的创建和重创建; 3、distinct操作; 4、union & intersect & minus sort-merge joins; 5、Analyze 操作; 6、有些异常也会引起TEMP的暴涨。 Oracle临时表空间暴涨的现象经过分析可能是以下几个方面的原因造成的: 1. 没有为临时表空间设置上限,而是允许无限增长。但是如果设置了一个上限,最后可能还是会面临因为空间不够而出错的问题,临时表空间设置太小会影响性能,临时表空间过大同样会影响性能,至于需要设置为多大需要仔细的测试。 2.查询的时候连表查询中使用的表过多造成的。我们知道在连表查询的时候,根据查询的字段和表的个数会生成一个迪斯卡尔积,这个迪斯卡尔积的大小就是一次查询需要的临时空间的大小,如果查询的字段过多和数据过大,那么就会消耗非常大的临时表空间。 3.对查询的某些字段没有建立索引。Oracle中,如果表没有索引,那么会将所有的数据都复制到临时表空间,而如果有索引的话,一般只是将索引的数据复制到临时表空间中。 针对以上的分析,对查询的语句和索引进行了优化,情况得到缓解,但是需要进一步测试。总结: 1.SQL语句是会影响到磁盘的消耗的,不当的语句会造成磁盘暴涨。 2.对查询语句需要仔细的规划,不要想当然的去定义一个查询语句,特别是在可以提供用户自定义查询的软件中。 3.仔细规划表索引。如果临时表空间是temporary的,空间不会释放,只是在sort结束后被标记为free的,如果是permanent的,由SMON负责在sort结束后释放,都不用去手工释放的。查看有哪些用户和SQL导致TEMP增长的两个重要视图:v$ sort_usage和v$sort_segment。 通过查询相关的资料,发现解决方案有如下几种: 一、重建临时表空间temp Temporary tablespace是不能直接drop默认的临时表空间的,不过我们可以通过以下方法达到。 查看目前的Temporary Tablespace SQL> select name from v$tempfile; NAME ——————————————————————— D:\ORACLE\ORADA TA\ORCL\TEMP01.DBF SQL> select username,temporary_tablespace from dba_users;

Oracle临时表空间管理及清理策略

正常来说,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。但有些有侯我们则会遇 到临时段没有被释放,TEMP表空间几乎满的状况,甚至是我们重启了数据库仍没有解决问题。这个问题在论坛中也常被网友问到,下面我总结 一下,给出几种处理方法。 法一、重启库 库重启时,Smon进程会完成临时段释放,TEMP表空间的清理操作,不过很多的时侯我们的库是不允许down的,所以这种方法缺少了一点的 应用机会,不过这种方法还是很好用的。 法二、Metalink给出的一个方法 修改一下TEMP表空间的storage参数,让Smon进程观注一下临时段,从而达到清理和TEMP表空间的目的。 SQL>alter tablespace temp increase 1; SQL>alter tablespace temp increase 0; 法三、我常用的一个方法,具体内容如下: 1、使用如下语句a查看一下认谁在用临时段 SELECT username, sid, serial#, sql_address, machine, program, tablespace, segtype, contents

FROM v$session se, v$sort_usage su WHERE se.saddr=su.session_addr 2、那些正在使用临时段的进程 SQL>Alter system kill session 'sid,serial#'; 3、把TEMP表空间回缩一下 SQL>Alter tablespace TEMP coalesce; 法四、使用诊断事件的一种方法,也是被我认为是“杀手锏”的一种方法 1、确定TEMP表空间的ts# SQL>select ts#, name from sys.ts$ ; TS# NAME ----------------------- 0 SYSYEM 1 RBS 2 USERS 3* TEMP 4 TOOLS 5 INDX 6 DRSYS 2、执行清理操作

安全管理人员必备五种能力(通用版)

( 安全管理 ) 单位:_________________________ 姓名:_________________________ 日期:_________________________ 精品文档 / Word文档 / 文字可改 安全管理人员必备五种能力(通 用版) Safety management is an important part of production management. Safety and production are in the implementation process

安全管理人员必备五种能力(通用版) 一是必须具备掌握安全专业知识的能力。安全管理人员只有不断加强安全生产法律、法规知识的学习,不断提高依法行政能力;加强安全管理知识的学习,不断提高发现问题解决问题的能力;并学以致用,加强安全生产技术知识学习,提高对安全生产环节的有效监管,切实做到“心中有数”。 二是必须具备成为发现查找隐患的高手的能力。安全管理人员深入各部位进行检查,从“查思想是否重视、查制度是否健全、查现场管理是否规范”入手,查找存在的各种安全隐患,督促尽快整改到位,将各种安全隐患消灭于萌芽状态,做到“预则立、不预则颓”。 三是必须具备严格管理的能力。从事安全管理工作,就要严格落实安全责任制,按照“谁主管、谁负责、谁在岗、谁负责”的原则。安全管理人员要站在讲奉献,讲大局、讲责任的高度,对那些

违反安全操作的人和事依据单位的安全规定严肃处理,硬起手腕抓管理,用事实教育人,起到教育他人,举一反三的作用。 四是必须具备分析和解决问题的能力。安全生产工作千头万绪,各类问题层出不穷,安全管理人员必须直面各类问题,开动脑筋,把可能工作中出现的问题想细、想深做到未雨绸缪,一件一件抓好落实,为生产经营保驾护航。 五是必须具备领导决策的参谋能力。安全管理人员要有“身在兵位,胸为将谋”的胆略。及时将安全检查中发现的重要信息汇总,为领导科学决策提供帮助。 云博创意设计 MzYunBo Creative Design Co., Ltd.

创建临时表空间(精)

/创建临时表空间 create temporary tablespace test_temp tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; //创建数据表空间 create tablespace test_data logging datafile 'E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; //创建用户并指定表空间 create user testserver_user identified by testserver_user default tablespace test_data temporary tablespace test_temp; //给用户授予权限 grant connect,resource to testserver_user; (db2:指定所有权限) 导入导出命令: Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于在oracle 8i 中安装目录ora81BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。 SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。 下面介绍的是导入导出的实例。 数据导出: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中 exp system/manager@TEST file=d:daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/manager@TEST file=d:daochu.dmp owner=(system,sys) 3 将数据库中的表inner_notify、notify_staff_relat导出 exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

oracle创建表与增删改

-- 数据准备:创建工资等级表 CREATE TABLE salgrade_test ( grade NUMBER (2), lowsal NUMBER (7, 2), hisal NUMBER (7, 2) ); -- 查看工资等级表结构 DESC salgrade; -- 查看工资等级表数据 SELECT * FROM salgrade_test; -- 插入数据 INSERT INTO salgrade_test VALUES (1, 10001, 99999); INSERT INTO salgrade_test VALUES (2, 8001, 10000); INSERT INTO salgrade_test VALUES (3, 6001, 8000); INSERT INTO salgrade_test VALUES (4, 4001, 6000); INSERT INTO salgrade_test VALUES (5, 1, 4000); -- 计算员工的薪水等级 SELECT NAME, salary, grade FROM emp_test, salgrade_test WHERE emp_test.salary BETWEEN salgrade_test.lowsal AND salgrade_test.hisal; -- ------------------------------------------------------SELECT NAME, salary, grade FROM emp_test

FULL JOIN salgrade_test ON emp_test.salary BETWEEN salgrade_test.lowsal AND salgrade_test.hisal; -- 复制表:只复制结构 , 不复制数据 CREATE TABLE salgrade_copy AS ( SELECT * FROM salgrade_test WHERE 1 <> 1 ); SELECT * FROM salgrade_copy; -- 复制表:复制一部分数据----通过设置别名的方式 , 指定新表中的列名(year_sal) CREATE TABLE emp_test_copy AS ( SELECT emp_id, NAME, salary * 12 year_sal FROM emp_test WHERE dept_test_id = 10 ); SELECT * FROM emp_test_copy; -- 复制表:复制一部分数据 -- 新表中的列名 CREATE TABLE emp_count (did, emp_num) AS ( SELECT dept_test_id, COUNT (*) FROM emp_test GROUP BY dept_test_id ); SELECT * FROM emp_count; -- 创建一个同 emp 表结构相同的空表 , 将部门号为 10 的员工信息放入该表 -- 如果有一张表 emp 的数据量为一百万条 , 此时需要建立 1 张测试表只放入少量测试数据( 如 100条 ) , 执行步骤如下所示: -- 第 1 步创建一个空表 CREATE TABLE emp_copy AS (

oracle创建用户及权限说明文档

Oraclec创建用户 一、命令行创建用户具体步骤如下: 1.以管理员身份登录系统并创建一个新的表空间,操作如下: 操作如下: 2. Next 5M maxsize 100M ;----每次扩大5M,但最大为100M

3. Temporary tablespace test1_temp; ----设置临时表空间为test1_temp 4. 操作如下 5. 操作如下 6.最后提交即可。Commit 二、表空间的增删改查 1. 2. 如下操作,其中标示出来的路径即为查询到的要更改的表空间的具体路径,将该路径加到语句2中的单引号处即可。

3. 4.

四、权限的设置 1.权限的分类: 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 2.系统权限管理 DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE: 拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT: 拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。 3.系统权限授权命令及用户管理。 [系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)] 授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...; [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys 用户相同的权限,system用户的权限也可以被回收。] 例: SQL> connect system/manager SQL> Create user user50 identified by user50; SQL> grant connect, resource to user50; 查询用户拥有哪里权限: SQL> select * from dba_role_privs; SQL> select * from dba_sys_privs; SQL> select * from role_sys_privs; 删除用户:SQL> drop user 用户名cascade; //加上cascade则将用户连同其创建的东西全部删除。 4.给新建的用户分配只有连接以及对某些表和视图的查询权限: oracle授权对视图的查询.docx 5.用户管理: 1)、创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_ATTEMPTS 3 //指定锁定用户的登录失败次数 PASSWORD_LOCK_TIME 5 //指定用户被锁定天数 PASSWORD_LIFE_TIME 30 //指定口令可用天数 2)、创建用户 SQL> Create User username Identified by password Default Tablespace tablespace Temporary Tablespace tablespace Profile profile Quota integer/unlimited on tablespace; 6.用户密码过期问题: 首先,查看系统中有哪些用户:

Update Temporary Tablespace更改Oracle临时表空间

ora-01652无法通过128(在表空间temp中)扩展temp段 今天提交请求后,提示ORA-01652: 无法通过128 (在表空间TEMP 中) 扩展temp 段。最后通过ALTER DA TABASE TEMPFILE '/*/*/db/apps_st/data/tempx01.dbf' RESIZE 7168M;扩展临时表空间来解决 今天提交请求后,提示ORA-01652: 无法通过128 (在表空间TEMP 中) 扩展temp 段。最后通过ALTER DA TABASE TEMPFILE '/*/*/db/apps_st/data/tempx01.dbf' RESIZE 7168M;扩展临时表空间来解决。在网上找了些资料,重新学习下临时表空间的知识点,记录在此以免以后忘记。 临时表空间相关知识点总结 临时表空间的作用: 临时表空间主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、管理索引[如创建索引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。 当临时表空间不足时,表现为运算速度异常的慢,并且临时表空间迅速增长到最大空间(扩展的极限),并且一般不会自动清理了。 如果临时表空间没有设置为自动扩展,则临时表空间不够时事务执行将会报ora-01652无法扩展临时段的错误,当然解决方法也很简单:1、设置临时数据文件自动扩展,或者2、增大临时表空间。 临时表空间的相关操作: 查询默认临时表空间: SQL> select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE'; PROPERTY_NAME ------------------------------ PROPERTY_V ALUE -------------------------------------------------------------------------------- DESCRIPTION

管理人员安全必知必会试题

管理人员安全必知必会试题 欢迎参加本次测试 第1项:内盗人员若属于集团正式员工,对该员工罚款元,并解除劳动合同,人力资源部将内盗人员列入用人黑名单,终身不得录用。 ○2000 ○3000 ○5000 ○10000 第2项:除插排须固定,严禁悬空使用;严禁用易燃物品包装、包裹插排外,属于集团内插排管理规范要求的有 □插排严禁超负荷使用 □大功率用电器具应直接使用电源插座 □严禁出现插排连插排情况出现。 第3项:手扶梯都有急停按钮,即在电梯的两头都有红色圆形按钮,通常标有〝紧急制动按钮非紧急情况勿动〞标识,当电梯出现异响或者卡住异物等紧急情况,应采取的措施有: □大声提醒乘坐电梯人员保持平衡

□迅速摁下该按钮及时将电梯停止 □迅速联系门店管理人员及电工班工作人员。 □迅速拨打119。 第4项:乘坐轿厢梯(观光梯、货梯等)遇到故障须要注意事项: □要沉着、冷静,不要试图强行开门、踹门 □可长摁电梯紧急电铃或拨打电梯内标识的救援电话等待救援 □可拨打熟悉人员或相应管理人员电话寻求帮助救援 □必要时也可以拨打110。 第5项:物品摆放严禁影响消火栓门正常开启,我公司规定必须保证消火栓门可开启程度为度。 ○60 ○90 ○160 ○180 第6项:火灾分类中:B类火灾指的是液体火灾或可熔化固体物质火灾。 ○对 ○错 第7项:施工现场要配备消火栓、灭火器。单独装修时配两个,集中装修

时50㎡一个,不得动用明火和电气焊。 ○对 ○错 第8项:在使用消火栓前应先断电,在没有安全保障的情况下,禁止向没有切断电源的电线、电气设备喷水,以防触电。 ○对 ○错 第9项:使用水枪灭火,操作时,操作人员要站到上风处向下风处喷射,距离远近要根据周围温度、喷溅程度及水枪喷射的有效范围来确定. ○对 ○错 第10项:一经发现有员工内盗行为,除赔偿损失外,要对该员工做相应经济处罚并交人力资源部辞退,同时列入黑名单,后期全福元各门店对该人员概不录用。如数额较大情节严重者,则移交司法机关处理。 ○对 ○错

Oracle临时表用法的经验心得

Oracle临时表用法的经验心得 Oracle临时表用法的经验心得 Oracle临时表用法的经验心得 1.案例 前段时间报表中心有一存储过程执行速度过慢,由于另外一个存储过程中用到了那个存储过程中的中间表,因此如果前面的一个过程没有执行完而执行后面的那个过程,后面的过程执行完之后还是没有数据。四月份那个过程执行大约需要两个小时的时间,本以为是过程里面的业务太复杂导致。可前段时间执行的时间超过了十小时。后来才发现是中间表中数据量越来越多导致,大约有五百多万数据,而且每天会增加两万左右的数据,慢的地方主要是在中间表中插入当天的数据之后需要更新某些字段,由于中间表中数据量过大,更新这些字段是速度才很慢(已经建了索引)。 解决方案:创建一个和中间表一摸一样的临时表,先把数据插入到临时表中,在临时表中更新需要更新的字段,更新完后再把临时表中所有的数据插入到中间表中,然后再使用中间表中的数据汇总出报表。 2.如何创建临时表 创建Oracle临时表,可以有两种类型的临时表:会话级的临时表,事务级的临时表。2.1会话级临时表 因为这个临时表中的数据和你的当前会话有关系,当你当前SESSION不退出的情况下,临时表中的数据就还存在,而当你退出当前SESSION的时候,临时表中的数据就全部没有了,当然这个时候你如果以另外一个SESSION登陆的时候是看不到另外一个SESSION中插入到临时表中的数据的。

即两个不同的SESSION所插入的数据是互不相干的。当某一个SESSION退出之后临时表中的数据就被截断(truncatetable,即数据清空)了。会话级的临时表创建方法: CreateGlobalTemporaryTableTable_Name (Col1Type1,Col2Type2...)OnCommitPreserveRows;举例: createglobaltemporarytableStudent(Stu_idNumber(5),Class_idNumber(5),S tu_NameVarchar2(8), Stu_Memovarchar2(200))onCommitPreserveRows;2.2事务级临时表 事务级临时表是指该临时表与事务相关,当进行事务提交或者事务回滚的时候,Oracle临时表中的数据将自行被截断,其他的内容和会话级的临时表的一致(包括退出SESSION的时候,事务级的临时表也会被自动截断)。事务级临时表的创建方法: CreateGlobalTemporaryTableTable_Name (Col1Type1,Col2Type2...)OnCommitDeleteRows;举例: createglobaltemporarytableClasses(Class_idNumber(5),Class_NameVarchar 2(8), Class_Memovarchar2(200))onCommitdeleteRows;2.3两种类型临时表的区别会话级临时表采用oncommitpreserverows;而事务级则采用oncommitdeleterows;用法上,会话级别只有当会话结束临时表中的数据才会被截断,而且事务级临时表则不管是commit、rollback或者是会话结束,Oracle 临时表中的数据都将被截断2.4临时表的不足之处

oracle创建表

CREATE TABLE DEPT(id NUMBER(7),name VARCHAR2(25)); 2、将Departments表中数据插入到DEPT表中 SELECT * FROM HR.DEPARTMENTS; INSERT INTO DEPT(ID,NAME) SELECT * FROM DEPARTMENTS; CREATE TABLE EMP (id NUMBER(7),last_name VARCHAR2(25),first_name VARCHAR2(25),dept_id NUMBER(7)); 4、修改EMP表,允许输入更长(50)员工的姓氏(LAST_NAME) ALTER table EMP modify(last_name varchar2(50)); 5、在数据字典中确认DEPT表和EMP表的创建结果 DESCRIBE dept; DESCRIBE emp; 6、根据表Employees的结构创建表Employees2表,仅包含EMPLOYEE_ID、FIRST_NAME、 LAST_NAME、SALARY和DEPARTMENT_ID。将新表中的各列分别命名为EMPLOYEE_ID、FIRST_NAME、LAST_NAME、SALARY和DEPT_ID CREATE TABLE employees2 as SELECT employee_id,first_name,last_name,salary,department_id dept_id FROM employees; 7、删除EMP表 HR> drop table emp; 8、将EMPLOYEES2表重命名为EMP HR> alter table employees2 rename to emp; 9、删除表EMP的FIRST_NAME列,并确认

优秀管理者十大必备素质

优秀管理者十大必备素质 优秀管理者十大必备素质之一:具有令人尊敬的人格魅力 具有令人尊敬的人格魅力列为优秀管理者十大必备素质之首,是因为没有人喜欢在一个道德品质存在问题的人手下干活,要成为优秀的管理者,必然不能去做违背道德准则的事。暗地里搞你一下,整他一下,这样的人也许能获得一时的成功,但他绝不是一个优秀的管理者,而且说不定有一天会被别人整死。 优秀管理者十大必备素质之二:掌握管理学理论 具有管理学理论指导的管理者,才可能是一个正规兵,完全凭过去的经验、道听途说获取管理方法的管理者只能说是一个土八路。有时候,土八路也能打胜仗,但不具有可复制性。科学的管理方法将指导管理者选择使用合适的管理工具、管理手段应对变幻莫测的现实世界。土八路凭借自己的经验及脑袋去应对,难免会出现各种差错。通过掌握科学的管理学理论,建立适合本企业的可复制的管理体系,是优秀管理者的必备素质。 优秀管理者十大必备素质之三:具有创新的管理思路 优秀的管理者必须要有创新的管理思路,绝对不能人云亦云,仅仅做好手头的工作并不需要太多的管理思路,但如果要带领团队去获得更新的成果、创造新的价值则必须要有创新的管理思路,能想常人所不能想,能不断地有新的思维火花出现。 优秀管理者十大必备素质之四:强大的人际协调能力 一个优秀的管理者,必须要有强大的人际协调能力,能向上要资源,向下要成果。一个管理者掌握了管理学理论,有了管理思路,还需要能将自己的思想巧妙地表达出去,能让上级认同你的思路,能让下属执行你的指令。 举个例子,你认为你的部门需要搞一次活动激励一下士气,如果你直白地和老总说我们部门要搞一次活动,你的上级可能会否决你的想法;如果你写一份书面的申请,列出申请的理由,效果可能会好一些,但还是可能被否决;如果你去找老总,说:最近我们部门员工加班比较多,士气不够高,有没有什么好的办法来提高一下士气?这时,你的老总会帮你出主意,“建议你们搞个活动”。这里运用了一个小小的技巧,就是让你的老板来做决策。 人际协调能力中最主要的就是说服他人的能力,优秀的管理者应掌握这个能力。 优秀管理者十大必备素质之五:善于自我包装 优秀的管理者还需要能进行自我包装,通过个人外表形象的包装,树立管理者职业化的形象,通过演讲、著作等内在思想的表达,树立管理者管理内涵的形象。管理者的内在形象和外在形象有助于帮助管理者建立晕轮效应,提高个人影响力,使下属员工愿意跟随管理者。 优秀管理者十大必备素质之六:善于激励下属和自我激励 激励是人力资源管理的一项重要职能,是否善于激励下属,直接影响下属的工作绩效。许多管理者是技术出身,缺乏与人交往的经验于技巧,在激励下属的技巧

oracle创建表基础

?VARCHAR2(size)和NVARCHAR2(size):变长字符型数据。 首先,该数据类型存储变长的字符数据,在使用该数据类型定义数据时,该数据的存储区大小是不固定的,依据存储数据的长度进行动态分配存储区。参数size是该变量存储的最大的字符数,该值最大为4000。size的最小或默认值都是1。一般在定义该数据类型时,都要指定该长度值,即指定size值。NVARCHAR2(size)的不同之处在于它支持全球化数据类型,支持定长和变长字符集。 ?CHAR(size) NCHAR(size):定长字符型数据 该数据类型一旦定义,则存储该变量的存储区的大小就固定下来。显然在存储区分配上它没有VARCHAR2(size)和NVARCHAR2(size)数据类型具有动态性,但是在实际中,如果可以预测到一个变量存储的字符数量,且数量不是很大,则最好还是使用定长字符型数据来定义该变量,这样可以提高存储的效率。因为使用变长字符型数据要不断的计算存储的数据长度,再分配存储数据块,会消耗计算资源。定长字符型数据的最小值和默认值都为1个字符,而最大值为2000。NCHAR(size)的不同之处在于它支持全球化数据类型,支持定长和变长字符集,此时定长字符型数据的最小和默认值都为1个字节。 ?DATE:日期型数据 ORACLE服务器使用7个定长的存储区存储日期型数据,它可以月,年,日,实际,时,分和秒。日期型数据的取值范围从公元前4712年1月1日到公元9999年12月31日。 ?NUMBER(P,S):数字型数据。 参数p指十进制数的中长度,s为该十进制数小数点后的位数,如NUMBER(10,2)表示该数字型数据的中长度为10位,而小数后为2为。其中参数p的最大值为38,最小值为1,而参数s的最大值为124,最小值为-84。

Oracle 建表(一对多)代码及相关约束示例

建表(一对多)代码及相关约束 create table t_class( c_id number(3) primary key, c_name varchar2(20) not null ); create table t_stu( s_id number(5) primary key, s_name varchar2(8) not null, sex char(2) default '男', birthday date, school_age number(2) check(school_age>0), school_score number(5,2), c_id number(3), id_card char(18) unique, foreign key(c_id) references t_class(c_id) ); 附:测试数据: insert into t_class values(1,'订单班'); insert into t_class values(2,'开发班'); insert into t_class values(3,'美工班'); insert into T_STU (S_ID, S_NAME, SEX, BIRTHDAY, SCHOOL_AGE, SCHOOL_SCORE, C_ID, ID_CARD) values (1, 'a', '男', to_date('01-01-1980', 'dd-mm-yyyy'), 24, 90, 1, null); insert into T_STU (S_ID, S_NAME, SEX, BIRTHDAY, SCHOOL_AGE, SCHOOL_SCORE, C_ID, ID_CARD) values (2, 'b', '男', to_date('11-05-1981', 'dd-mm-yyyy'), 23, 80, 1, null); insert into T_STU (S_ID, S_NAME, SEX, BIRTHDAY, SCHOOL_AGE, SCHOOL_SCORE, C_ID, ID_CARD) values (3, 'c', '女', to_date('19-09-1982', 'dd-mm-yyyy'), 22, 50, 1, null); insert into T_STU (S_ID, S_NAME, SEX, BIRTHDAY, SCHOOL_AGE, SCHOOL_SCORE, C_ID, ID_CARD) values (4, 'd', '女', to_date('28-01-1984', 'dd-mm-yyyy'), 21, 80, 2, null); insert into T_STU (S_ID, S_NAME, SEX, BIRTHDAY, SCHOOL_AGE, SCHOOL_SCORE, C_ID, ID_CARD)

管理者必备的10种能力和10个素质

管理者必备的10种能力和10个素质 企业管理者是很多职场人的职业发展目标,毕竟管理者要比普通员工拥有更多的好处,不管是待遇上的还是发展前景上的。然而,管理者并不是你想象的那么简单,有的人懵懵懂懂地当上了管理者,却发现玩儿不转,不得不退位让贤!管理者需要怎样的能力和素质呢?请看下文。 一、管理者的10大关键能力 1、思维能力 能够通过分析、综合、概括、抽象、比较、具体化和系统化等一系列过程,对材料进行加工并转化为理性认识及解决问题。 2、计划规划能力 既有从宏观上对组织战略性的、长期的、方向性的问题的管理能力,又有从微观上对具体事务的预计、谋划能力。 3、组织协调能力 能发掘部属才能,善于组织人力、物力和财力,协调各种资源。 4、决策能力 依据事实而不是想象进行决策,有高瞻远瞩的能力。 5、人事关系能力 重视和采纳别人的合理化建议,行事不武断。 6、激励能力 依据他人的行为活动规律,采取有效的方法,充分调动和发挥工作积极性。 7、应变能力 面对变化的情况和突发事件迅速作出反应,采取适当方法和措施予以妥善解决。 8、心理承受能力 在遇到困境和风险时,有遇事不乱的风范和承担风险的勇气。 9、创新能力 对新事物、新环境、新观念有敏锐的接受能力,并能开创新的局面。 10、合作能力 能赢得他人的合作,愿意与其他人一起工作,对人不是压服,而是说服和感服。

二、管理者应具备的十种素质 1、处事冷静,但不优柔寡断 出色管理者都具有处事冷静的特点,他们善于考虑事情的多个方面或问题涉及的各利害关系方,不易冲动行事。 优秀管理者虽然处事冷静,但并不优柔寡断,他们往往会在周密思考后果断作出决定或清晰地阐明自己的观点。 具有这种特征的管理者往往能使事情或问题得到比较妥当的处理,同时又有利于形成良好的人际关系。 2、做事认真,但不事事求“完美” 出色管理者深知经商和科研不一样。科研侧重追求的是严谨、精益求精;经商侧重追求的是效益、投入产出比。 出色管理者做事非常认真仔细,但他们同时也非常懂得什么事情需要追求“完美”(尽善尽美),什么事情“差不多就行”(达到基本标准)。 具有这种特征的管理者往往能把事情“做对”,并且能比一般人更容易创造出价值。 3、关注细节,但不拘泥于小节 出色管理者善于关注事情的细节,善于留意观察身边的人和事。他们善于抓住问题的要害,善于将问题“扼杀”在萌芽状态。 出色管理者虽然善于关注细节,但他们不会过分拘泥于小节,不会在意别人的一点小过错或小过失。 具有这种特征的管理者往往能大幅度减少“问题”的发生,日常管理工作也会井然有序。 4、协商安排工作,绝少发号施令 管理者不是发号施令的“监工”。一个能让下属主动“追随”的管理者,依赖的是他(她)的个人魅力和领导力,而不是他(她)手中的“权利”。 出色的管理者绝少对下属发号施令,他们往往采用和下属商量的方式布置和安排工作。 具有这种特征的管理者往往能让下属真正“心甘情愿”地完成好被安排的任务,这样的管理者也往往能营造出和谐团结的团队氛围。 5、关爱下属,懂得惜才爱才 出色管理者善于尊重和关爱下属,他们往往视同事如“兄弟”,懂得怎样去珍惜和爱护与自己朝夕相处、共同拼搏的“战友”。

Oracle tablespace创建参数

Oracle tablespace创建参数 ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Oracle会提示:没有存储配额.因此,在创建对象之前,首先要分配存储空间. 分配存储,就要创建表空间: 创建表空间示例如下: CREATE TABLESPACE "SAMPLE" LOGGING DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO 上面的语句分以下几部分: 第一: CREATE TABLESPACE "SAMPLE" 创建一个名为 "SAMPLE" 的表空间. 对表空间的命名,遵守Oracle 的命名规范就可了. ORACLE可以创建的表空间有三种类型: (1)TEMPORARY: 临时表空间,用于临时数据的存放; 创建临时表空间的语法如下: CREATE TEMPORARY TABLESPACE "SAMPLE"...... (2)UNDO : 还原表空间. 用于存入重做日志文件. 创建还原表空间的语法如下: CREATE UNDO TABLESPACE "SAMPLE"...... (3)用户表空间: 最重要,也是用于存放用户数据表空间 可以直接写成: CREATE TABLESPACE "SAMPLE" TEMPORARY 和 UNDO 表空间是ORACLE 管理的特殊的表空间.只用于存放系统相关数据. 第二: LOGGING 有 NOLOGGING 和 LOGGING 两个选项, NOLOGGING: 创建表空间时,不创建重做日志. LOGGING 和NOLOGGING正好相反, 就是在创建表空间时生成重做日志. 用NOLOGGING时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没能日志,数据丢失后,不能恢复,但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完表空间,并导入数据后,是要对数据做备份的,所以通常不需要表空间的创建日志,因此,在创建表空间时,选择NOLOGGING,以加快表空间的创建速度. 第三: DATAFILE 用于指定数据文件的具体位置和大小. 如: DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M

相关主题
文本预览
相关文档 最新文档