段的创建表user_segments
1、段的定义及类型Oracle中的段(segment)是占用磁盘空间的一个对象,最常见的段类型包括:l 聚簇clusterl 表tablel 表分区 tablepartitionl 索引 indexl 索引分区l Lob分区lob partition、lob子分区lobsubpartition、lob索引lobindex、lob段lob segmnentl 嵌套表 nestedtablel 回滚段rollback详细介绍可见《编程艺术》P3132、段的创建在表、索引等创建的过程中(在11gR2中,段的创建要等到第一条数据被插入时),事实上即在创建段,从user_segment可以查看已创建的段(1)创建一个基本表,查看所分配的段10.2.0.4:[sql] view plain
Oracle从软件安装到运行的全流程
1、软件刚安装完成此时只有一堆软件,未生成任何与数据库相关的文件及内容。2、sqlplus /nolog连接了数据库软件,但未任何具体数据库关联,此时也无任何与具体数据库相关的文件及内容。此时产生一个服务器进行。3、create database此步骤使用create database命令或者OUI创建数据库,生成相关的参数文件、控制文件及数据文件。4、startup nomount读取参数文件,然后根据参数文件的内容创建实例,包括分配SGA及启动后台进程。同时找到控制文件,为下一步作好准备。参数文件记录了SGA大小及其分配,控制文件位置、flash位置,blocksize等信息
Scanf连续调用多次并且存在%c的问题
问题现象:当程序中存在多个scanf时,针对第一个scanf的输入,一般用户会以空白字符(空格、换行、tab、换页符)等结束。但若后面有一个scanf(“%c”,&ch),则刚才输入的空白字符会被此次的scanf读入,因此空白字符也是一个字符,此将导致ch为空。原因解释:scanf的工作原理:(一般情况,即格式串中没有其它字符)用户的任何输入将被保存在缓冲之中,当有scanf时,scanf则从此缓冲队列中读取字符,直至遇到空白字符或者是此字符不可能是本次的输入为止,并把此字符放回原队列,此字符成为队列的第一个字符。当下一次scanf被调用时,
数据库崩溃后对redo log的使用
用户对数据库做的任何操作均会产生redo log,事实上是先把redo log写到redo log cache中,再把实际数据更改写至buffer cache中。Redo log会在以下情况从redo log cache写至online redo log file中:l 每隔3秒钟l Redo log cache使用了1/3l 当数据库定写入器通知重做记录需要写入磁盘时。即在数据写入数据文件前。但若此时数据库发生崩溃,而部分数据未写至data file中,则:(1)对于未提交事务,执行撤销操作。(是否有可能未commit,但数据已经写入data file。若yes,则有可能buffer cache满了,下次读取数据从data file读取,导致未co
SQL语句、PL/SQL语句、SQL*PLUS语句结束符号
(1)SQL语句以;或者/结束语句。(2)PL/SQL语句以/结束语句。(3)SQL*PLUS语句以换行符结束语句。[@more@]
Oracle学习计划
这两天,在网上参考了大量的文档,制定了Oracle学习的读书计划,共分三个阶段: 第一阶段: 目标: 系统学习、巩固基础。 书籍: (1)Oracle Concept, Oracle Performance Tuning Guid, Oracle database administrator’s Guide。 (2)三本书籍:Oracle SQL高级编程、Oracle Database 11g数据库管理艺术、Oracle Database 9i/10g/11g编程艺术。 备注: (1)本阶段6本书均为经典,在日后还需重复翻阅。 (2)多上ITPUB,参考帖子讨论,阅读其它人的文章,并写自己的博客。 第二阶段: 目标:
Linux学习路径
红色字体为本人注释很多同学接触Linux不多,对Linux平台的开发更是一无所知。而现在的趋势越来越表明,作为一 个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段。下来我将会结合自己的几年的个人开发经验,及对 Linux,更是类UNIX系统,及开源软件文化,谈谈Linux的学习方法与学习中应该注意的一些事。 就如同刚才说的,很多同学以前可能连Linux是什么都不知道,对UNIX更是一无所知。所以我们从最基础的讲起,对于Linux及UNIX的历史我们不做多谈,直接进入入门的学习。 Linux入门是很简单的,问题是
一年足迹记录
自2011年11月首次出差至西安,至2012年12月东北之旅,在一年的时间里畅游了11个省,以后不知道还有没有这种激情,于是先把这经历记录下来。回想这一年,感受到西藏的缺氧,也感受过在青城山上的醉氧;在零下26度玩过雪,也在炎热的海南玩过水;欣赏过西北大地的壮观,也欣赏过江南的温婉;见识过香港的繁华,也曾沉醉于乌镇的宁静……行程如下,之后将逐期分享每个旅程:2011年11月中旬:陕西西安、宝鸡、渭南2011年12月中旬:上海、嘉兴乌镇2011年12月下旬:北京2012年3月中旬:四川成都、都江堰2012年4月中旬:海南海口、三亚2102年5月上
使用sys无法通过sqlplus或者sqldeveloper连接数据库
现象:用sql developer或者sqlplus连接数据库,提示:ORA-01017: invalid username/password; logon denied。一般用户可以连接,因为这些用户是使用数据字典认证的。其它实例的sys用户也用正常连接。 处理过程:(1)之前密码一直可用,周一上班发现不行,可能有人改了密码,于是用oracle用户登录数据库服务器,再使用OS认证登录数据库,使用alter user sys identified by ****,修改密码后,还是提示ORA-01017(2)查看dba_users,sys的状态是open。(3)查看密码文件是否丢失: 在单实例中,密码文件的保存路径为$ORACLE_HOME/dbs