存档

文章标签 ‘create database’,文章数:7

1、准备环境

    首先确保sql.ini中包含主、备服务器名称;
    创建master设备所在的目录;
    主服务器和备份服务器的RUN_file文件;

2、使用命令初始化master设备
D:\ASE\sybase157\ASE-15_0\bin\sqlsrvr.exe -dD:\ASE\sybase157\data2\master.dat -b100M -Z80M -z2048 -eD:\ASE\sybase157\ASE-15_0\install\ASE157_2K.log -sASE157_2K  -MD:\ASE\sybase157\ASE-15_0

3、使用RUN_file启动新创建的服务
在windows创建的主服务的默认字符集为:cp850;
默认包含以下系统数据库:
1> select dbid,name from sysdatabases order by dbid
2> go
 dbid   name
 ------ ------------------------------
      1 master
      2 tempdb
      3 model
  31513 sybsystemdb

(4 rows affected)

4、创建sybsystemprocs数据库

将生产环境中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

 

主要步骤:

1.将主机上的目录/home/syb123打包,拷贝到备机,解开tar包到备机的相同目录下。删除备机/home/syb123下的interfaces文件。

初始化数据设备1

disk init
name='pmdb_dat1',
physname='/export/home/sybdata/HUAWEIU2000/pmdb_dat1.dat',
size='8000m'
go

初始化日志设备1
disk init
name='pmdb_log1',
physname='/export/home/sybdata/HUAWEIU2000/pmdb_log1.dat',
size='8000m'
go

初始化数据设备2
disk init
name='pmdb_dat2',
physname='/export/home/sybdata/HUAWEIU2000/pmdb_dat2.dat',
size='16000m'
go

创建数据库pmdb
create database pmdb on pmdb_dat1='8000m',pmdb_dat2='16000m' log on pmdb_log1='8000m'
go

利用Sybase Central创建用户数据库

Sybase的数据库设备按照用途可以分为:数据设备和日志设备。建议将用户数据库的数据和日志分配到独立的数据库设备上。下面演示建立一个用户数据库,名字为:Demo,分配到两个数据库设备上:Demo_dat和 Demo_log。

  1. 创建数据库设备

用sa登录Sybase数据库,在左边的文件夹目录中选择"数据库设备",在"数据库设备"上点右键,选择 新建 > 数据库设备

选择 数据库设备 后,弹出如下的添加数据库设备的向导

先初始化数据库设备:Demo_dat,对应的设备物理文件路径为:d:\syb_data\Demo_dat.dat

请确保路径d:\syb_data存在,因为在初始化设备的时候Sybase不会建立相应的目录;保证目录d:\syb_data有足够的可用空间。

以下的脚本能够自动创建数据库、登录、用户并能给用户分配命令权限。只需要指定用户数据库的名称,数据设备、日志设备的大小,登录名称以及登录密码即可。

局限性:

没有判断即将要创建的设备是否存在?

将数据库设备创建在和master设备同一目录下,不能提高物理IO的性能。

脚本文件下载:sybase数据库自动创建脚本.sql

-----------------------------------------------------------------------------------------------------------------------------

use master
go
declare @dbname varchar(30)
declare @MasterDevicePath varchar(255),@LogicalDataDevName varchar(30),@LogicalLogDevName varchar(30)
declare @DATDevicePath varchar(255),@LOGDevicePath varchar(255),@DataDevSize int,@LogDevSize int,@DataDevPageCount  int,@LogDevPageCount int
declare @SQLTEXT varchar(255)
declare @loginname varchar(30),@loginpasswd varchar(30)
set nocount on
begin
-- @dbname 代表将要创建的数据库名称

下面的语法在oracle 10.2.0.1上面成功执行完成。在windows-xp和ubuntu上都成功创建了数据库实例。 CREATE DATABASE demo   MAXDATAFILES 500   MAXINSTANCES 10   MAXLOGFILES 32   NOARCHIVELOG   DATAFILE        'E:\ORACLE\ORADATA\DEMO\SYSTEM01.DBF'        SIZE 300M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL   SYSAUX DATAFILE 'E:\ORACLE\ORADATA\DEMO\SYSAUX01.DBF'        SIZE 300M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED   DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE 'E:\ORACLE\ORADATA\DEMO\TEMP01.DBF' SIZE 100M         [...]

手动创建数据库的时候报ORA-02778错误。ORA-02778: Name given for the log directory is invalid 原因是 :$ORACLE_BASE/admin/$ORACLE_SID里面的一些目录没有创建好,比如:bdump,cdump,pfile,udump 另外:oracle 10G的log_archive_format 参数不能随便改,否则会启动不了数据库. 会报以下错误:ORA-32004: obsolete and/or deprecated parameter(s) specified ORA-19905: log_archive_format must contain %s, %t and %r 解决办法 :修改后以pfile方式进去,创建spfile.