数据库设计经验总结.doc_第1页
数据库设计经验总结.doc_第2页
数据库设计经验总结.doc_第3页
数据库设计经验总结.doc_第4页
数据库设计经验总结.doc_第5页
已阅读5页,还剩200页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库设计的黄金经验黄金, 数据库设计, 经验通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解):第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。要善于识别与正确处理多对多的关系若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。这里的第三个实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计工具不能识别多对多的关系,但能处理多对多的关系。例:在“图书馆信息系统”中,“图书”是一个实体,“读者”也是一个实体。这两个实体之间的关系,是一个典型的多对多关系:一本图书在不同时间可以被多个读者借阅,一个读者又可以借多本图书。为此,要在二者之间增加第三个实体,该实体取名为“借还书”,它的属性为:借还时间、借还标志(0 表示借书,1表示还书),另外,它还应该有两个外键(“图书”的主键,“读者”的主键),使它能与“图书”和“读者”连接。正确认识数据冗余主键与外键在多表中的重复出现, 不属于数据冗余,这个概念必须清楚,事实上有许多人还不清楚。非键字段的重复出现, 才是数据冗余!而且是一种低级冗余,即重复性的冗余。高级冗余不是字段的重复出现,而是字段的派生出现。例:商品中的“单价、数量、金额”三个字段,“金额”就是由“单价”乘以“数量”派生出来的,它就是冗余,而且是一种高级冗余。冗余的目的是为了提高处理速度。只有低级冗余才会增加数据的不一致性,因为同一数据,可能从不同时间、地点、角色上多次录入。因此,我们提倡高级冗余(派生性冗余),反对低级冗余(重复性冗余)。ER图没有标准答案信息系统的ER图没有标准答案,因为它的设计与画法不是惟一的,只要它覆盖了系统需求的业务范围和功能内容,就是可行的。反之要修改ER 图。尽管它没有惟一的标准答案,并不意味着可以随意设计。好的E图的标准是:结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。视图技术在数据库设计中很有用与基本表、代码表、中间表不同,视图是一种虚表,它依赖数据源的实表而存在。视图是供程序员使用数据库的一个窗口,是基表数据综合的一种形式, 是数据处理的一种方法,是用户数据保密的一种手段。为了进行复杂处理、提高运算速度和节省存储空间, 视图的定义深度一般不得超过三层。若三层视图仍不够用, 则应在视图上定义临时表, 在临时表上再定义视图。这样反复交迭定义, 视图的深度就不受限制了。对于某些与国家政治、经济、技术、军事和安全利益有关的信息系统,视图的作用更加重要。这些系统的基本表完成物理设计之后,立即在基本表上建立第一层视图,这层视图的个数和结构,与基本表的个数和结构是完全相同。并且规定,所有的程序员,一律只准在视图上操作。只有数据库管理员,带着多个人员共同掌握的 “安全钥匙”,才能直接在基本表上操作。中间表、报表和临时表中间表是存放统计数据的表,它是为数据仓库、输出报表或查询结果而设计的,有时它没有主键与外键(数据仓库除外)。临时表是程序员个人设计的,存放临时记录,为个人所用。基表和中间表由DBA维护,临时表由程序员自己用程序自动维护。完整性约束表现在三个方面域的完整性:用Check来实现约束,在数据库设计工具中,对字段的取值范围进行定义时,有一个Check按钮,通过它定义字段的值城。参照完整性:用PK、FK、表级触发器来实现。用户定义完整性:它是一些业务规则,用存储过程和触发器来实现。防止数据库设计打补丁的方法是“三少原则”(1) 一个数据库中表的个数越少越好。只有表的个数少了,才能说明系统的ER图少而精,去掉了重复的多余的实体,形成了对客观世界的高度抽象,进行了系统的数据集成,防止了打补丁式的设计;(2) 一个表中组合主键的字段个数越少越好。因为主键的作用,一是建主键索引,二是做为子表的外键,所以组合主键的字段个数少了,不仅节省了运行时间,而且节省了索引存储空间;(3) 一个表中的字段个数越少越好。只有字段的个数少了,才能说明在系统中不存在数据重复,且很少有数据冗余,更重要的是督促读者学会“列变行”,这样就防止了将子表中的字段拉入到主表中去,在主表中留下许多空余的字段。所谓“列变行”,就是将主表中的一部分内容拉出去,另外单独建一个子表。这个方法很简单,有的人就是不习惯、不采纳、不执行。数据库设计的实用原则是:在数据冗余和处理速度之间找到合适的平衡点。“三少”是一个整体概念,综合观点,不能孤立某一个原则。该原则是相对的,不是绝对的。“三多”原则肯定是错误的。试想:若覆盖系统同样的功能,一百个实体(共一千个属性) 的ER图,肯定比二百个实体(共二千个属性)的ER图,要好得多。提倡“三少”原则,是叫读者学会利用数据库设计技术进行系统的数据集成。数据集成的步骤是将文件系统集成为应用数据库,将应用数据库集成为主题数据库,将主题数据库集成为全局综合数据库。集成的程度越高,数据共享性就越强,信息孤岛现象就越少,整个企业信息系统的全局ER图中实体的个数、主键的个数、属性的个数就会越少。提倡“三少”原则的目的,是防止读者利用打补丁技术,不断地对数据库进行增删改,使企业数据库变成了随意设计数据库表的“垃圾堆”,或数据库表的“大杂院”,最后造成数据库中的基本表、代码表、中间表、临时表杂乱无章,不计其数,导致企事业单位的信息系统无法维护而瘫痪。“三多”原则任何人都可以做到,该原则是“打补丁方法”设计数据库的歪理学说。“三少”原则是少而精的原则,它要求有较高的数据库设计技巧与艺术,不是任何人都能做到的,因为该原则是杜绝用“打补丁方法”设计数据库的理论依据。提高数据库运行效率的办法在给定的系统硬件和系统软件条件下,提高数据库系统的运行效率的办法是:(1) 在数据库物理设计时,降低范式,增加冗余, 少用触发器, 多用存储过程。(2) 当计算非常复杂、而且记录条数非常巨大时(例如一千万条),复杂计算要先在数据库外面,以文件系统方式用C+语言计算处理完成之后,最后才入库追加到表中去。这是电信计费系统设计的经验。(3) 发现某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。水平分割的做法是,以该表主键PK的某个值为界线,将该表的记录水平分割为两个表。若发现某个表的字段太多,例如超过八十个,则垂直分割该表,将原来的一个表分解为两个表。(4) 对数据库管理系统DBMS进行系统优化,即优化各种系统参数,如缓冲区个数。(5) 在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法。总之,要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化,这三个层次上同时下功夫。上述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,读者不能生帮硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。oracle学习基础笔记1.desc table_name 可以查询表的结构2.怎么获取有哪些用户在使用数据库 select username from v$session;3.如何在Oracle服务器上通过SQLPLUS查看本机IP地址 ? select sys_context(userenv,ip_address) from dual; 如果是登陆本机数据库,只能返回4.如何给表、列加注释?SQLcomment on table 表 is 表注释;注释已创建SQLcomment on column 表.列 is 列注释;注释已创建。 SQL select * from user_tab_comments where comments is not null; 5.如何在ORACLE中取毫秒?select systimestamp from dual; 6.如何在字符串里加回车? 添加一个|chr(10)select Welcome to visit|chr(10)|www.CSDN.NET from dual ;7.怎样修改oracel数据库的默认日期?alter session set nls_date_format=yyyymmddhh24miss;8.怎么可以看到数据库有多少个tablespace? select * from dba_tablespaces;9.如何显示当前连接用户? SHOW USER10.如何测试SQL语句执行所用的时间? SQLset timing on ;11.怎么把select出来的结果导到一个文本文件中?SQLSPOOL F:ABCD.TXT; SQLselect * from table;SQL spool off;12.如何在sqlplus下改变字段大小?alter table table_name modify (field_name varchar2(100);改大行,改小不行(除非都是空的)13.如果修改表名?alter table old_table_name rename to new_table_name;14.如何搜索出前N条记录? (desc降序)SELECT * FROM Tablename WHERE ROWNUM SHOW USER; OR SQLselect user from dual;23.如何知道使用CPU多的用户session? 11是cpu used by this sessionselect a.sid,spid,status,substr(gram,1,40) prog,a.terminal,osuser,value/60/100 value from v$session a,v$process b,v$sesstat c where c.statistic#=11 and c.sid=a.sid and a.paddr=b.addr order by value desc;24.Oracle建立表空间和用户建立表空间和用户的步骤:用户建立:create user 用户名 identified by 密码;授权:grant create session to 用户名; grant create table to 用户名; grant create tablespace to 用户名; grant create view to 用户名;表空间建立表空间(一般建N个存数据的表空间和一个索引空间):create tablespace 表空间名datafile 路径(要先建好路径)*.dbf size *Mtempfile 路径*.dbf size *Mautoextend on -自动增长-还有一些定义大小的命令,看需要default storage(initial 100K,next 100k,);用户权限授予用户使用表空间的权限:alter user 用户名 quota unlimited on 表空间;或 alter user 用户名 quota *M on 表空间;create tablespace zq datafile D:zqzw.dbf SIZE 1000M AUTOALLOCATE;修改用户的默认表空间 alter user username default tablespace tablespacename;25.在sqlplus 中清屏命令:clear src clear screen; cl scr;怎样用语句查询表空间里面表的内容?select table_name from all_tables where tablespace_name=zq;select table_name from user_tables where tablespace_name=xx 26.如何查询表在哪个表空间中?(单引号里面的要大写)SELECT tablespace_name FROM USER_TABLES WHERE table_name = YOUR_TABLENAME查一下,这个表是哪个用户下的,如果是本用户则可以用上面的sql如果是别的用户的表你就用SELECT tablespace_name FROM DBA_TABLES WHERE table_name = YOUR_TABLENAME and owner=表的OWNER还有你要确定你查的确实是一个表而不是 view 或 SYNONYM而且在引号里面的表名和owner都要用大写字母27.表的创建create table aa (a varchar2(10),b number(8,2),c date) tablespace users;如果在创建用户时没有指定默认表空间,系统默认表空间为System,在创建表时必须指定tablespace;28.如何查询一个表空间下的所有表(单引号里面的要大写)select table_name from user_tables where tablespace_name=表空间名;29.更改计算机名后会出现OracleORA-12541:TNS:no listener错误解决方法D:oracleproduct10.2.0db_1NETWORKADMINlistener.ora修改为现在的计算机名,再次启动OracleOraHome90TNSListener服务成功30.创建表时默认表空间是SYSAUX31.oracle10g em Database Control的启动问题修复 打开http:/localhost:1158/em/ 显示数据库状态没有启动,提示用户登录错误ORA-28000: the account is locked,使用PL/SQL或SQL*plus连接是正常的。到网上搜索一番,没有找到确切的原因。其中一个可能的原因是用户DBSNMP的密码和sys用户的密码不一致,导致OracleDBConsoleSID服务错误,网上很多朋友说使用emca(EM Configuration Assistant)工具进行修复。在命令行里键入下面两个命令就可以修复数据库的ememca -repos recreateemca -config dbcontrol db 另外,网上很多朋友给出“emca -r”这样的命令,我试了之后发现10g版本的命令格式已经有所变化,具体的命令格式可以通过命令的帮助获得。在命令行中键入emca help=y可以查看详细的命令格式。常用的命令语法:emca -repos create创建一个EM资料库emca -repos recreate重建一个EM资料库emca -repos drop删除一个EM资料库emca -config dbcontrol db配置数据库的 Database Controlemca -deconfig dbcontrol db删除数据库的 Database Control配置emca -reconfig ports 重新配置db control的端口,默认端口在1158emctl start console启动EM console服务,使用前需要先设置ORACLE_SID环境变量emctl stop console停止EM console服务,使用前需要先设置ORACLE_SID环境变量32.解决启动Oracle9i的OEM或OMS的常见问题(VTK-1000)能否正常启动OEM或OMS关键有以下两点: 第一Oracle的系统服务是否开启; 第二登录时用的用户名和口令是否正确。 那么先针对第一点谈谈Oracle的系统服务。在完全安装的情况下,Oracle的系统服务共有11项: 1Oracle OLAP .1 2Oracle OLAP Agent 3OracleOraHome90Agent 4OracleOraHome90ClientCache 5OracleOraHome90HTTPServer 6OracleOraHome90ManagementServer(0.5M) 7OracleOraHome90PagingServer 8OracleOraHome90SNMPPeerEncapsulator 9OracleOraHome90SNMPPeerMasterAgent 10OracleOraHome90TNSListener(5.2M) 11OracleServiceORACLE(70M) (注:OraHome90是可以在安装时改变的Oracle的主目录名称,是安装时的默认值) 其中最重要的服务有3个,分别是OracleOraHome90ManagementServer、OracleOraHome90TNSListener与OracleServiceORACLE。下面就来看一下有哪些启动错误与它们有关。 1Oracle系统提示:Ora-12541:TNS:没有监听器; 2操作系统提示:在本地计算机无法启动OMS服务 错误:1053:服务并未及时响应来控制请求附带; 以上两种错误提示大都是由OracleOraHome90TNSListener监听服务引起的。解决方法:控制面版-管理工具-服务-右键单击“OracleOraHome90TNSListener”,再单击“启动”。 3Oracle系统提示:Ora-12500:TNS:监听程序无法启动专用服务器进程; 该错误是由OracleServiceORACLE专用服务器进程引起的。解决方法:控制面版-管理工具-服务-右键单击“OracleServiceORACLE”,再单击“启动”。 4Oracle系统提示:VTK-1000:无法连接到Management Server。 请验证您已输入Oracle Management Server的正确主机名和状态。 该错误引起的原因有两种,一是OracleOraHome90ManagementServer还没启动;二是没有输入主机名。解决方法:控制面版-管理工具-服务-右键单击“OracleOraHome90ManagementServer”,再单击“启动”,或是输入您这台计算机的完整名称。 接着针对第二点谈谈登录时用的用户名和口令。 在安装结束后,系统提供了两个默认的数据库系统管理员,其用户名和口令分别是SYS/change_on_install和SYSTEM/manager,同时系统还提供了登录OMS的用户名和口令:sysman/oem_temp。这里容易出现错误的是在登录OMS是用SYS或SYSTEM作为用户名进行登录,那么Oracle系统就回有“登录身份证明不正确”的提示。 小结:这三个服务的启动或关闭还有先后的顺序。一般来讲,启动时必须先启动OracleOraHome90TNSListener再启动OracleOraHome90ManagementServer或OracleServiceORACLE,在启动OracleOraHome90ManagementServer时,同时也启动了OracleServiceORACLE。而关闭时必须先关闭OracleOraHome90ManagementServer再关闭OracleOraHome90TNSListener或OracleServiceORACLE,关闭OracleOraHome90ManagementServer时,若有提示输入用户名和口令,请输入sysman的用户名和口令,以确保成功的执行。有些其他提示如:资源已被占用,I/O重复,端口已被使用等等之类的话,那最好与系统管理员联系,再寻求解决办法。Oracle安装完成后的初始口令?1.2. internal/oracle3.4. sys/change_on_install5.6. system/manager7.8. scott/tiger9.10. sysman/oem_temp11.12.13. 2. ORACLE9IAS WEB CACHE的初始默认用户和密码?14.15. administrator/administrator16.17.18. 3. oracle 8.0.5怎么创建数据库?19.20. 用orainst。如果有motif界面,可以用orainst /m21.22.23. 4. oracle 8.1.7怎么创建数据库?24.25. dbassist26.27.28. 5. oracle 9i 怎么创建数据库?29.30. dbca31.32.33. 6. oracle中的裸设备指的是什么?34.35. 裸设备就是绕过文件系统直接访问的储存空间36.37.38. 7. oracle如何区分 64-bit/32bit 版本?39.40. $ sqlplus / AS SYSDBA 41. SQL*Plus: Release .0 - Production on Mon Jul 14 17:01:09 2003 42. (c) Copyright 2001 Oracle Corporation. All rights reserved. 43. Connected to: 44. Oracle9i Enterprise Edition Release .0 - Production 45. With the Partitioning option 46. JServer Release .0 - Production 47. SQL select * from v$version; 48. BANNER 49. - 50. Oracle9i Enterprise Edition Release .0 - Production 51. PL/SQL Release .0 - Production 52. CORE .0 Production 53. TNS for Solaris: Version .0 - Production 54. NLSRTL Version .0 - Production 55. SQL56.57.58. 8. SVRMGR什么意思?59.60. svrmgrl,Server Manager. 61. 9i下没有,已经改为用SQLPLUS了 62. sqlplus /nolog 63. 变为归档日志型的64.65.66. 9. 请问如何分辨某个用户是从哪台机器登陆ORACLE的?67.68. SELECT machine , terminal FROM V$SESSION;69.70.71. 10. 用什么语句查询字段呢?72.73. desc table_name 可以查询表的结构 74. select field_name,. from . 可以查询字段的值75.76. select * from all_tables where table_name like % 77. select * from all_tab_columns where table_name=?78.79.80. 11. 怎样得到触发器、过程、函数的创建脚本?81.82. desc user_source83. user_triggers 84.85.86. 12. 怎样计算一个表占用的空间的大小?87.88. select t.owner 用户,t.tablespace_name 表空间,segment_name 表名,(bytes/1024)/1024|M 大小 89. from dba_segments t 90. WHERE t.tablespace_name = CRM_SM_DAT;91.92.93. select t.owner 用户,t.tablespace_name 表空间,segment_name 表名,(bytes/1024)/1024|M 大小 94. from dba_segments t 95. WHERE t.segment_name = T_PTCL_DAYFEE53685 9. select owner,table_name, 100. NUM_ROWS, 101. BLOCKS*AAA/1024/1024 Size M, 102. EMPTY_BLOCKS, 103. LAST_ANALYZED 104. from dba_tables 105. where table_name=XXX; 106.107. Here: AAA is the value of db_block_size ; 108. XXX is the table name you want to check109.110.111. 13. 如何查看最大会话数?112.113. SELECT * FROM V$PARAMETER WHERE NAME LIKE proc%;114.115. SQL 116. SQL show parameter processes 117.118. NAME TYPE VALUE 119. - - - 120. aq_tm_processes integer 1 121. db_writer_processes integer 1 122. job_queue_processes integer 4 123. log_archive_max_processes integer 1 124. processes integer 200 125.126. 这里为200个用户。127.128. select * from v$license; 129. 其中sessions_highwater纪录曾经到达的最大会话数130.131.132. 14. 如何查看系统被锁的事务时间?133.134. select * from v$locked_object ;135.136. select /*+ RULE */ ls.osuser os_user_name, ls.username user_name,137. decode(ls.type, RW, Row wait enqueue lock, TM, DML enqueue lock, TX,138. Transaction enqueue lock, UL, User supplied lock) lock_type,139. o.object_name object, decode(ls.lmode, 1, null, 2, Row Share, 3,140. Row Exclusive, 4, Share, 5, Share Row Exclusive, 6, Exclusive, null)141. lock_mode, o.owner, ls.sid, ls.serial# serial_num, ls.id1, ls.id2142. from sys.dba_objects o, ( select s.osuser, s.username, l.type,143. l.lmode, s.sid, s.serial#, l.id1, l.id2 from v$session s,144. v$lock l where s.sid = l.sid ) ls 145. where o.object_id = ls.id1 and o.owner146. SYS order by o.owner, o.object_name 147.148.149. 15. 如何以archivelog的方式运行oracle。150.151. init.ora 152. log_archive_start = true153.154. RESTART DATABASE155.156.157. 16. 怎么获取有哪些用户在使用数据库158.159. select username from v$session;160.161.162. 17. 数据表中的字段最大数是多少?163.164. 表或视图中的最大列数为 1000165.166.167. 18. 怎样查得数据库的SID ?168.169. select name from v$database; 170. 也可以直接查看 init.ora文件171.172.173. 19. 如何在Oracle服务器上通过SQLPLUS查看本机IP地址 ?174.175. select sys_context(userenv,ip_address) from dual;176.177. 如果是登陆本机数据库,只能返回,呵呵178.179.180. 20. unix 下怎么调整数据库的时间?181.182. su -root 183. date -u 08010000184.185.186. 21. 在ORACLE TABLE中如何抓取MEMO类型字段为空的资料记录?187.188. select remark from oms_flowrec where trim( from remark) is not null ;92. 22. 如何用BBB表的资料去更新AAA表的资料(有关联的字段)193.194. UPDATE AAA SET BNS_SNM=(SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) WHERE BBB.DPT_NO IS NOT NULL;195.196.197. 23. P4计算机安装方法198.199. 将SYMCJIT.DLL改为SYSMCJIT.OLD200.201.202. 24. 何查询SERVER是不是OPS?203.204. SELECT * FROM V$OPTION;205.206. 如果PARALLEL SERVER=TRUE则有OPS能207.208.209. 25. 何查询每个用户的权限?210.211. SELECT * FROM DBA_SYS_PRIVS;212.213.214. 26. 如何将表移动表空间?215.216. ALTER TABLE TABLE_NAME MOVE TABLESPACE_NAME;217.218.219. 27. 如何将索引移动表空间?220.221. ALTER INDEX INDEX_NAME REBUILD TABLESPACE TABLESPACE_NAME;222.223.224. 28. 在LINUX,UNIX下如何激活DBA STUDIO?225.226. OEMAPP DBASTUDIO227.228.229. 29. 查询锁的状况的对象有?230.231. V$LOCK, V$LOCKED_OBJECT, V$SESSION, V$SQLAREA, V$PROCESS ;232.233. 查询锁的表的方法:234.235. SELECT S.SID SESSION_ID, S.USERNAME, DECODE(LMODE, 0, None, 1, Null, 2, Row-S (SS), 3, Row-X (SX), 4, Share, 5, S/Row-X (SSX), 6, 236.237. Exclusive, TO_CHAR(LMODE) MODE_HELD, DECODE(REQUEST, 0, None, 1, Null, 2, Row-S (SS), 3, Row-X (SX), 4, Share, 5, S/Row-X (SSX), 238.239. 6, Exclusive, TO_CHAR(REQUEST) MODE_REQUESTED, O.OWNER|.|O.OBJECT_NAME| (|O.OBJECT_TYPE|), S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1, 240.241. L.ID2 LOCK_ID2 FROM V$LOCK L, SYS.DBA_OBJECTS O, V$SESSION S WHERE L.SID = S.SID AND L.ID1 = O.OBJECT_ID ;242.243.244. 30. 如何解锁?245.246. ALTER SYSTEM KILL SESSION SID,SERIR#;247.248.249. 31. SQLPLUS下如何修改编辑器?250.251. DEFINE _EDITOR= - 必须加上双引号252. 来定义新的编辑器,也可以把这个写在$ORACLE_HOME/sqlplus/admin/glogin.sql里面使它永久有效。253.254.255. 32. ORACLE产生随机函数是?256.257. DBMS_RANDOM.RANDOM258.259.260. 33. LINUX下查询磁盘竞争状况命令?261.262. Sar -d263.264.265. 33. LINUX下查询CPU竞争状况命令?266.267. sar -r268.269.270. 34. 查询当前用户对象?271.272. SELECT * FROM USER_OBJECTS;273.274. SELECT * FROM DBA_SEGMENTS;275.276.277. 35. 如何获取错误信息?278.279. SELECT * FROM USER_ERRORS;280.281.282. 36. 如何获取链接状况?283.284. SELECT * FROM DBA_DB_LINKS;285.286.287. 37. 查看数据库字符状况?288.289. SELECT * FROM NLS_DATABASE_PARAMETERS;290.291. SELECT * FROM V$NLS_PARAMETERS;292.293.294. 38. 查询表空间信息?295.296. SELECT * FROM DBA_DATA_FILES;297.298.299. 39. ORACLE的INTERAL用户要口令?300.301. 修改 SQLNET.ORA302.303. SQLNET.AUTHENTICATION_SERVICES=(NTS)304.305.306. 40. 出现JAVA.EXE的解决办法?307.308. 一般是将ORACLEORAHOMEXIHTTPSERVER改成手工激活可以的309.310. X是8或9311.312.313. 41. 如何给表、列加注释?314.315. SQLcomment on table 表 is 表注释;316.317. 注释已创建。318.319. SQLcomment on column 表.列 is 列注释;320.321. 注释已创建。322.323. SQL select * from user_tab_comments where comments is not null;324.325.326. 42. 如何查看各个表空间占用磁盘情况?327.328. SQL col tablespace format a20329. SQL select 330. b.file_id 文件ID号,331. b.tablespace_name 表空间名,332. round(b.bytes/1024)/1024,2) 大小(M),333. round(b.bytes-sum(nvl(a.bytes,0)/1024/1024 ,2) 已使用(M),334. round(b.bytes-sum(nvl(a.bytes,0)/b.bytes)*100,2) 已使用百分比(%), 335. round(sum(nvl(a.bytes,0)/1024/1024,2) 剩余空间(M),336. round(sum(nvl(a.bytes,0)/(b.bytes)*100,2) 剩余百分比(%) 337. from dba_free_space a,dba_data_files b 338. where a.file_id=b.file_id 339. group by b.tablespace_name,b.file_id,b.bytes 340. order by b.file_id341.342.343. -344. select 345. b.file_id 文件ID号,346. b.tablespace_name 表空间名,347. b.bytes 字节数,348. (b.bytes-sum(nvl(a.bytes,0) 已使用,349. sum(nvl(a.bytes,0) 剩余空间,350. sum(nvl(a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论