<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sybase数据库技术，数据库恢复专家 &#187; 迁移</title>
	<atom:link href="http://www.dbainfo.net/tag/%e8%bf%81%e7%a7%bb/feed" rel="self" type="application/rss+xml" />
	<link>https://www.dbainfo.net</link>
	<description>提供Sybase ASE及Sybase SQL Anywhere数据库修复服务，电话：13811580958(微信)，QQ：289965371！We have many years of experience in recovering data from damanged Sybase devices. Contact us by Phone: +86 13811580958 Wechat: 13811580958 Email: 289965371@qq.com</description>
	<lastBuildDate>Sat, 14 Jun 2025 16:28:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>AIX平台上Sybase ASE数据库迁移步骤</title>
		<link>https://www.dbainfo.net/steps-to-imigrate-sybase-ase-database-on-aix-platform.htm</link>
		<comments>https://www.dbainfo.net/steps-to-imigrate-sybase-ase-database-on-aix-platform.htm#comments</comments>
		<pubDate>Mon, 19 Sep 2011 14:47:41 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase ASE]]></category>
		<category><![CDATA[Unix&Linux]]></category>
		<category><![CDATA[AIX]]></category>
		<category><![CDATA[BCP]]></category>
		<category><![CDATA[create database]]></category>
		<category><![CDATA[ddlgen]]></category>
		<category><![CDATA[迁移]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/?p=1124</guid>
		<description><![CDATA[将生产环境中AIX5.3平台上的Sybase ASE12.5.2迁移到备机作测试用，下面简单记录下主要步骤。 环境： Sybase ASE version: 12.5.2 32bit OS Version: AIX 5.3 $SYBASE: /home/syb123 Instance name: TEST database name: testdb 备机上建立好了与主机相同的vg与lv &#160; 主要步骤： 1.将主机上的目录/home/syb123打包，拷贝到备机，解开tar包到备机的相同目录下。删除备机/home/syb123下的interfaces文件。 2.修改资源文件resource file中的实例名(srvbuild.server_name)，主机名(srvbuild.network_hostname_list)等信息。主要有3个rs文件： syb_dataserver.rs，syb_backupserver.rs，syb_sqlloc.rs 3.新建Sybase ASE实例。执行： srvbuildres -r /home/syb123/syb_dataserver.rs 在新建实例的过程中，因为异步IO没有开启，报错Symbol resolution failed for /usr/ccs/lib/libc.a[aio_64.o] 。解决方法见： AIX上未启动异步IO导致Sybase服务创建失败 4.配置字符集roman8。 源数据库的字符集为roman8，使用资源文件配置新建的备机上的字符集为roman8、排序规则为：bin_roman8。unix/linux环境上新建的实例默认没有安装bin_roman8这个排序规则，需要手动添加： cd /home/syb123/charsets/roman8 charset&#160; -Usa -P -STEST binary.srt roman8 然后在执行：srvbuildres -r /home/syb123/syb_sqlloc.rs 来修改实例的默认字符集和排序规则。 5.新建备份服务 srvbuildres [...]]]></description>
			<content:encoded><![CDATA[<p>将生产环境中AIX5.3平台上的Sybase ASE12.5.2迁移到备机作测试用，下面简单记录下主要步骤。</p>
<p>环境：</p>
<p>Sybase ASE version: 12.5.2 32bit</p>
<p>OS Version: AIX 5.3</p>
<p>$SYBASE: /home/syb123</p>
<p>Instance name: TEST</p>
<p>database name: testdb</p>
<p>备机上建立好了与主机相同的vg与lv</p>
<p>&nbsp;</p>
<p><strong>主要步骤：</strong></p>
<p>1.将主机上的目录/home/syb123打包，拷贝到备机，解开tar包到备机的相同目录下。删除备机/home/syb123下的interfaces文件。<span id="more-1124"></span></p>
<p>2.修改资源文件resource file中的实例名(srvbuild.server_name)，主机名(srvbuild.network_hostname_list)等信息。主要有3个rs文件： syb_dataserver.rs，syb_backupserver.rs，syb_sqlloc.rs</p>
<p>3.新建Sybase ASE实例。执行：</p>
<p>srvbuildres -r /home/syb123/syb_dataserver.rs</p>
<p>在新建实例的过程中，因为异步IO没有开启，报错Symbol resolution failed for /usr/ccs/lib/libc.a[aio_64.o] 。解决方法见：</p>
<p><a href="https://www.dbainfo.net/aix-fail-to-create-install-of-aio.htm" target="_blank">AIX上未启动异步IO导致Sybase服务创建失败<br />
	</a></p>
<p>4.配置字符集roman8。</p>
<p>源数据库的字符集为roman8，使用资源文件配置新建的备机上的字符集为roman8、排序规则为：bin_roman8。unix/linux环境上新建的实例默认没有安装bin_roman8这个排序规则，需要手动添加：</p>
<blockquote>
<p>cd /home/syb123/charsets/roman8</p>
<p>charset&nbsp; -Usa -P -STEST binary.srt roman8</p>
</blockquote>
<p>然后在执行：srvbuildres -r /home/syb123/syb_sqlloc.rs 来修改实例的默认字符集和排序规则。</p>
<p>5.新建备份服务</p>
<p>srvbuildres -r /home/syb123/syb_backupserver.rs</p>
<p>6.从源实例中导出disk init脚本</p>
<p>使用下面的SQL语句能够导出：</p>
<blockquote>
<p>select &#39;disk init name=&quot;&#39;+name+&#39;&quot;,physname=&quot;&#39;+phyname+&#39;&quot;,size=&quot;&#39;+convert(varchar,convert(int,(high-low+1)*2.0/1024.0))+&#39;M&quot;&#39;+char(10)+&#39;go&#39; from master.dbo.sysdevices<br />
		where low/power(2,24)&gt;0<br />
		go</p>
</blockquote>
<p>7.导出create database语句</p>
<p>使用ddlgen导出源实例中用户数据库的create database语句。</p>
<p>/home/syb123/ASEP/bin/ddlgen -Usa -P -STEST -TDB -Ntestdb -O./ddlgen-testdb.sql</p>
<p>从上面的输出文件ddlgen-testdb.sql中将create database命令提取出来，加上for load选项。类似如下的命令：</p>
<blockquote>
<p>create database test on .....</p>
<p>log on ......</p>
<p>for load</p>
<p>go</p>
</blockquote>
<p>8.在备机上上初始化设备和创建用户数据库</p>
<p>在执行disk init命令先配置参数： number of devices，</p>
<p>sp_configure &quot;number of devices&quot;,50</p>
<p>go</p>
<p>然后分别执行上面得到的disk init命令来初始化Sybase逻辑设备，执行create database来创建用户数据库以备恢复用。</p>
<p>在create database命令中加入for load选项，能够提高创建库的速度，因为不需要将逻辑设备上的页面清空。</p>
<p>9.恢复源数据库</p>
<p>在备机上恢复从主机上拷贝过来的testdb数据库的备份。</p>
<blockquote>
<p>load database testdb from &#39;/syb_backup/testdb20110920.dump&#39;</p>
<p>go</p>
</blockquote>
<p>在主机上备份数据库testdb的时候，加入了压缩选项：compress=4。在恢复的时候不需要加入压缩选项，sybase备份服务器能够自动识别压缩级别。这点还是挺方便的！</p>
<p>10.增加临时数据库tempdb的空间</p>
<p>alter database tempdb on tempdb_data01=&#39;4000m&#39;</p>
<p>11.在备机将数据库testdb的属主有sa改为syb</p>
<blockquote>
<p>use testdb</p>
<p>go</p>
<p>sp_changedbowner syb</p>
<p>go</p>
</blockquote>
<p>12.重建登录、角色、用户信息</p>
<p>因为主机与备机是相同的平台，可以直接导出源实例master数据库中系统表的数据。从源实例中导出下面4张系统表的数据。</p>
<p>syslogins，sysloginroles，sysroles，sysusers</p>
<p>在备机上导入：</p>
<p>先开启选项：allow updates to system catalog。sp_configure &quot;allow updates&quot;,1</p>
<p>导入4张系统表的数据，只追加新添加的登录、用户信息。</p>
<blockquote>
<p>bcp master.dbo.syslogins in ./syslogins-20110920.bcpout -c -Usa -P -STEST -t~# <strong>-b1</strong></p>
<p>bcp master.dbo.sysloginroles in ./sysloginroles-20110920.bcpout -c -Usa -P -STEST -t~# <strong><span style="font-size:14px;">-b1</span></strong></p>
<p>bcp master.dbo.sysroles in ./sysroles-20110920.bcpout -c -Usa -P -STEST -t~#<span style="font-size:14px;"><strong> -b1</strong></span></p>
<p>bcp master.dbo.sysusers in ./sysusers-20110920.bcpout -c -Usa -P -STEST -t~# <strong><span style="font-size:14px;">-b1</span></strong></p>
</blockquote>
<p>13.配置用户数据库testdb的options</p>
<blockquote>
<p>use master</p>
<p>go</p>
<p>sp_dboption testdb,&#39;select into&#39;,true</p>
<p>go</p>
<p>sp_dboption testdb,&#39;trunc&#39;,true</p>
<p>go</p>
<p>use testdb</p>
<p>go</p>
<p>checkpoint</p>
<p>go</p>
</blockquote>
<p>14.配置备机的参数</p>
<p>如果备机与主机环境相同的话，可以将主机上的<em>&lt;servername&gt;</em>.cfg直接拷贝到备机。否则，根据主机的cfg文件适当调整sybase ase的参数。</p>
<p>15.备份master数据库、导出几张重要系统表的数据</p>
<p>初始化设备、新建数据库，添加登录等操作后，要及时备份master数据库。最好对几张重要的系统表再做一次备份。使用bcp导出系统表sysusages,sysdatabases,sysdevices,syslogins,sysloginroles,sysroles,sysusers。</p>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/steps-to-imigrate-sybase-ase-database-on-aix-platform.htm">https://www.dbainfo.net/steps-to-imigrate-sybase-ase-database-on-aix-platform.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/steps-to-imigrate-sybase-ase-database-on-aix-platform.htm">AIX平台上Sybase ASE数据库迁移步骤</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2014-08-19 -- <a href="https://www.dbainfo.net/some-useful-ddlgen-command.htm" title="ddlgen的常用语句">ddlgen的常用语句</a> (0)</li><li>2013-07-18 -- <a href="https://www.dbainfo.net/create-ase-server-by-manual.htm" title="手动创建ASE服务器">手动创建ASE服务器</a> (0)</li><li>2011-09-20 -- <a href="https://www.dbainfo.net/isqlbcp_news.htm" title="Sybase ASE 15.x版本中bcp和isql工具的新特性">Sybase ASE 15.x版本中bcp和isql工具的新特性</a> (0)</li><li>2011-09-19 -- <a href="https://www.dbainfo.net/aix-fail-to-create-install-of-aio.htm" title="AIX上未启动异步IO导致Sybase服务创建失败">AIX上未启动异步IO导致Sybase服务创建失败</a> (0)</li><li>2011-06-02 -- <a href="https://www.dbainfo.net/aix-date-change-time-zone-to-get-date.htm" title="aix系统可以用改变时区的方法获取前后N天的日期">aix系统可以用改变时区的方法获取前后N天的日期</a> (0)</li><li>2011-01-24 -- <a href="https://www.dbainfo.net/add_user_database_by_disk_init_create_database_comman.htm" title="用命令行创建用户数据库">用命令行创建用户数据库</a> (1)</li><li>2010-12-23 -- <a href="https://www.dbainfo.net/import-datetime-date-to-oracle-from-sybase-ase.htm" title="从sybase向oracle导入时间类型的数据">从sybase向oracle导入时间类型的数据</a> (0)</li><li>2010-12-22 -- <a href="https://www.dbainfo.net/cross-platform-datafile-linux-windows.htm" title="跨平台数据库的数据设备文件迁移linux > windows">跨平台数据库的数据设备文件迁移linux > windows</a> (0)</li><li>2010-11-10 -- <a href="https://www.dbainfo.net/sybase-central-export-import-table-data.htm" title="利用Sybase Central 导出与导入表内数据">利用Sybase Central 导出与导入表内数据</a> (0)</li><li>2010-11-10 -- <a href="https://www.dbainfo.net/ase-create-user-database-by-sybase-central.htm" title="利用Sybase Central创建用户数据库">利用Sybase Central创建用户数据库</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/steps-to-imigrate-sybase-ase-database-on-aix-platform.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>跨平台数据库的数据设备文件迁移linux &gt; windows</title>
		<link>https://www.dbainfo.net/cross-platform-datafile-linux-windows.htm</link>
		<comments>https://www.dbainfo.net/cross-platform-datafile-linux-windows.htm#comments</comments>
		<pubDate>Wed, 22 Dec 2010 05:39:57 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase ASE]]></category>
		<category><![CDATA[ASE]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[迁移]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/?p=615</guid>
		<description><![CDATA[linux x86 平台上的 ASE15.5 的 dat文件，拷贝到windows x86 平台上的ASE15.5中，是可以使用的。 只需要简单的修改master.dat中的device路径即可。 通过更改sysdevices的phyname来实现。 将sysdatabases系统表中status - 64&#160; 之后， 利用dbcc checkdb,dbcc checkalloc,dbcc checkcatalog 检查各个数据库。 没有错误。 说明： linux平台和windows平台的dat文件是通用的。&#160; 迁移时只拷贝数据库设备文件就能完成。 因为linux x86/x64以及windows都是小字节序（little endian）的，理论上linux x86及windows平台上的设备文件是可以通用的。 上面说的方法建议通过Sybase官方的做法： quiesce database mount database 参考：sybase设备级别的数据库移植 本文链接地址：https://www.dbainfo.net/cross-platform-datafile-linux-windows.htm； 本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载； 转载务必注明原始出处 : Sybase数据库技术，数据库恢复专家； 对《跨平台数据库的数据设备文件迁移linux > windows》有何疑问或见解，请在本文下方发表； 对网站还有其他问题或建议，请提交在留言板，谢谢！ 相关文章2009-12-10 -- Sybase从Windows到Linux的迁移指南（使用资源文件来快速新建sybase服务器） (6)2019-04-12 -- Sybase ASE及SQL Anywhere数据库修复专家 (0)2015-01-16 -- master数据库配置区域(configuration area)损坏的一种修复方法 (1)2014-10-10 [...]]]></description>
			<content:encoded><![CDATA[<p>linux x86 平台上的 ASE15.5 的 dat文件，拷贝到windows x86 平台上的ASE15.5中，是可以使用的。</p>
<p>只需要简单的修改master.dat中的device路径即可。 通过更改sysdevices的phyname来实现。</p>
<p>将sysdatabases系统表中status - 64&nbsp;</p>
<p>之后， 利用dbcc checkdb,dbcc checkalloc,dbcc checkcatalog 检查各个数据库。 没有错误。</p>
<p>说明： linux平台和windows平台的dat文件是通用的。&nbsp; 迁移时只拷贝数据库设备文件就能完成。</p>
<p>因为linux x86/x64以及windows都是小字节序（little endian）的，理论上linux x86及windows平台上的设备文件是可以通用的。</p>
<p>上面说的方法建议通过Sybase官方的做法：</p>
<p>quiesce database <br />
	mount database</p>
<p>参考：<a href="https://www.dbainfo.net/sybase-imigration-by-device.htm" target="_blank">sybase设备级别的数据库移植</a></p>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/cross-platform-datafile-linux-windows.htm">https://www.dbainfo.net/cross-platform-datafile-linux-windows.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/cross-platform-datafile-linux-windows.htm">跨平台数据库的数据设备文件迁移linux > windows</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2009-12-10 -- <a href="https://www.dbainfo.net/ase-migrate-from-windows-to-linux.htm" title="Sybase从Windows到Linux的迁移指南（使用资源文件来快速新建sybase服务器）">Sybase从Windows到Linux的迁移指南（使用资源文件来快速新建sybase服务器）</a> (6)</li><li>2019-04-12 -- <a href="https://www.dbainfo.net/sybase-ase-asa-recovery-service.htm" title="Sybase ASE及SQL Anywhere数据库修复专家">Sybase ASE及SQL Anywhere数据库修复专家</a> (0)</li><li>2015-01-16 -- <a href="https://www.dbainfo.net/one-way-to-recover-master-configuration-area.htm" title="master数据库配置区域(configuration area)损坏的一种修复方法">master数据库配置区域(configuration area)损坏的一种修复方法</a> (1)</li><li>2014-10-10 -- <a href="https://www.dbainfo.net/ase-object-name-length-limit.htm" title="ASE对象名称长度限制">ASE对象名称长度限制</a> (0)</li><li>2014-06-09 -- <a href="https://www.dbainfo.net/count_all_tables_rowcount.htm" title="统计用户数据库内所有表的行数">统计用户数据库内所有表的行数</a> (0)</li><li>2013-11-19 -- <a href="https://www.dbainfo.net/showplan_html_format.htm" title="以HTML格式显示ASE查询计划">以HTML格式显示ASE查询计划</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation5.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 5、安装后的配置工作">Sybase ASE 15.0.3 for windows平台安装文档 – 5、安装后的配置工作</a> (1)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation4.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 4、安装Sybase数据库服务">Sybase ASE 15.0.3 for windows平台安装文档 – 4、安装Sybase数据库服务</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation3.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 3、升级到 Sybase 15.0.3 ESD #3">Sybase ASE 15.0.3 for windows平台安装文档 – 3、升级到 Sybase 15.0.3 ESD #3</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation2.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 2、安装Sybase ASE程序">Sybase ASE 15.0.3 for windows平台安装文档 – 2、安装Sybase ASE程序</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/cross-platform-datafile-linux-windows.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sybase从Windows到Linux的迁移指南（使用资源文件来快速新建sybase服务器）</title>
		<link>https://www.dbainfo.net/ase-migrate-from-windows-to-linux.htm</link>
		<comments>https://www.dbainfo.net/ase-migrate-from-windows-to-linux.htm#comments</comments>
		<pubDate>Wed, 09 Dec 2009 16:42:37 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase ASE]]></category>
		<category><![CDATA[ASE]]></category>
		<category><![CDATA[迁移]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/?p=90</guid>
		<description><![CDATA[已在solaris10，ASE12.5.2下用资源文件resource_files新建了一个4k的sybase服务器。测试该方法通过！ 不过在windows下没有这个命令srvbuildres，相类似的命令工具为sybatch，况且windows下还要配置注册表信息才能启动服务除非你想每次都通过RUN_servername来启动！ 本指南实际为本人两篇文章的合集，分为安装和迁移两大部分 第一部分：在无GUI环境下安装sybase for linux 12.5.0.1 通常我们建立sybase for linux数据库服务器的时候，都是执行asecfg来建立数据 库，但是这种方式是需要在 服务器上安装X的，即使是通过X FORWARD的方式来操作，也至少需要安装上X lib。在许多时候下，我们都希望 在服务器上安装的软件包越精越好，即只需要在console环境下就能建立好我们所 需要的服务器。 sybase for linux 就提供了这样一套无需任何X软件包的数据库建立工具--- srvbuildres，它通过读取资源文件 来完成基于console的数据库建立工作。 一 安装rpm包 rpm -ivh --nodeps &#60;rpm包名&#62; 二 激活sybase帐号 passwd sybase 三 设置内核参数 echo $( expr &#60;你的内存容量(以MB为单位)&#62; \* 1024 \* 1024 ) &#62; /proc/sys/kernel/shmmax echo &#34;kernel.shmmax = &#34;$( expr &#60;你的内存容量(以MB为单位)&#62; \* 1024 \* 1024 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>已在solaris10，ASE12.5.2下用资源文件resource_files新建了一个4k的sybase服务器。测试该方法通过！<br />
	不过在windows下没有这个命令srvbuildres，相类似的命令工具为sybatch，况且windows下还要配置注册表信息才能启动服务除非你想每次都通过RUN_servername来启动！</strong></p>
<p>本指南实际为本人两篇文章的合集，分为安装和迁移两大部分</p>
<p><strong>第一部分：在无GUI环境下安装sybase for linux 12.5.0.1</strong></p>
<p>通常我们建立sybase for linux数据库服务器的时候，都是执行asecfg来建立数据<br />
	库，但是这种方式是需要在<br />
	服务器上安装X的，即使是通过X FORWARD的方式来操作，也至少需要安装上X<br />
	lib。在许多时候下，我们都希望<br />
	在服务器上安装的软件包越精越好，即只需要在console环境下就能建立好我们所<br />
	需要的服务器。<br />
	sybase for linux 就提供了这样一套无需任何X软件包的数据库建立工具---<br />
	srvbuildres，它通过读取资源文件<br />
	来完成基于console的数据库建立工作。</p>
<p>一 安装rpm包<br />
	rpm -ivh --nodeps &lt;rpm包名&gt;</p>
<p>二 激活sybase帐号<br />
	passwd sybase</p>
<p>三 设置内核参数<br />
	echo $( expr &lt;你的内存容量(以MB为单位)&gt; \* 1024 \* 1024 ) &gt;<br />
	/proc/sys/kernel/shmmax<br />
	echo &quot;kernel.shmmax = &quot;$( expr &lt;你的内存容量(以MB为单位)&gt; \* 1024 \*<br />
	1024 ) &gt;&gt; /etc/sysctl.conf<br />
	echo &quot;本机ip hostname&quot; &gt;&gt; /etc/hosts</p>
<p>四 创建数据库服务器和备份服务器<br />
	以sybase帐号登录<br />
	cp ~/ASE/init/sample_resource_files/srvbuild.adaptive_server.rs ~/server.rs<br />
	cp ~/ASE/init/sample_resource_files/srvbuild.backup_server.rs ~/backup.rs<br />
	编辑 server.rs</p>
<p>sybinit.release_directory: USE_DEFAULT<br />
	sybinit.product: sqlsrv<br />
	sqlsrv.server_name: kbibm_ase &lt;--- 填入你所准备起的数据库服务器名称, 这里是我的数据库服务器名字<br />
	sqlsrv.new_config: yes<br />
	sqlsrv.do_add_server: yes<br />
	sqlsrv.network_protocol_list: TCP<br />
	sqlsrv.network_hostname_list: &lt;--- 填入数据库服务器所在主机的主机名<br />
	sqlsrv.network_port_list: &lt;---端口号<br />
	sqlsrv.server_page_size: USE_DEFAULT<br />
	sqlsrv.force_buildmaster: no<br />
	sqlsrv.master_device_physical_name: /opt/sybase-12.5/data/master.dat<br />
	&lt;--- 设定master文件所在位置<br />
	sqlsrv.master_device_size: 100 &lt;--- size以MB为单位，这里建立100MB大小的<br />
	设备文件。<br />
	sqlsrv.master_database_size: 90 〈--- master_database 的size 至少要小于<br />
	master_device 7MB，所以这里填90MB<br />
	sqlsrv.errorlog: USE_DEFAULT<br />
	sqlsrv.do_upgrade: no<br />
	sqlsrv.sybsystemprocs_device_physical_name:<br />
	/opt/sybase-12.5/data/systemprocs.dat<br />
	sqlsrv.sybsystemprocs_device_size: 200 &lt;--- 建立200MB大小的systemprocs设<br />
	备文件<br />
	sqlsrv.sybsystemprocs_database_size: 200<br />
	sqlsrv.sybsystemdb_device_physical_name:<br />
	/opt/sybase-12.5/data/sybsystemdb.dat<br />
	sqlsrv.sybsystemdb_device_size: 200 &lt;--- 建立200MB大小的sybsystempdb设备文件<br />
	sqlsrv.sybsystemdb_database_size: 200<br />
	sqlsrv.default_backup_server: kbibm_bak &lt;--- 填入你所准备建立的备份数据库名</p>
<p>备份服务器的rs文件也按此方式进行修改</p>
<p>五 执行srvbuildres来建立数据库<br />
	$SYBASE/ASE/bin/srvbuildres -s $SYBASE -r &lt;rs文件&gt;</p>
<p>六 建立sqlloc.rs来设置本地化<br />
	sybinit.release_directory: USE_DEFAULT<br />
	sqlsrv.server_name: kbibm_ase<br />
	sqlsrv.sa_login: sa<br />
	sqlsrv.sa_password: serverj<br />
	sqlsrv.default_language: us_english<br />
	sqlsrv.language_install_list: us_english<br />
	sqlsrv.language_remove_list: USE_DEFAULT<br />
	sqlsrv.default_characterset: cp850<br />
	sqlsrv.characterset_install_list: cp850<br />
	sqlsrv.characterset_remove_list: USE_DEFAULT<br />
	sqlsrv.sort_order: binary</p>
<p>执行$SYBASE/ASE/bin/sqlloc sqlloc.rs 设置locale</p>
<p>七 由于/etc/init.d/sybase中有两处存在bug，所以我们要修改它<br />
	将SYBASE_ASE=`basename $SYBASE/ASE*` 改为 SYBASE_ASE=`basename $SYBASE/ASE`<br />
	将SYBASE_OCS=`basename $SYBASE/OCS*` 改为 SYBASE_OCS=`basename $SYBASE/OCS`<br />
	否则将不能正常启动sybase</p>
<p>八 /etc/init.d/sybase restart</p>
<p>现在我们就可以用 isql -U sa -P -S &lt;数据库服务器名&gt; 登录进去了。</p>
<p>以上步骤在redhat 7.3 上操作通过。<span id="more-90"></span></p>
<p>------------------------------------------------------------------------------</p>
<p><strong>第二部分：将Sybase for Windows 12.5的数据库迁移到Sybase for Linux 12.5平台。</strong></p>
<p>软件环境<br />
	-------------------<br />
	源数据库:Adaptive Server Enterprise/12.5/SWR 9616 GA/P<br />
	目的数据库：Adaptive Server Enterprise/12.5.0.1/EBF 10292 IR</p>
<p>操作系统：Redhat 7.3</p>
<p>硬件环境<br />
	----------<br />
	IBM Netfinity 5600</p>
<p>遇到的问题：<br />
	当把Sybase for Windows上dump下来的数据库备份文件load 到Sybase for<br />
	Linux上后，客户端程序连线运行后报出错信息&quot;You must drop<br />
	and re-create xxxx&quot;,应用程序无法正常运行。</p>
<p>问题的分析：<br />
	&nbsp; &nbsp;经分析sybase提供的出错信息，发现当把Sybase数据库从Windows向Linux跨平台迁<br />
	移时要求重建数据库的存储过程和缺省值，而且只能是删除后重建，sp_recompile<br />
	命令不起作用。如果只是小型的业务系统，手工删除、重建存储过程和缺省值并不<br />
	是很困难的事，而对于大型的数据库系统可能存有上百条存储过程和缺省值，手工<br />
	重建是不现实的。<br />
	&nbsp; &nbsp;Sybase并没有提供一套供管理员使用的批量重建存储过程和缺省值的管理工具。<br />
	为此，我自行编写了sql命令文件来实现自动化重建缺省值和存储过程的功能。</p>
<p>&nbsp; &nbsp;缺省值的重建比存储过程的重新建要简单一些。附件是重建缺省值的sql文件<br />
	通过isql -Usa -S&lt;服务器名&gt; -i sybwintolinux.sql，将该sql文件导入sybase<br />
	for linux数据库中，该sql将在<br />
	sybsystemprocs库中建立一个名为sp_rebuild_defaults的存储过程来重建指定数<br />
	据库中的所有缺省值。<br />
	使用方法为 sp_rebuild_defaults &lt;目标数据库名&gt;</p>
<p>存储过程的重建则要复杂一些，我是采了以下步骤操作：<br />
	一.首先我们先要把原有的存储过程代码导出到外部文件中<br />
	&nbsp;&nbsp;1. use &lt;业务数据库名&gt;<br />
	&nbsp; &nbsp;&nbsp;&nbsp;go<br />
	&nbsp; &nbsp;&nbsp;&nbsp;select a.text into tempdb..procs from syscomments a, sysobjets b<br />
	where b.type = &#39;P&#39; and b.id = a.id<br />
	&nbsp; &nbsp;&nbsp;&nbsp;go<br />
	&nbsp;&nbsp;2. $ bcp tempdb..procs out procs.sql -Usa -S&lt;服务器名&gt; -r &#39;&#39; -c<br />
	&nbsp;&nbsp;3. $ sed -e &#39;s/endcreate/end\ngo\ncreate/g&#39; procs.sql &gt; newprocs.sql<br />
	&nbsp; &nbsp;&nbsp; &nbsp; 在newprocs.sql文件原有内容之前增加 use &lt;业务数据库名&gt; 两行<br />
	&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;go<br />
	&nbsp; &nbsp;&nbsp; &nbsp; 在原有内容最后，增加 一条 go命令<br />
	&nbsp;&nbsp;现在，我就获得了一份完整的业务数据库中的存储过程源代码文件。</p>
<p>二.删除业务数据库原有的存储过程<br />
	&nbsp;&nbsp;1.$ sed -n -e &#39;s/create\ proc[a-z]*\ /drop\ procedure\ /g w dropprocs.sql&#39; newprocs.sql<br />
	&nbsp; &nbsp;&nbsp; &nbsp; 在dropprocs.sql文件内容之前增加 use &lt;业务数据库名&gt; 两行<br />
	&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;go<br />
	&nbsp; &nbsp;&nbsp; &nbsp; 在最后新增一行， 写入 go命令<br />
	&nbsp; &nbsp; 现在就得到了一个用于删除原有存储过程的sql文件<br />
	&nbsp;&nbsp;2. $ isql -Usa -S&lt;服务器名&gt; -i dropprocs.sql<br />
	&nbsp; &nbsp;&nbsp;&nbsp;删除业务系统中原来的存储过程，注意，在操作前，最好再仔细检查一遍<br />
	dropprocs.sql文件。</p>
<p>三.导入存储过程到数据库中<br />
	&nbsp; &nbsp;$ isql -Usa -S&lt;服务器名&gt; -i newprocs.sql<br />
	&nbsp; &nbsp;&nbsp;&nbsp;将存储过程重新导入Sybase数据库中，Sybase将会自动重新编译所有的存储<br />
	过程。</p>
<p>完成以上操作后，将客户端程序重新连上Sybase for linux，经测试运行正常。</p>
<p>总结：<br />
	1.将Sybase从Windows平台向Linux平台的迁移会遇到需要重新编译数据库对象的问<br />
	题，这里列举的是存储过程和缺省值，由于我这里没有建立过触发器和规则，所以<br />
	还不清楚是否也要重建。<br />
	2.对于大型业务数据库只有采用命令脚本的方式进行自动重建，但需要DBA仔细检<br />
	查sql脚本，特别注意一定要先备份出存储过程的源代码后再删除原存储过程。<br />
	3.在某一论坛的贴子有人说从Sybase for Linux 12.5.3开始，Sybase能自动重建跨平台数据库备份文件中的所有数据库对象（存储过程，缺省值，触发器，规则等），但未经证实。</p>
<p>最新情况，经询问Sybase技术专家，得知自Sybase 12.5.2开始，ASE具备了自动重建跨平台数据库<br />
	对象的功能了。也就不需要再按以上方式重建对象了，但我在解决上述问题时采取的一些思路<br />
	和积累的经验仍对本人在以后的工作中处理类似的问题提供了参考。</p>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/ase-migrate-from-windows-to-linux.htm">https://www.dbainfo.net/ase-migrate-from-windows-to-linux.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/ase-migrate-from-windows-to-linux.htm">Sybase从Windows到Linux的迁移指南（使用资源文件来快速新建sybase服务器）</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2010-12-22 -- <a href="https://www.dbainfo.net/cross-platform-datafile-linux-windows.htm" title="跨平台数据库的数据设备文件迁移linux > windows">跨平台数据库的数据设备文件迁移linux > windows</a> (0)</li><li>2019-04-12 -- <a href="https://www.dbainfo.net/sybase-ase-asa-recovery-service.htm" title="Sybase ASE及SQL Anywhere数据库修复专家">Sybase ASE及SQL Anywhere数据库修复专家</a> (0)</li><li>2015-01-16 -- <a href="https://www.dbainfo.net/one-way-to-recover-master-configuration-area.htm" title="master数据库配置区域(configuration area)损坏的一种修复方法">master数据库配置区域(configuration area)损坏的一种修复方法</a> (1)</li><li>2014-10-10 -- <a href="https://www.dbainfo.net/ase-object-name-length-limit.htm" title="ASE对象名称长度限制">ASE对象名称长度限制</a> (0)</li><li>2014-06-09 -- <a href="https://www.dbainfo.net/count_all_tables_rowcount.htm" title="统计用户数据库内所有表的行数">统计用户数据库内所有表的行数</a> (0)</li><li>2013-11-19 -- <a href="https://www.dbainfo.net/showplan_html_format.htm" title="以HTML格式显示ASE查询计划">以HTML格式显示ASE查询计划</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation5.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 5、安装后的配置工作">Sybase ASE 15.0.3 for windows平台安装文档 – 5、安装后的配置工作</a> (1)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation4.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 4、安装Sybase数据库服务">Sybase ASE 15.0.3 for windows平台安装文档 – 4、安装Sybase数据库服务</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation3.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 3、升级到 Sybase 15.0.3 ESD #3">Sybase ASE 15.0.3 for windows平台安装文档 – 3、升级到 Sybase 15.0.3 ESD #3</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation2.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 2、安装Sybase ASE程序">Sybase ASE 15.0.3 for windows平台安装文档 – 2、安装Sybase ASE程序</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/ase-migrate-from-windows-to-linux.htm/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>sybase设备级别的数据库移植[转]</title>
		<link>https://www.dbainfo.net/sybase-imigration-by-device.htm</link>
		<comments>https://www.dbainfo.net/sybase-imigration-by-device.htm#comments</comments>
		<pubDate>Wed, 09 Dec 2009 16:39:35 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase ASE]]></category>
		<category><![CDATA[移植]]></category>
		<category><![CDATA[设备]]></category>
		<category><![CDATA[迁移]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/?p=86</guid>
		<description><![CDATA[SYBASE ASE12.5以上版本升级到ASE15的第三种办法     SYBASE公司的产品Adapter Server目前最新的版本是ASE15.0.2，如何将原有的ASE12.5上的数据库升级到ASE15上？以前常用的方法有如下两种:     1.upgrade     2.dump/load 以上两种办法的具体实现方式可参考相关资料，ASE15目前提供了第三种升级的办法，主要是将数据库设备文件使用操作系统命令直接拷贝到升级的新平台。这种办法应该是速度最快的一种，而且Adapter Server的down机时间最短。但前提条件是源和目标均为同种操作系统平台，源和目标server页大小、语言和字符集均要相同，其中源必须是ASE12.5以上的版本。本文具体介绍第三种升级的办法。 假设源Adapter Server名为ase125， 目标Adapter Server名为ase15。可以分别在不同机器上 ，也可以在同一台机器上。 具体升级实现步骤如下: 1.在源Adapter Server上查找数据库所在的设备情况，记住设备逻辑名和所在物理位置。 H:\&#62;isql -Usa -P -Sase125 -w2000 1&#62; sp_helpdb testdb 2&#62; go 1&#62; sp_helpdevice dev1 2&#62; go 1&#62; sp_helpdevice log1 2&#62; go …… dev1  /data/dev1.dat log1  /data/log1.dat …… 2.在源Adapter Server上静默数据库，产生一个清单。静默后的数据库就只能提供查询不能增/改/删了 H:\&#62;isql -Usa -P -Sase125 -w2000 1&#62;quiesce database for_upgrd [...]]]></description>
			<content:encoded><![CDATA[<p><strong>SYBASE ASE12.5</strong><strong>以上版本升级到</strong><strong>ASE15</strong><strong>的第三种办法</strong></p>
<p>    SYBASE公司的产品Adapter Server目前最新的版本是ASE15.0.2，如何将原有的ASE12.5上的数据库升级到ASE15上？以前常用的方法有如下两种:<br />
    1.upgrade<br />
    2.dump/load<br />
以上两种办法的具体实现方式可参考相关资料，ASE15目前提供了第三种升级的办法，主要是将数据库设备文件使用操作系统命令直接拷贝到升级的新平台。这种办法应该是速度最快的一种，而且Adapter Server的down机时间最短。但前提条件是源和目标均为同种操作系统平台，源和目标server页大小、语言和字符集均要相同，其中源必须是ASE12.5以上的版本。本文具体介绍第三种升级的办法。</p>
<p>假设源Adapter Server名为ase125， 目标Adapter Server名为ase15。可以分别在不同机器上 ，也可以在同一台机器上。<br />
具体升级实现步骤如下:<br />
1.在源Adapter Server上查找数据库所在的设备情况，记住<strong>设备逻辑名</strong>和所在物理位置。<br />
H:\&gt;<strong>isql -Usa -P -Sase125 -w2000</strong><br />
1&gt; <strong>sp_helpdb testdb</strong><br />
2&gt; go<br />
1&gt; <strong>sp_helpdevice dev1</strong><br />
2&gt; go<br />
1&gt; <strong>sp_helpdevice log1</strong><br />
2&gt; go<br />
……<br />
dev1  /data/dev1.dat<br />
log1  /data/log1.dat<br />
……<br />
2.在源Adapter Server上静默数据库，产生一个清单。静默后的数据库就只能提供查询不能增/改/删了<br />
H:\&gt;<strong>isql -Usa -P -Sase125 -w2000</strong><br />
<strong>1&gt;</strong><strong>quiesce database for_upgrd hold testdb for external dump</strong><br />
2&gt;<strong>to “/data/testdb_manifest.mfst” with override</strong><br />
3&gt;<strong>go</strong></p>
<p>3.将三个文件（/data/dev1.dat、/data/log1.dat、<strong>/data/testdb_manifest.mfst</strong>）用操作系统命令拷到目标机器（如拷入“<strong>/opt/</strong>”下）。如果源和目标在同一台机器上，该步不用。</p>
<p>4.现在在源Adapter Server上可以取消静默或直接删除源Adapter Server了。如果源和目标在同一台NT机器上的话，在保留三个文件的基础上可卸载ASE125后，再安装新的ASE15<br />
H:\&gt;<strong>isql -Usa -P -Sase125 -w2000</strong><br />
<strong>1&gt;</strong><strong>quiesce database for_upgrd release</strong><br />
2&gt;<strong>go</strong></p>
<p>5.以后的操作都在目标server上，先登记清单，后映射设备，<strong>注意设备逻辑名必须与源</strong><strong>server</strong><strong>一致</strong>，物理路径可不同。<br />
H:\&gt;<strong>isql -Usa -P -Sase15 -w2000</strong><br />
<strong>1&gt;</strong><strong>mount database all from “/opt/ testdb_manifest.mfst” with listonly </strong><br />
2&gt;<strong>go</strong><br />
<strong>1&gt;</strong><strong>mount database all from “/opt/ testdb_manifest.mfst” using</strong><br />
<strong>2&gt;</strong><strong>“/opt/dev1.dat” = “dev1” ,</strong><br />
<strong>3&gt;</strong><strong>“/opt/log1.dat” =“log1” </strong><br />
4&gt;<strong>go</strong><br />
1&gt;<strong>use testdb</strong><br />
2&gt;<strong>go</strong></p>
<p>6.至此我们就完成了将ASE12.5升级到ASE15的工作。在系统空闲时还可以进行一些后续工作，如：重建索引、更新统计值、dbcc检查等。</p>
<p>这种办法除了可用于升级，还可用于单个数据库在相同操作系统平台下的不同Adapter Server之间迁移。</p>
<p><strong>一个sybase工程师提供的方法！</strong>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/sybase-imigration-by-device.htm">https://www.dbainfo.net/sybase-imigration-by-device.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/sybase-imigration-by-device.htm">sybase设备级别的数据库移植[转]</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2011-09-19 -- <a href="https://www.dbainfo.net/steps-to-imigrate-sybase-ase-database-on-aix-platform.htm" title="AIX平台上Sybase ASE数据库迁移步骤">AIX平台上Sybase ASE数据库迁移步骤</a> (0)</li><li>2010-12-22 -- <a href="https://www.dbainfo.net/cross-platform-datafile-linux-windows.htm" title="跨平台数据库的数据设备文件迁移linux > windows">跨平台数据库的数据设备文件迁移linux > windows</a> (0)</li><li>2009-12-10 -- <a href="https://www.dbainfo.net/ase-migrate-from-windows-to-linux.htm" title="Sybase从Windows到Linux的迁移指南（使用资源文件来快速新建sybase服务器）">Sybase从Windows到Linux的迁移指南（使用资源文件来快速新建sybase服务器）</a> (6)</li><li>2009-11-18 -- <a href="https://www.dbainfo.net/extend-device-size-manually.htm" title="尝试手动增加sybase设备文件的内容来扩充设备大小">尝试手动增加sybase设备文件的内容来扩充设备大小</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/sybase-imigration-by-device.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
