您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > ORACLE学习总结
ORACLE学习总结默认分类2008-06-0802:42:25阅读62评论0字号:大中小订阅一.文件系统和作用执行文件:Oracle系统的核心,数据文件只能被Oracle处理程序所识别,离开了可执行文件系统就无意义.存放可执行文件的空间一定要安全可靠.参数文件:启动实例时候配置Oracle数据库的一些基本信息,确定运行环境.参数文件应数据库不同而不同,命名方式为initsid.ora.控制文件:在Oracle服务器启动期间来标识物理文件和数据库结构的二进制文件.控制文件提供了建立新实例时候所需要的文件目录,可以在Oracle操作其间更新控制文件,可以建立多个控制文件副本,以便进行数据库恢复.数据文件:数据文件用来存放用户的数据,它的稳定性和完整性都十分重要.每个数据库都至少一个相关数据文件.联机重做日志文件:是数据库的事物日志,它用于恢复数据库.输出文件:它影响数据库的可恢复性,它由Oracle自带的输出程序生成,它在指定时间点上对数据库的数据和结构进行备份.它是数据库逻辑副本,而不是物理副本.临时文件:用以在内存不足以保存中间结果集的时候保存结果集.它不生成重做,即不生成联机重做文件.二:后台进程和作用后台进程的主要作用是为了提高数据库的性能和可靠性,没个进程都有自己的职责.pmon:监控服务器进程,确保能够销毁发生损坏或出现故障的进程,并释放资源.smon:负责重新启动系统,清楚临时段,执行盘区结合任务.确保系统达到一致性.dbwr:负责将缓存中的数据块写入到磁盘中.lgwr:日志写入器,负责向联机重做日志文件中写入已提交的事物处理.ckpt:检查点进程,负责使用最新的检查点信息更新所有控制文件和数据文件的标题.数据库写入器会周期性的将其缓寸写入到磁盘中,存储检查点.cjq0:负责管理和协调作业.arc0:归档器:主要负责备份联机重做日志中的事物,以防止他们被覆盖.三.系统表,视图和作用查看有关用户的信息:dba_users查看有关角色的信息:dba_roles,dba_role_privs,role_sys_privs查看有关系统权限的信息:dba_sys_privs查看当前数据库表空间状况:dba_tablespaces查看用户的系统权限:user_sys_privs查看某个用户对另外一个用户授予的权限:user_tab_privs_made查看某个用户对另外一个用户授予的列级权限:user_col_privs_made查看某个用户接受的权限:user_tab_privs_recd查看某个用户接受的列级权限:user_col_privs_recd查看有关用户的角色信息:user_role_privs查看有关授予某个角色的系统权限信息:role_sys_privs查看有关授予某个角色的对象权限信息:role_tab_privs查看当前用户所拥有的表信息:user_tables查看当前用户有权限访问的表信息:all_tables查看当前用户所拥有的所有表的列信息:user_tab_columns查看当前用户可以访问的表中的列信息:all_tab_columns查看当前用户所拥有的所有约束信息:user_constraint查看当前用户所拥有的所有约束和列的关系:user_cons_constraint查看表中注释内容:user_tab_comments查看表中列注释内容:user_col_comments提供练习的表:dual查看相关时区的名称和简称:v$timezone_names四.表空间和作用system表空间:记录运行信息.sysaux表空间:存储支持Oracle系统活动的许多工具和选项.temp表空间:存储中间结果.undo表空间:存储事物提交或撤消的改变数据.五.默认用户角色DBA:执行数据库中所有的操作connect:可以执行数据库连接等操作resource:可以执行使用数据库资源等操作select_catalog_role:可以执行select操作OLAP_DBA:可以执行与表,视图有关的操作scheduler_admin:可以执行作业管理等操作exp_full_database:可以执行引出数据库等操作imp_full_database:可以执行引入数据库等操作六.权限系统权限:可以执行数据库中某些操作的权限称为系统权限.如:createtablecreateuser系统权限:拥有此权限才可以创建用户createsession系统权限:拥有此权限的用户可以连接数据库createanytable系统权限:在任意模式中创建表createsynonym系统权限:可以创建同意词executeanyprocedure系统权限:执行任何过程createrole系统权限:可以创建角色dropanytable系统权限:可以删除任何表创建用户:createuser用户名identifiedby口令[defaulttablespance默认表空间][temporarytablespace临时表空间]修改用户口令:alteruser用户名identifiedby新密码锁定用户和解锁用户:alteruser用户名account[lock|unlick]修改用户默认表空间:alteruser用户名defaulttablespace新表空间名[temporarytablespace新临时表空间名]删除用户:dropuser用户名[cascade]如果当前用户拥有对象则必须加上cascade为用户授以系统权限:grant系统权限1[,系统权限2,系统权限3.....]to用户名[withadminoption]如果允许用户把权限转受于其它用户则要加上withadminoption收回授予的系统权限:revoke系统权限1[,系统权限2,系统权限3.....]from用户名在收回权限时,被当前用户所转授的权限不会被收回对象权限:针对数据库中的表,视图等对象的权限为对象权限.如:selectinsertupdatedeleteexecute为用户授予对象权限:grant对象权限[(列名称)]on对象名to用户名[withgrantoption]如果允许用户把权限转受于其它用户则要加上withgrantoption收回授予的对象权限:revoke对象权限on对象名from用户名收回权限只能从表上收回,不能从列上收回,在权限被收回时,被该用户转授的权限也会被收回创建同义词:create[public]synonym同义词名for对象名public代表所有用户都可以使用公共同义词角色:角色是一组可以授予用户和其它角色的权限,一个用户可以拥有多种角色创建角色:createrole角色名[identifiedby角色口令]授予角色权限:类似授予用户权限收回角色:droprole角色名七.表建表:create[globaltemporary]table表名(列名列类型[其它信息])[oncommit(delete|preserve)row][tablespace表空间名]oncommit指定表中数据持续时间,delete在事物执行完毕后删除,preserve表示在会话结束后删除查看表的系统信息:desc|describe对象名删除表:droptable表名添加列:altertable表名add列名列类型更新列:altertable表名modify列名列类型删除列:altertable表名dropcolumn列名禁止约束:altertable表名discountcontraint约束名禁止约束:altertable表名enable[novalidate]contraint约束名如果有novalidate则表示在激活时不验证数据内容是否满足约束删除约束:altertable表名dropconstraint约束名修改表名称:rename旧表名to新表名注释表:注释表就是为表和表中列添加文字说明以让其它人可以看懂表结构注释表语法:commenttotable表名is注释信息commenttocolumn表名.列名is注释信息注释内容用单引号八.操作数据插入数据:insertinto表名(列名列表)values(列值列表)插入列时用default关键字代表值则是插入列的默认值,如果用null则代表插入一个空值,插入列的时候必须满足列的约束复制数据:insertinto表名(列列表)和列对应的查询语句修改数据:update表名set列名=列值[,列名1=列值1......][where限制条件列表]删除数据:deletefrom表名[where限制条件列表]删除表中所有数据的两种方法:deletefrom表名;truncatetable表名;truncatetable效率高些,因为它是重新设置表的存储空间合并数据操作:把两个表合并成一个表,并且以某一字段作为判断是否相同的机准.如表A和表B用id来判断是否相同,那么把表A合并到B中,则以A中的数据为基准,如果a.id=b.id成立,那么合并后的其它字段将采用a表的合并数据:mergeinto表名1using表名2on(比较表达式)whenmatchedthen更新语句whennomatchedthen插入语句闪回查询:有两种类型的闪回查询1.基于时间的闪回查询,把系统回复到之前的某一时间;2.是基于版本号的闪回查询,把系统回复到之前一个版本号.使用闪回查询,则必须拥有dbms_flashback包的execute权限.授予用户闪回查询的对象权限:grantexecuteondbms_flashbackto用户名;执行基于时间的闪回查询:executedbms_flashback.enable_at_time(时间);时间一般算法:sysdate-分钟数/1440执行基于系统版本号的闪回查询:executedbms_flashback.enable_at_system_change_number(系统改变号);改变号可以通过;dbms_flashback.get_system_change_number();获得关闭闪回查询:执行完闪回查询功能后应该关闭,关闭的方法为:dbms_flashback.disable();事务:事务是一个单元操作,这些操作要么全部成功,要么全部失败.九.检索算数运算:可以在查询中使用算数运算(+,-,*,/)别名:在Select语句中为了便于查看为列临时定义的名称.定义方式:列名[as]别名合并输出结果:使用'||'符号连接.例:结果1||结果2[||结果3....]空值处理:nvl(空值列,显示值)如果列的值是空则显示显示值distinct关键字:限定在检索结果中不出现重复值;selectdistinct列列表from表名where:where后面跟运算表达式;例:select列列名from表名where限制条件运算符:=等于或!=不等于小于大于=小于或等于=大于或等于any(值列表):比值列表中的最小值大any(值列表):比值列表中的最大值小all(值列表):比值列表中的最大值大all(值列表):比值列表中的最小值小like:按照指定的模式匹配like'_A%'_代表任意一个字符,%代表任意多个字符如果在匹配的字符串中包含_或%那么则使用escape来说明是实际数据而不是匹配表达式in:匹配值清单如:in(selectafromTA)between:匹配范围内值如:between(1,20)isnull:与空值匹配isnan:与非数字值匹配isinfinite:与无穷的binary_float和binary_double匹配not:用于在各种运算符中取反or:或,当两个条件中有一个为真时,就匹配and:与,必须两个条件全部是真才匹配排序数据:orderby排序表达式[asc|desc][,排序表达式1[asc|desc]]asc和desc代表排列顺序,asc是正序,desc是倒序,默认asc检索多个表的数据1:select列列表from表
本文标题:ORACLE学习总结
链接地址:https://www.777doc.com/doc-11715 .html