创建新实例时,修改tempdb数据库大小
echo "use master" >${nowpath}/tmp.sqlecho "go" >>${nowpath}/tmp.sql
echo "disk init name='tmp_dev',physname='/export/home/sybdev/${db_inst}/tmp_dev.dat', vdevno=10, size='3000M', dsync=false" >>${nowpath}/tmp.sql
echo "go" >>${nowpath}/tmp.sql
echo "alter database tempdb on tmp_dev='3000M'" >>${nowpath}/tmp.sql
echo "go" >>${nowpath}/tmp.sql
cat<< EOF >>${nowpath}/tmp.sql
use tempdb
go
sp_dropsegment system, tempdb, master
go
sp_dropsegment 'default', tempdb, master
go
sp_dropsegment logsegment, tempdb, master
go
EOF
chown ${dbuser}:${dbgroup} ${nowpath}/tmp.sql
su - ${dbuser} -c ". /opt/sybase/SYBASE.sh;isql -S${db_inst} -U${db_user} -P${db_passwd}" < ${nowpath}/tmp.sql
后面的sp_dropsegment 详解:
sp_dropsegment indexes, pubs2
sp_dropsegment indexes, pubs2, dev1
1.如果要删除的段不在备任何表,索引,分区引用,那么你可以删除它
2.如果你没有指定device ,那么这个段将在指定的数据库内被删除。
如果你指定了device,那么这个段将不再映射到数据库设备上,但这个段不会被删除
所以面的三个命令,没有删除段,只是不再映射到数据库设备上,不再使用了。
上面三个命令的意思就是 tempdb的数据库不再往master数据库中写入。
页:
[1]