仓酷云

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

[学习教程] MYSQL网页设计[Oracle 10g] 表空间改名

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

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

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

x
而且其固有的弹性使得它易于扩展以处理不断增长的需求,或当需求MySQL学习教程减弱时缩减规模。oracle[Oracle10g]表空间改名Fenng
日期:24-Oct-2004 
出处:http://www.dbanotes.net
版本:0.1

复杂先容
在Oracle10g之前的版本,变动表空间名字是几近不成能的事变,除非删除,从头创立,年夜费周章。Oracle10g新增加了一项变动表空间名字的功效,使得变动表空间名字刹时便可完成。是个较为人道化的功效。

SQL>COLFILE_NAMEformata70SQL>SETlinesize120SQL>SETpagesize99SQL>COLTABLESPACE_NAMEformata10SQL>SQL>SELECTfile_name,tablespace_nameFROMdba_data_files;FILE_NAMETABLESPACE--------------------------------------------------------------------------------/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/users01.dbfUSERS/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/sysaux01.dbfSYSAUX/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/undotbs01.dbfUNDOTBS1/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/system01.dbfSYSTEM/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/example01.dbfEXAMPLE/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/foo1.dbfFOO6rowsselected.

该命令的语法很复杂:

ALTERTABLESPACEtablespacenameRENAMETOnewtablespacename;

tablespacename和newtablespacename分离对应本来的表空间名字和变动后的表空间名字:
实战练习训练
注重:在操纵前后都请做好把持文件的备份事情

SQL>ALTERTABLESPACEfooRENAMETOtest;Tablespacealtered.SQL>SELECTfile_name,tablespace_nameFROMdba_data_files;FILE_NAMETABLESPACE--------------------------------------------------------------------------------/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/users01.dbfUSERS/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/sysaux01.dbfSYSAUX/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/undotbs01.dbfUNDOTBS1/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/system01.dbfSYSTEM/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/example01.dbfEXAMPLE/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/foo1.dbfTEST

由于system和sysaux这两个表空间的特别性,是不成以改名的:

SQL>ALTERTABLESPACEsystemRENAMETOmysystem;ALTERTABLESPACEsystemRENAMETOmysystem*ERRORatline1:ORA-00712:cannotrenamesystemtablespaceSQL>ALTERTABLESPACEsysauxRENAMETOmysysaux;ALTERTABLESPACEsysauxRENAMETOmysysaux*ERRORatline1:ORA-13502:CannotrenameSYSAUXtablespace

能够对undotablespace从头定名,假如利用的是spfile,而不是pfile,Oracle会主动对spfile中的undo_tablespace举行变动(不外要在数据库从头启动以后才能够察看到),假如利用的是pfile,要对其举行手工变动。我们看看spfile的变更情形:

SQL>ALTERtablespaceundotbs1RENAMETOundotbs;Tablespacealtered.SQL>SQL>showparameterpfileNAMETYPEVALUE-----------------------------------------------------------------------------spfilestring/u01/app/oracle/product/10.1.0/db_1/dbs/spfileTEST.oraSQL>showparametersundoNAMETYPEVALUE-----------------------------------------------------------------------------undo_managementstringAUTOundo_retentioninteger900undo_tablespacestringUNDOTBS1SQL>shutdownimmediate;Databaseclosed.Databasedismounted.ORACLEinstanceshutdown.SQL>startupORACLEinstancestarted.TotalSystemGlobalArea180355072bytesFixedSize777996bytesVariableSize128983284bytesDatabaseBuffers50331648bytesRedoBuffers262144bytesDatabasemounted.Databaseopened.SQL>showparametersundoNAMETYPEVALUE-----------------------------------------------------------------------------undo_managementstringAUTOundo_retentioninteger900undo_tablespacestringUNDOTBSSQL>

对脱机表空间的改名是不同意的:

SQL>ALTERTABLESPACETESTOFFLINE;Tablespacealtered.SQL>ALTERTABLESPACEtestRENAMETOtestoffline;ALTERTABLESPACEtestRENAMETOtestoffline*ERRORatline1:ORA-01135:file6accessedforDML/queryisofflineORA-01110:datafile6:/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/foo1.dbf

给出的提醒信息很有参考代价:改名操纵是要对表空间举行DML/query操纵的,表空间offline的话,则不成以。

那末假如表空间是只读的会怎样呢?

SQL>ALTERTABLESPACETESTONLINE;Tablespacealtered.SQL>ALTERTABLESPACETESTREADONLY;Tablespacealtered.SQL>ALTERTABLESPACEtestRENAMETOtestreadonly;Tablespacealtered.SQL>list1*SELECTfile_name,tablespace_nameFROMdba_data_filesSQL>/FILE_NAMETABLESPACE--------------------------------------------------------------------------------/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/users01.dbfUSERS/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/sysaux01.dbfSYSAUX/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/undotbs01.dbfUNDOTBS/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/system01.dbfSYSTEM/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/example01.dbfEXAMPLE/u01/app/oracle/product/10.1.0/db_1/oradata/TEST/foo1.dbfTESTREADONLY6rowsselected.SQL>

看来数据字典已更新,不外Oracle会向alert_SID.log中写进相似以下的日记:

ALTERTABLESPACEtestRENAMETOtestreadonlySatNov1316:15:212004TablespaceTESTisrenamedtoTESTREADONLY.Tablespacenamechangeisnotpropagatedtofileheadersbecausethetablespaceisreadonly.Completed:ALTERTABLESPACEtestRENAMETOtestreadonly

注重Log里有个渺小的小Bug:headersbecause。这是两个词,应当空开的:-)
限定前提
使用这个特征有个次要的限定前提:COMPATIBLE初始化参数请求为10.0大概更高才能够
参考信息

OracleDatabaseAdministratorsGuide10gRelease1(10.1)PartNumberB10739-01(Note62294.1)
本文作者Fenng,某美资公司DBA,专业工夫混迹于各数据库相干的手艺论坛且乐此不疲。今朝存眷怎样使用ORACLE数据库无效地构建企业使用。对Oracletuning、troubleshooting有一点研讨。
团体手艺站点:http://www.dbanotes.net/。能够经由过程电子邮件dbanotes@gmail.com接洽到他。原文出处http://www.dbanotes.net/Oracle/10g_Rename_Tablespace.htm

回上页<-|->回想页那时候Sybase已经诞生了6年的时间。至于其他值得关注的开源数据库,PostgreSQL将在2009年达到20岁的生日。虽然MySQL并不是市场上最年轻的数据库,但是却有更多成熟的数据库可供我们选择。
活着的死人 该用户已被删除
沙发
发表于 2015-1-23 15:01:59 | 只看该作者
SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.
深爱那片海 该用户已被删除
板凳
发表于 2015-1-31 18:09:51 来自手机 | 只看该作者
光写几个SQL实在叫无知。
再现理想 该用户已被删除
地板
发表于 2015-2-18 16:43:45 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
蒙在股里 该用户已被删除
5#
发表于 2015-3-6 08:50:07 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
冷月葬花魂 该用户已被删除
6#
发表于 2015-3-12 22:53:36 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
柔情似水 该用户已被删除
7#
发表于 2015-3-20 05:02:14 | 只看该作者
我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 14:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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