使用CREATE DATABASE语句创建数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用CREATE DATABASE语句创建数据库相关的知识,希望对你有一定的参考价值。

   本文参考了《Administrator‘s Guide 》第二章中使用create database创建数据库的方式。一般而言,我们最先接触到的是使用dbca创建数据库,与之相比,使用create database 显得较为复杂。

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

使用create database命令创建数据库需要经过如下步骤:

步骤1: 指定实例标识符

export ORACLE_SID=mynewdb


步骤2: 设定相关的环境变量

ORACLE_HOME和ORACLE_SID必须指定,PATH变量可选

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export PATH=$PATH:$ORACLE_HOME/bin


步骤3: 选择数据库管理员的认证方式

数据库管理员的认证方式有密码文件认证和操作系统认证。

密码文件认证:在创建密码文件时会要求输入密码。

操作系统认证:将用户加入到dba组中。


步骤4: 创建静态参数文件

可以从其他数据库中拷贝静态参数文件,也可以通过修改初始化参数的样本来创建参数文件。

DB_NAME、CONTROL_FILES、MEMORY_TARGET这三个参数值必须要指定。

静态参数文件命名为initSID.ora。

[[email protected] dbs]$ cp init.ora initmynewdb.ora

注:因为只是测试,因此并未对样本参数文件做过多的修改。要注意的是,要建好参数文件中对应的目录。


步骤5: 连接数据库

以密码文件为认证方式的连接方式:

[[email protected] mynewdb]$ sqlplus /nolog

SQL> CONNECT SYS AS SYSDBA

以操作系统认证方式的连接方式

$ sqlplus /nolog

SQL> CONNECT / AS SYSDBA


步骤6: 创建动态参数文件

CREATE SPFILE FROM PFILE;#这一步可放在以后执行


步骤7: 启动实例

STARTUP NOMOUNT


步骤8: 发出create database 指令

CREATE DATABASE mynewdb

USER SYS IDENTIFIED BY asd

USER SYSTEM IDENTIFIED BY asd

LOGFILE GROUP 1 (‘/app/oracle/oradata/mynewdb/redo01a.log‘,‘/app/oracle/oradata/mynewdb/redo01b.log‘) SIZE 100M BLOCKSIZE 512,

GROUP 2 (‘/app/oracle/oradata/mynewdb/redo02a.log‘,‘/app/oracle/oradata/mynewdb/redo02b.log‘) SIZE 100M BLOCKSIZE 512,

GROUP 3 (‘/app/oracle/oradata/mynewdb/redo03a.log‘,‘/app/oracle/oradata/mynewdb/redo03b.log‘) SIZE 100M BLOCKSIZE 512

MAXLOGFILES 5

MAXLOGMEMBERS 5

MAXLOGHISTORY 1

MAXDATAFILES 100

CHARACTER SET AL32UTF8

NATIONAL CHARACTER SET AL16UTF16

EXTENT MANAGEMENT LOCAL

DATAFILE ‘/app/oracle/oradata/mynewdb/system01.dbf‘ SIZE 325M REUSE

SYSAUX DATAFILE ‘/app/oracle/oradata/mynewdb/sysaux01.dbf‘ SIZE 325M REUSE

DEFAULT TABLESPACE users

DATAFILE ‘/app/oracle/oradata/mynewdb/users01.dbf‘

SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

DEFAULT TEMPORARY TABLESPACE tempts1

TEMPFILE ‘/app/oracle/oradata/mynewdb/temp01.dbf‘

SIZE 20M REUSE

UNDO TABLESPACE UNDOTBS1

DATAFILE ‘/app/oracle/oradata/mynewdb/undotbs01.dbf‘

SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;


步骤 9: 创建额外的表空间

CREATE TABLESPACE apps_tbs LOGGING

DATAFILE ‘/app/oracle/oradata/mynewdb/apps01.dbf‘

SIZE 500M REUSE AUTOEXTEND ON NEXT  100M MAXSIZE UNLIMITED

EXTENT MANAGEMENT LOCAL;

-- create a tablespace for indexes, separate from user tablespace (optional)

CREATE TABLESPACE indx_tbs LOGGING

DATAFILE ‘/app/oracle/oradata/mynewdb/indx01.dbf‘

SIZE 100M REUSE AUTOEXTEND ON NEXT  10M MAXSIZE UNLIMITED

EXTENT MANAGEMENT LOCAL;


步骤 10: 运行脚本构建数据字典视图

用有sysdba权限的用户执行:

@?/rdbms/admin/catalog.sql

@?/rdbms/admin/catproc.sql

@?/rdbms/admin/utlrp.sql

用SYSTEM用户执行

@?/sqlplus/admin/pupbld.sql


步骤11:备份数据库

可将数据库切换到归档模式下进行RMAN备份。

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



本文出自 “三国冷笑话” 博客,请务必保留此出处http://myhwj.blog.51cto.com/9763975/1889503

以上是关于使用CREATE DATABASE语句创建数据库的主要内容,如果未能解决你的问题,请参考以下文章

MySQL快速入门:CREATE DATABASE语句创建数据库

[23]SQL CREATE DATABASE 语句

Create database语句介绍 MySQL DBA周末学习

EF6:在多语句事务内不允许使用 CREATE DATABASE 语句

python能创建sql server数据库,执行create database语句吗?

如何在 VSTS DB Edition Deploy 中自定义 CREATE DATABASE 语句?