仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 997|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之座谈数据库的启动和封闭

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:42:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。数据|数据库
关于DBA们来讲,封闭和从头启动数据库以便优化、调剂使用的运转是常常碰着的事变。假如用户已log进如了数据库,你用SHUTDOWNIMMEDIATE或SHUTDOWNABORT命令来实行封闭数据库,那用户将不克不及毗连,直到数据库从头启动,用户经常会埋怨:怎样又要重起。实在,每次如许的启动封闭都是为了数据库能更好的运做。这篇文章将详细先容shutdown/startup操纵时应想到的步骤和很多注重事项,也许这些能对你有所匡助。NOTE:在实行第一步前,SHUTDOWN数据库,不要提早封闭SQL*NET,直到你确认封闭了SERVER上的数据库后再封闭SQL*NET。由于一旦你封闭了SQL*NET,用户将将得到和数据库的会话。第一步---存档或删除老的tracefiles和logs当你启动ORACLE的一个实例(INSTANCE)时,ORACLE把关于该实例的诊断信息写进指定的trace和log文件。每一个背景历程都增添一个TRACE文件,它被存储在指定的目次(该路径由INIT.ORA或CONFIG.ORA文件中的BACKGROUND_DUMP_DEST参数指定)。用户在数据库中碰到一个外部毛病时也增添USERSTRACE文件,该文件的地位由INIT.ORA或CONFIG.ORA文件中的USER_DUMP_DEST参数指定。TRACE文件的个数和称号情势由你的操纵体系决意。比方在UNIX下,文件名是一个数字加下画线加背景历程号,相似3_12345.trc,当你下一次启动实例时,一个新的文件将被发生,由于历程号的分歧,文件名多是3_13245.trc。因为每次启动和封闭数据库时,ORACLE其实不主动删除TRACE文件,以是假如疏忽这个步骤,那这些没有效的文件将占有大批的自在空间。以是DBA应当自动的办理这些文件,或删除或存档在其余指定目次下,怎样办理次要是依据你本人的开辟情况必要而订了。SQL*NET也发生LOG文件,一样平常叫LISTENER.LOG,为了能晓得他的地位,能够键进命令lsnrctlstatusLISTENER.LOG文件巨细也跟着启动的次数不休的变年夜,以是经由过程妥帖办理它也能无效的使用空间。第二步---更名ALERTLOG文件ALERTLOG文件也是用来纪录INSTANCE的诊断信息的。它的寄存目次也经由过程BACKGROUND_DUMP_DEST参数来指定。一样平常情形下ALERTLOG文件定名体例为:ALERT_.LOG。ALTERLOG文件包含了一些数据库次要事务信息,比方:startup,dhutdown,redolog的利用,tablespace的改动,文件的改动,外部毛病信息,tablespace-backup的形态的改动等。ALTERLOG文件是主要的,同时该文件的巨细增加的速率也很惊人,假如你不反省他,一段工夫后你想看看它将是很费力,由于它已很年夜了,查起来也费力。为了既能留下这些有效的信息,同时不至于华侈很年夜的空间,能够用更名的办法。你能够在任什么时候候变动ALTERLOG文件名,乃至在DATABASEOPEN时。当ORACLE不克不及找到被BACKGROUND_DUMP_DESC指定的文件时,他将增添一个新的ALTERLOG文件。固然更名不请求SHUTDOW,但选择在SHUTDOWN/STARTUP数据库时变动名字是一个好的主张。NOTE:上面的几步是在restart数据库时做的。第三步---发生一个增添把持文件(CREATECONGROLFILE)命令的文件为了recover一个被损坏的数据库,你不能不用CREATECONTROLFILE命令来重修controlfiles。CREATECONTROLFILE命令有两个利用:1、在你的现有CONTROLFILES文件破化后重修它2、在ALTERDATABASE级其余参数时,如:MAXDATAFILES你能够手输出命令,但最幸亏STARTUP前发送一命令,以便你具有最新版本的CREATECONTROLFILE命令。从进进SQLDBA,SERVERMANAGER大概SQL*PLUS,输出:alterdatabasebackupcontrolfiletotrace;该命令在USER_DUMP_DESC参数指定的路径发生一个TRACE文件,名字多是SIDNAME_PROCESSID.TRC,该文件将包括针对你的数据库的完全的CREATECONTROLFILE语法。第四步--把PACKAGES和PROCEDURES驻留SGA区尽人皆知,当PL/SQLOBJECTS被一个用户挪用时,它将被存储在SGA区的SQL共享池中,当他人再度挪用该OBJECT时间接从SGA区读取,能感觉到分明的速率提拔。以是,把经常使用的PACKAGES和PROCEDURES在STARTUP时就载进并驻留SGA,将进步使用的全体功能。经由过程重新编译、挪用等办法能够挪用OBJECT(PROCEDURES或CURSORS)进SGA,然后用DBMS_SHARED_POOL.KEEP来驻留SGA。以下:alterpackageAPPOWNER.ADD_CLIENTcompile;executeDBMS_SHARED_POOL.KEEP(APPOWNER.ADD_CLIENT,P);(P代表PROCEDURES,C代表CURSORS)一样平常每一个数据库包含两类驻留程序:1、数据库的中心PACKAGES2、用户自界说的PACKAGES中心PACKAGES包含SYS一切的PACKAGES,STANDARD,DBMS_SQL,DBMS_UTILITY,DIUTIL,为了检察你的INSTANCE中那些被驻留了,查询DBA_OBJECT_SIZE,用上面的语句:selectOwner,Name,Type,Source_Size+Code_Size+Parsed_Size+Error_SizeTotal_BytesfromDBA_OBJECT_SIZEwhereType=PACKAGEBODYorderby4desc;
恢复到之前的某个状态,是需要数据的。这数据可以是a)回滚步骤或者b)操作之前的数据状态原文。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-25 18:10:41 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-2-3 12:40:17 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
蒙在股里 该用户已被删除
地板
发表于 2015-2-9 00:46:24 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
再现理想 该用户已被删除
5#
发表于 2015-2-26 15:54:20 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
透明 该用户已被删除
6#
发表于 2015-3-8 15:52:18 | 只看该作者
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
若天明 该用户已被删除
7#
发表于 2015-3-16 03:57:14 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-22 19:58:10 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 18:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表