存档

文章标签 ‘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 
       AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
  UNDO TABLESPACE "UNDOTBS1"
       DATAFILE 'E:\ORACLE\ORADATA\DEMO\UNDOTBS01.DBF' SIZE 200M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
  DEFAULT TABLESPACE USERS
       DATAFILE 'E:\ORACLE\ORADATA\DEMO\USERS01.DBF' SIZE 100M 
  LOGFILE
  GROUP 1 ('E:\ORACLE\ORADATA\DEMO\REDO01.LOG') SIZE 50M,
  GROUP 2 ('E:\ORACLE\ORADATA\DEMO\REDO02.LOG') SIZE 50M,
  GROUP 3 ('E:\ORACLE\ORADATA\DEMO\REDO03.LOG') SIZE 50M
  CHARACTER SET ZHS16GBK
  NATIONAL CHARACTER SET AL16UTF16;

手工创建完数据库后,要执行创建数据字典的sql文件。

在sqlplus中执行:

sql> @$ORACLE_HOME/rdbms/admin/catalog.sql;

sql> @$ORACLE_HOME/rdbms/admin/catproc.sql

sql> @$ORACLE_HOME/sqlplus/admin/pupbld.sql;

生成密码文件

在目录$ORACLE_HOME/dbs下面必须有密码文件,才能使得远程用户以sys连接数据库。oracle10g中的密码文件名称格式为:pwd$oracle_sid.ora

用命令工具生成:

orapwd file=$ORACLE_HOME/dbs/pwd$ORACLE_SID.ora password=test123 entries=10

这样就在目录$ORACLE_HOME/dbs下面生成了密码文件:pwd$ORACLE_SID.ora,密码为:test123,允许最多10个用户以sys连接。

 

————————————————————————————————————
——— 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
——— 转载务必注明原始出处 : http://www.dbainfo.net
——— 关键字: oracle10g create database command line 命令行创建数据库

                              no-gui windows linux
————————————————————————————————————

 

手动创建数据库的时候报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.