Chinaunix

标题: sybase11升级到12的方法 [打印本页]

作者: wangsir202    时间: 2004-11-15 09:13
标题: sybase11升级到12的方法
如果要将sybase11以前的数据库升级到12.0的方法。按照如下步骤你可以轻松的做到。

1、首先使用sp_helpdevice 命令,将所显示的所有信息保存下来。
例如:
device_name                    physical_name
         description


         status cntrltype device_number
         low
         high
------------------------------ ----------------------------------------------
        ----------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------
        ------ --------- -------------
        --------------------------------------------------------------------------------
        --------------------------------------------------------------------------------

staticdb                       /dev/rvol/dg2/vol03
         special, physical disk, 200.00 MB


              2         0             2
                                                                                 33554432
                                                                                 33656831
staticdb_log                   /dev/rvol/dg2/vol04
         special, physical disk, 50.00 MB


              2         0             3
                                                                                 50331648

2、使用sp_helpdb命令,同样保存所有的显示信息。
         name                     db_size       owner                    dbid
         created
         status
------------------------ ------------- ------------------------ ------
        --------------
        ------------------------------------------------------------------------------------------------------
staticdb                      250.0 MB sa                            5
         Nov 16, 1999
         no options set

3、使用sp_helpdb db_name,这里db_name 是使用sp_helpdb显示结果中的信息。保存所有数据库的查询信息。以防不测。^_^
        如:sp_helpdb staticdb
        1>; sp_helpdb staticdb
        2>; go
name                     db_size       owner                    dbid
         created
         status
------------------------ ------------- ------------------------ ------
        --------------
        ------------------------------------------------------------------------------------------------------
staticdb                      250.0 MB sa                            5
         Nov 16, 1999
         no options set

device_fragments               size          usage                free kbytes
------------------------------ ------------- -------------------- -----------
staticdb                       200.0 MB      data only                 200832
staticdb_log                   50.0 MB       log only                   51184

(return status = 0)

4、dump 数据库信息.dump database db_name to "device path" .这里device path必须是一个sybase用户具有可写权限的目录。
        建议新建一个目录。例如:”/usr/users/xxxxx"。(什么?不能dump?拿板砖砸你,backup_server有没有起起来。)
        如果你没有做1-4中的任何一步,当你的数据库升级失败(致命的失败)的时候你只能说“如果上天再给我一次机会,我一定.........."。
        我还是只能用板砖砸你。此时你基本上只有祈求奇迹的发生了。^_^
5、转储事务日志:
        dump tran db_name with no_log
6、bcp系统表的信息。
        select name form sysobjects where type='U',将显示结果保存。之后bcp出来所有系统表的信息。
        bcp master..db_name out bcp_db_name -Sserver_name -Usa -Ppasswd -c -t@
6、12.0要求master,model,和tempdb的数据库的大小分别是7,3,3m的大小。所以下面要进行的就是数据库的扩充的问题。
        alter database master on master=xx        单位是兆M。
        alter database model on dev_name=xx
        alter database tempdb on dev_name=xx

7、在12.0及以后版本的数据库中必须要有一个sybsystemdb数据库。所以要在现有的数据库server中创建一个这样的数据库。
        首先初始化一个设备。
         1>;disk init
         2>;name='dev_name',physname='/dev/rvol/dg2/vol19',vdevno=18,size=512000 (ggjjddmm们能看懂吧??^_^)
         3>;go

8、在刚才新初始化的设备上创建新的数据库sybsystemdb。
        1>; create database sybsystemdb
        2>;      on dev_name=5
        3>;      log on dev_name=15 WITH OVERRIDE
        4>;go
        CREATE DATABASE: allocating 2560 pages on disk 'dev_name'
        CREATE DATABASE: allocating 7680 pages on disk 'dev_name'
        Msg 5018, Level 17, State 1:
        Line 1:
        Caution:  You have set up this database to include space on disk 18 for both
        data and the transaction log.  This can make recovery impossible if that disk
        fails.

9、关闭数据库中除tempdb库的"select ...."外的每个数据库的选项。
        1>;sp_dboption db_name ,"option name" ,false
        2>;go
        1>;use db_name
        2>;go
        1>;checkpoint
        2>;go
        是对数据库的修改生效。

10、停止所有可能连接数据库的应用程序。
11、停止在后台或在crontab中设置的可能连接数据库的应用程序。
12、以sa登陆,使用sp_who 检查当前用户的个数。必须显示是只有一个用户,即自己。
13、编辑使用sqlupgraderes 使用的脚本文件。此文件在
        $SYBASE/ASE-12_0/init/sample_resource_files/upgrade.rs,最好将upgrade.rs文件做一个拷贝并且重新命名,例如:
        upgrade_servername.rs,文件中的相关设置其中的相关说明,应可以明白。
        使用sqlupgraderes命令升级数据库。
        sqlupgraderes -r $SYBASE/ASE-12_0/init/sample_resource_files/upgrade_servername.rs

到此你最好祈求上帝保佑你。祝你一切顺利。如果你看到10%字样出现的话,那么祝贺你,你的数据库升级已经成功了。当然这个
升级的过程比较慢,我升级的过程大概花费了10分钟左右。千万不可因为性急而中断。那样你只能扇自己的脸了。^_^

哦。忘了说在进行这些之前你一定正确安装了sybase12.0了吧。这里可能要说明一点就是,在安装之前你要将要升级的数据库额
.cshrc文件修改一下,将新的SYBASE 的路径设为新安装的数据库的路径,并在其中增加一个OLDSYBASE的环境变量。不用说你也知道这
个环境变量的用处是干什么的了吧!

好了,不罗嗦了,祝你数据库升级一帆风顺。
作者: wangsir202    时间: 2004-11-15 09:53
标题: sybase11升级到12的方法
为什么没有人回复!!!!!???????
要人过流名,燕过流毛呀!!!!^_^
作者: hobbylu    时间: 2004-11-15 10:40
标题: sybase11升级到12的方法
好东西
作者: hbgaoming    时间: 2004-11-19 09:38
标题: sybase11升级到12的方法
好东西呀,兄弟!!!111111
作者: chenrx    时间: 2004-11-21 16:15
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2