本地管理表空间与字典管理表空间的比较
本地管理表空间与字典管理表空间相比大大提高了管理效率和数据库性能,其优点如下: 1.减少了递归空间管理 本地管理表空间是自己 管理分配,而不是象字典管理表空间需要系统来管理空间分配,本地表空间是通过在表空间的每个数据文件中维持一个位图来跟踪在此文件中块的剩余空间及使用情 况。并及时做更新。这种更新只对表空间的额度情况做修改而不对其他数据字典表做任何update操作,所以不会产生任何回退信息,从而大大减少了空间管 理,提高了管理效率。同时由于本地管理表空间可以采用统一大小分配方式(UNIFORM),因此也大大减
关于在isqlplus里以sysdba身份登陆
从oracle9i开始,oracle提供了web方式的sqlplus界面,通过isqlplus,用户可以不需要安装任何oracle客户端,就能够通过浏览器方式的sqlplus进行数据操作与数据库管理。普通的数据库用户可以直接通过isqlplus的网址http://ip:port/isqlplus登陆,进入该网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆;但如果是DBA用户登陆isqlpus,则需要首先配置isqlplus dba的用户和口令,然后输入网址http://ip:port/isqlplus/dba,进入该网址后首先会弹出一个登陆框,要求先输入iSQL*Plus DBA的用户和密码,注意这里不是数据库用户
Oracle dba和sysdba的区别
SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS。 sysdba身份登陆可以打开,关闭数据库,创建SPFILE,对数据库进行恢复操作等,而这些是DBA角色无法实现的; sysdba 是系统权限,dba是用户对象权限; sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,他就已经存在; 以sysdba身份登陆,装载数据库、打开数据库,只有数据库打开了,或者说整个数据库完全启动后,dba角色才有了存在的基础; dba是一种role对应的是对Oracle实例里对象的操作权限的集合,而sysdba是
object_id和data_object_id
其实object_id和data_object_id同样是表示数据库对象的一个唯一标志,但是object_id表示的是逻辑id,data_object_id表示的是物理id。如果一些object没有物理属性的话那它就不存在data_object_id,例如procedure,function,package,data type,db link,mv定义,view定义,临时表,分区表定义等等这些object都是没有对应着某个segment,因此它们的data_object_id都为空。当表刚创建的时候它的object_id和data_object_id都是相等的,但是如果表经过move或truncate后那么data_object_id将会有变化。SQL 10G>select object_id,data_object_id fro
Oracle中查看所有表和字段
获取表:select table_name from user_tables; //当前用户的表 select table_name from all_tables; //所有用户的表 select table_name from dba_tables; //包括系统表select table_name from dba_tables where owner='用户名' user_tables:table_name,tablespace_name,last_analyzed等dba_tables:ower,table_name,tablespace_name,last_analyzed等all_tables:ower,table_name,tablespace_name,last_analyzed等all_objects:ower,object_name,subobject_name,object_id,created,last_ddl_time,timestamp,status等 获取表字段:
Linux中支持backspace问题
可以使用 ctrl+backspace来执行退格删除。也可以通过修改tty的配置将退格删除改为直接使用backsapce,直接输入在shell中执行 stty erase ^h 即可。并且可以将该命令加入到profile文件中,以后就可以自动支持backspace按键了。[@more@]
关于高水位标记(HWM)的概念
在oracle中,高水位标记是指段至启动以来增长到的最大大小,在表中,高水位标记指该表所使用的最后一个块,向表中插入数据时,高水位标记会移动来标记最后使用的块,当删除数据时,高水位标记不会重新设置,当oracle服务器执行全表扫描时,它会读取高水位标记以下所有的块。高水位标记存储在表的段头部。 从上面这段定义,我们可以想象,新建两张表,向其中一张表插入一条数据,另一张插入1000万条,再删除999万条,查询这两张表,所耗费的资源显然是不同的,查询前一张表更快一些,因为它读的数据块更少。 使用alter table table_n
将Windows环境的SQL Plus提示信息修改为“英文”
1)进入Windows注册表方法点击Windows操作系统的左下角的“开始”(“start”),然后点击“运行”(Run),最后输入“regedit”回车后便可进入到注册表界面。2)在注册表中按照下面的过程导航,即可定位到NLS_LANG变量“My Computer” --> “HKEY_LOCAL_MACHINE” --> “SOFTWARE” --> “ORACLE” --> “KEY-OraDb10g_home1”此时在注册表的右侧就能发现“NLS_LANG”的身影了3)双击“NLS_LANG”,把内容替换为“AMERICAN_AMERICA.ZHS16GBK”即可。[@more@]
转载关于redo和undo的剖析
感觉描述的很清楚,适合我这种初学者看~redo--> undo-->datafile insert一条记录时,表跟undo的信息都会放进 redo 中,在commit 或之前, redo 的信息会放进硬盘上。 故障时, redo 便可恢复那些已经commit 了的数据。redo->每次操作都先记录到redo日志中,当出现实例故障(像断电),导致数据未能更新到数据文件,则数据库重启时须redo,重新把数据更新到数据文件。undo->记录更改前的一份copy,但你系统rollback时,把这份copy重新覆盖到原来的数据 redo->记录所有操作,用于恢复(redo records all the database trans
关于表的最大列数
今天在看concept,不过看的实在是不够仔细,对于一个表最多有多少列差点弄混了,刚才仔细看了一下,1个行片段(row piece)最多能存储255列,而一个表最多能够存储1000列,写下来免得以后又忘掉[@more@]
数据库控制文件
控制文件中包含了所属数据库的信息,实力启动及正常工作期间都需要存取这些信息,控制文件的内容只能由oracle修改,数据库管理员或用户都不应该编辑控制文件 控制文件中主要包含以下内容:1、数据库名2、数据库创建时的时间戳3、数据库的数据文件及重做日志文件的名称及存储位置4、表空间信息5、脱机的数据文件(datafile offline ranges)6、日志历史信息7、归档日志信息8、备份集及备份块信息9、数据文件及重做日志的备份信息10、数据文件复制信息11、当前日志的sequence number12、检查点信息[@more@]
一点点笔记
一、本地管理的临时表空间使用的临时数据文件与普通数据文件类似,但是有如下区别:1、临时文件总是处于nologging模式2、用户不能将临时文件设为只读3、用户不能使用alter database 语句创建临时文件4、介质恢复不能识别临时文件5、当用户创建临时文件或改变其容量时,oracle并不保证按照用户指定的文件容量为其分配磁盘空间,在某些文件系统中(例如unix)磁盘块并不会在文件创建或改变容量时分配,而是在其被使用之前才分配二、提示:如果一个数据库的system表空间为本地管理的,那么在此数据库中不能创建数据字典管理的表空间,但是用户
和参数相关的几个视图(转)
1.v$spparameter 这里的sp就是server parameterdoc对它的解释是:This view displays the current contents of the server parameter file. The view returns FALSE values in the ISSPECIFIED column if a server parameter file is not being used by the instance.验证一下:SQL> connect / as sysdba已连接。SQL> show parameter spfileNAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string
今天的笔记
数据字典由4部分组成,内部RDBMS(X$)表,数据字典表,动态性能(V$)表,数据字典视图查询数据库字符集的sql语句:select userenv('language') from dual;[@more@]
这是我的第一个博客,纪念一下吧,也算是够老土的啦,呵呵
今天开始,争取每天在这个博客上写点每天学到的新东西,希望能坚持下来~[@more@]