oracle基础
文章平均质量分 72
Sharqueen
Dave said The import thing in life is to have a great aim and the determination to attain it .I say yes.
展开
-
【SQL】Oracle 数据库的绑定变量特性及应用
Oracle 数据库的绑定变量特性及应用关键词:绑定变量(binding variable),共享池(shared buffer pool),SGA(system global area);在开发一个数据库系统前,有谁对Oracle 系统了解很多,尤其是它的特性,好象很少吧;对初学者来讲,这更是不可能的事情;仅仅简单掌握了SQL的写法,就开始了数据库的开发,其结果只能是开发一个没有效率转载 2014-09-22 10:51:38 · 1111 阅读 · 0 评论 -
【道森试听】sql基础——飞雪老师
--Case when 相当于 if elseselect ename,sal,case deptno when 10 then '会计部' when 20 then '研究部' when 30 then '销售部' else '其他部门' end 部门 from emp ;--根据部门编号,--如果部门编号为10的,显示为会计部--如果部门编号为20的原创 2013-04-12 11:08:13 · 1424 阅读 · 0 评论 -
【道森试听】索引——道道老师
多快读,默认20个何为OLTP,OLAP?事务型(关系型数据库),分析型(针对数据仓库)OLTP以业务为主,e.g.邮箱公司,主要业务:收发邮件,对数据库做插入操作。倾向于管理。OLAP有很多数据库、数据,将数据转化为所需要的,进行分析,得出经营策略(决策分析系统),倾向于查询分析。索引作用:使查询更快全表扫描:影响所有数据库现在主要的瓶颈是什么?——I/O原创 2013-04-12 10:14:11 · 1248 阅读 · 0 评论 -
【配置linux】最低要求
512M 的物理内存:这是正常运行oracle数据库服务器所必须的。但这只是最低要求,要达到最佳的运行性能,还需要更多的内存。1GB 的交换空间:交换空间的大小通常被设置为物理内存的2倍。对于物理内存超过2GB的系统,交换空间则可以被设置成物理内存的1~2倍。物理内存越大,对交换空间的使用就越少。/tmp至少必须有 400MB空间:如果/tmp分区作为一个单独的分区,至少需要400原创 2013-04-15 16:50:26 · 2082 阅读 · 0 评论 -
【配置linux】配置文件系统
linux文件系统最少可以只有三个分区,多则不限。linux的最低配置必须至少含有以下两个分区:/,根分区:这是初始的分区,所有其他分区都必须创建到根分区中的子目录下面。swap,交换分区:交换分区不会作为标准文件系统进行安装,但它却是linux运行必不可少的一个分区。交换分区(可能有多个)必须按照最低要求(1GB)进行配置。除了最其要求的文件系统以外,还可以针对不同的功能创建不同的分原创 2013-04-15 17:17:21 · 1108 阅读 · 0 评论 -
【安装oracle——准备工作】配置内核参数+添加用户组及用户+为oracle用户配置shell限制+创建目录结构+设置oracle环境
一、配置内核参数为了让oracle数据服务器正常运行,必须配置一定的操作系统资源。默认情况下,这些资源的设置不足以满足oracle 10g数据库的正常启动与运行。不过好在linux操作系统允许动态修改这些参数,使得内核参数调整以后不用重新启动操作系统。修改内核参数的方法有好几种,比如可以通过修改/proc伪文件系统的方法动态地修改内核参数。除了修改内核参数的方法以外,/proc文件系统还含原创 2013-04-15 22:45:02 · 1731 阅读 · 0 评论 -
索引性能好不好让二元高度来说话
作为数据库管理员来说,要在表上建立索引很简单。但是要知道这个索引是否合适、如何优化索引则就具有一定的难度。这项工作也是用来评价一个数据库管理员是否算得上专家的一个重要指标。那么为什么索引优化有这么大的难度呢?这主要是因为索引优化是考察一个数据库管理员经验的时候。笔者今天就跟大家分享一下这方面的管理经验。 其实在数据库中本身就提供了一些比较有参考价值的信息,可以帮助管理员来做好索引的设计与优化转载 2013-04-12 15:14:45 · 802 阅读 · 0 评论 -
分析函数
分析函数——杨朔 分析函数是Oracle从8.1.6开始引入的一个全新的概念,用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。在分析函数出现以前,有时我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现才能得到我们需要的查询结果。自从有了分析函数,我们实现这些功能往往只要一条简单的SQL语句就可以了,同时,在执行效率方转载 2013-04-12 14:06:31 · 1337 阅读 · 0 评论 -
【索引】访问方式
索引访问方式(1)INDEX UNIQUE SCAN唯一索引扫描,唯一索引即做单一匹配。在唯一索引中,每个非空键值只有唯一的一条,主键也是唯一索引。示例:SQL> execsql_explain('select * from emp where empno=8888'); Plan hash value:2949544139 ----------------原创 2013-04-11 16:09:59 · 1054 阅读 · 0 评论 -
【道森试听】执行计划+光标移动大法——落落
执行计划SQL> grant dba to scott;Grant succeeded.SQL> conn scott/scottConnected.创建测试表testSQL> create table test as select * fromdba_objects;Table created.查看执行计划SQL> explain plan for selec原创 2013-04-18 09:59:30 · 4528 阅读 · 7 评论 -
【道森试听】坏块处理(data block)——Roger大师
数据库坏块是指由于硬件错误等问题导致数据库在写入数据块时出现异常(nologing也可能导致).通常,我们将坏块分为2类,物理坏块和逻辑坏块。产生原因:硬件io问题,操作系统问题内存错误,磁盘修复导致例如fsck,oracle本身问题以及nologging操作等等。Badheader - the beginning of the block (cache header)is corru原创 2013-04-18 15:03:30 · 2409 阅读 · 0 评论 -
【道森试听】控制文件——Dave偶像
Oracle控制文件1、概念在讲控制文件之前,我们看2个概念。物理组成:数据库由数据文件、控制文件、日志文件、参数文件、口令文件、日志归档文件组成。Instance:实例由内存结构(memory structure)和后台进程(backgroundprocessor)组成。控制文件说明:控制文件是oracle 数据库的一个入口文件,通过控制文件,数据库可以找到dat原创 2013-04-17 11:13:35 · 2548 阅读 · 0 评论 -
DBA_SCHEDULER_JOBS——gather_stats_job
GATHER_STATS_JOB今天检查alert日志的时候发现以下报错:ORA-1652:unable to extend temp segment by 128 in tablespace TEMP MonNov 25 22:57:07 2013GATHER_STATS_JOB encountered errors. Check the trace file.MonNov原创 2013-11-26 10:11:42 · 1889 阅读 · 0 评论 -
dbca不能delete数据库+db开机自启动
一、dbca不能delete数据库装了实例,但是dbca后不能选中delete a database选项,如下图 解决方法,在/etc/oratab文件里添加实例的信息:[root@custest ~]# cat /etc/oratab |grep -v"#"custest:/u02/oracle/product/10.2.0/db:N 格式:原创 2013-10-11 14:00:53 · 1377 阅读 · 0 评论 -
set define off ——插入特殊字符,如&
在插入数据遇到&时,oracle会认为是个变量,要求输入值。原因在于oracle将&定义为自定义变量。SQL> show all appinfo is OFF and set to "SQL*Plus"arraysize 15autocommit OFFautoprint OFFautorecovery OFFautotrace OFFblocktermin原创 2013-08-19 17:26:24 · 7911 阅读 · 1 评论 -
【基础知识】什么时候需要commit?
COMMIT对于commit,官方文档《SQL Language Reference》解释如下:PurposeUse the COMMIT statement to end your current transaction and makepermanent all changes performed in the transaction. A transaction is a s原创 2013-07-31 14:31:22 · 1831 阅读 · 0 评论 -
exp/imp三种模式——完全、用户、表
ORACLE数据库有两类备份方法。第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。 数据库逻辑备份方法 ORACLE数据库的逻辑备份分为三种模式:表备份、原创 2013-05-22 15:13:52 · 1708 阅读 · 0 评论 -
【道森试听】数据字典——Dave偶像
好了,现在开始我们今天的正式内容: oracle 数据字典,动态性能视图和参数。 二. 数据字典 思考:Oracle 软件是由什么语言写的?C语言。而给我们展现出来的一些安装界面都是外包给印度阿三写的。真正底层核心的C代码,都是在美国总部来写的。 我在这里给你们描述一个关于数据库比较抽象的概念,这个是Dave自己的理解。 数据库主要是为了存放数据,为了性能考虑,原创 2013-05-02 13:18:52 · 1293 阅读 · 0 评论 -
【道森试听】参数文件——Dave偶像
oracle 运维需要注意的参数。Oracle 参数文件说明一、spfile与pfile说明思考:那么这2者是什么关系?或者说有什么联系?数据一样,格式不同,可以互相转换Pfile存在的意义——可以修改这2个文件里保存的内容是一样,但Pfile就是普通的文本文件,我们可以直接修改,spfile是二进制文件。不能直接进行修改。oel57t1:oracle:rac2 > c原创 2013-04-19 14:17:56 · 1303 阅读 · 0 评论 -
【索引分类】位图连接索引
位图连接索引位图连接索引是基于两个表的连接的位图索引,在数据仓库环境中使用这种索引改进连接维度表和事实表的查询的性能。创建位图连接索引时,标准方法是连接索引中常用的维度表和事实表。当用户在一次查询中结合查询事实表和维度表时,就不需要执行连接,因为在位图连接索引中已经有可用的连接结果。通过压缩位图连接索引中的ROWID进一步改进性能,并且减少访问数据所需的I/O数量。创建位图连接索引时,指定原创 2013-04-11 15:35:53 · 1356 阅读 · 0 评论 -
【索引分类】分区索引
分区索引分区索引就是简单地把一个索引分成多个片断。通过把一个索引分成多个片断,可以访问更小的片断(也更快),并且可以把这些片断分别存放在不同的磁盘驱动器上(避免I/O问题)。B树和位图索引都可以被分区,而HASH索引不可以被分区。可以有好几种分区方法:表被分区而索引未被分区;表未被分区而索引被分区;表和索引都被分区。不管采用哪种方法,都必须使用基于成本的优化器。分区能够提供更多可以提高性能和可原创 2013-04-11 15:25:22 · 1086 阅读 · 0 评论 -
检查点checkpoint
检查点进程确保脏缓冲区能够最终被写回磁盘。ORACLE使用CKPT后台进程或者LGWR进程来触发检查点。检查点通过定期将脏缓冲区强制写回的手段来确保这些缓冲区被写回磁盘。检查点进程有两种运行方式:快速检查点和标准检查点。对于标准检查点,DBWR进程只在每次被激活时写回少量的缓冲区,这种类型的检查点执行的时间更长,但对系统的影响较小。对于快速检查点,DBWR进程每次被激活时需原创 2013-04-09 13:59:47 · 914 阅读 · 0 评论 -
创建表空间+rename重命名+修改管理方式+resize大小
普通表空间新建表空间test11,数据文件为/u01/oracle/oradata/primary/primary/test11.dbfSQL> createtablespace test1 datafile '/u01/oracle/oradata/primary/primary/test1.dbf' size10m;Undo表空间新建Undo表空间undotbs2:SQL〉原创 2013-04-09 10:26:37 · 1566 阅读 · 0 评论 -
查看表空间大小以及已占用空间大小
1、查看所有表空间大小select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;2、查看已使用大小select a.tablespace_name,total,free,total-free used from (selecttablespace_name,sum原创 2013-04-09 11:00:43 · 1278 阅读 · 0 评论 -
重命名表空间rename(非system)
Oracle9i或之前的版本:1) 创建一个新的表空间2) 将所有对象从原来的表空间拷贝到新创建的表空间中3) 删除原来的表空间Oracle 10g:直接使用重命名将表空间test重命名为test1;alter tablespace test1 rename to test11;SQL> select TABLESPACE_NA原创 2013-04-09 09:51:12 · 1289 阅读 · 0 评论 -
重做日志文件 redo log
重做日志文件用于存储重做信息。每次修改数据库中的数据时,都会记录一条描述此次修改的日志记录。利用这些信息,就可以在系统出现故障时重做已经提交的事务并回滚未提交的事务,从而恢复数据库。 若系统发生断电、部件故障等灾难性故障时,oracle实例将会终止,缓冲区中所有数据修改都将丢失,仅有那些已经写回磁盘的部分能够保存下来。当oracle重启之后,将利用重做日志文件中的信息将上一次写数原创 2013-04-09 16:14:51 · 1135 阅读 · 0 评论 -
pfile+spfile
Pfile(Parameter File,参数文件)是基于文本格式的参数文件,含有数据库的配置参数。SPfile(Server ParameterFile,服务器参数文件)是基于二进制格式的参数文件,含有数据库及例程的参数和数值,但不能用文本编辑工具打开。区别:启动次序 Spfile优先于Pfile。PFILE是静态文件,修改之后不会马上生效,数据库必须重新启动读取这个文件才行原创 2013-04-08 15:15:38 · 958 阅读 · 0 评论 -
oracle startup四个阶段
数据库启动阶段: shutdown->nomount->mount->opennomountstartup nomount: 1)$ORACLE_HOME/dbs下找初始化参数文件 a.spfile.ora b.spfile.ora c.init.ora d.init.ora2)启动原创 2013-04-08 15:00:21 · 1164 阅读 · 0 评论 -
user process+server process+PGA
一个用户发起到数据库的连接过程当用户发起连接时,oracle创建一个用户进程(user process)来运行这个SQL*Plus。在启动一个用户进程后,通过命令:conn ....建立与数据库的连接。此时oracle会创建一个Server Process来处理连接到实例的用户进程(User Process)提交的请求。用户进程连接到数据库并创建一个会话时,Oracle服务器进程会分配专门用于原创 2013-04-08 14:52:25 · 1562 阅读 · 0 评论 -
db_cache_size、shared_pool_size一些初始化参数为0?!
很奇怪,今天查询db_cache_size的时候发现value为0,后来查了下一些共享区,居然也是0。SQL> show parameter db_cache_sizeNAME TYPE VALUE----------------------------------原创 2013-04-10 10:05:50 · 6118 阅读 · 0 评论 -
USEREVN()+vize(x)+sys_context()
1.USEREVN()返回当前用户环境的信息,opt可以是:ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE1.ISDBA 查看当前用户是否是DBA如果是则返回trueSQL> select userenv('isdba') from dual;USEREN------FALSE转载 2013-04-10 10:34:17 · 879 阅读 · 0 评论 -
Commit+Savepoint
Commitcommit操作用于结束一个事务,并使事务中所做的数据修改永久生效。事务一旦提交以后,就不能再撤销,除非使用手工方式将数据块改回原状。commit操作确保事务中的所有操作都成功以后,才会向用户返回成功结果。要完成commit操作,必须执行以下几步:在撤销表空间(undo表空间)的事务表中写入事务的唯一系统该编号(system change number,SC原创 2013-04-10 13:28:05 · 1217 阅读 · 0 评论 -
【索引分类】基于函数的索引
基于函数的索引可以在表中创建基于函数的索引。如果没有基于函数的索引,任何在列上执行了函数的查询都不能使用这个列的索引。例如,下面的查询就不能使用JOB列上的索引,除非它是基于函数的索引:select *from emp whereUPPER(job) = 'MGR';下面的查询使用JOB列上的索引,但是它将不会返回JOB列具有Mgr或mgr值的行:select *from emp原创 2013-04-11 14:53:59 · 1456 阅读 · 0 评论 -
【索引分类】反转键(reverse key)索引
反转键索引当载入一些有序数据时,索引肯定会碰到与I/O相关的一些瓶颈。在数据载入期间,某部分索引和磁盘肯定会比其他部分使用频繁得多。为了解决这个问题,可以把索引表空间存放在能够把文件物理分割在多个磁盘上的磁盘体系结构上。为了解决这个问题,Oracle还提供了一种反转键索引的方法。如果数据以反转键索引存储,这些数据的值就会与原先存储的数值相反。这样,数据1234、1235和1236就被存储成原创 2013-04-11 14:41:10 · 1570 阅读 · 0 评论 -
【索引分类】索引组织表
索引组织表(IOT)索引组织表会把表的存储结构改成B树结构,以表的主键进行排序。这种特殊的表和其他类型的表一样,可以在表上执行所有的DML和DDL语句。由于表的特殊结构,ROWID并没有被关联到表的行上。对于一些涉及精确匹配和范围搜索的语句,索引组织表提供了一种基于键的快速数据访问机制。基于主键值的UPDATE和DELETE语句的性能也同样得以提高,这是因为行在物理上有序。由于键列的值在表原创 2013-04-11 14:35:26 · 862 阅读 · 0 评论 -
【索引分类】Hash索引
HASH索引使用HASH索引必须要使用HASH集群。建立一个集群或HASH集群的同时,也就定义了一个集群键。这个键告诉Oracle如何在集群上存储表。在存储数据时,所有与这个集群键相关的行都被存储在一个数据库块上。如果数据都存储在同一个数据库块上,并且将HASH索引作为WHERE子句中的确切匹配,Oracle就可以通过执行一个HASH函数和I/O来访问数据——而通过使用一个二元高度为4的B原创 2013-04-11 14:23:37 · 2794 阅读 · 0 评论 -
【索引分类】位图索引
位图索引位图索引非常适合于决策支持系统(Decision Support System,DSS)和数据仓库,它们不应该用于通过事务处理应用程序访问的表。它们可以使用较少到中等基数(不同值的数量)的列访问非常大的表。尽管位图索引最多可达30个列,但通常它们都只用于少量的列。例如,您的表可能包含一个称为Sex的列,它有两个可能值:男和女。这个基数只为2,如果用户频繁地根据Sex列的值查询该表,这就原创 2013-04-11 13:47:26 · 1309 阅读 · 0 评论 -
索引介绍
索引介绍——转自Dave的《TianleSoftware Oracle 学习手册》索引的创建语法CREATEUNIUQE | BITMAP INDEX .ON.(| ASC | DESC, | ASC | DESC,...)TABLESPACESTORAGE LOGGING | NOLOGGINGCOMPUTE STATISTICSNOCOMPRESS |转载 2013-04-11 10:41:06 · 692 阅读 · 0 评论 -
【索引分类】B树索引
B树索引(默认类型)B树索引在Oracle中是一个通用索引。在创建索引时它就是默认的索引类型。B树索引可以是一个列的(简单)索引,也可以是组合/复合(多个列)的索引。B树索引最多可以包括32列。索引的作用:通过遍历树的方式,迅速定位节点,并确定地址,所以搜索技术最核心的是遍历搜索技术。场合:非常适合数据重复度低的字段 例如 身份证号码 手机号码 QQ号等字段,常用原创 2013-04-11 13:38:07 · 1502 阅读 · 0 评论 -
trunc()函数
--Oracle trunc()函数的用法1.TRUNC(for dates)TRUNC函数为指定元素而截去的日期值。其具体的语法格式如下:TRUNC(date[,fmt])其中:date 一个日期值fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去下面是该函数的使用情况:TRUNC(TO_DATE(’24-Nov-199908:00原创 2013-04-11 10:27:08 · 991 阅读 · 0 评论