现在的位置: 首页 > 数据库 > 正文

oracle如何创建数据库

2019年12月13日 数据库 ⁄ 共 3267字 ⁄ 字号 评论关闭

  手工创建数据库步骤

  1. 创建 instance 步骤

  ①准备参数文件 pfile/spfile (参考数据库软件安装 init 文件)

  ②启动 instance 实例

  2. 创建 database 数据库

  ①准备 create database 语句

  ②执行 create database 语句

  ③执行后置脚本

  ④验证数据库创建结果

  步骤开始:

  一、创建 instance 实例

  -- 根据 $ORACLE_HOME/dbs 目录下 init.ora 文件调整为 pfile 参数文件

  $ cd $ORACLE_HOME/dbs

  $ cat init.ora |grep -v ^# | grep -v ^$ > initORCL.ora

  其中, -v ^# 是去掉所有的注释

  -v ^$ 是去掉所有的空行

  -- 调整 pfile 参数文件的内容

  $ vi initORCL.ora

  db_name= 'ORCL'

  memory_target=1G

  processes = 150

  audit_file_dest= '/admin/orcl/adump'

  audit_trail ='db'

  db_block_size=8192

  db_domain=''

  db_recovery_file_dest= '/flash_recovery_area'

  db_recovery_file_dest_size=2G

  diagnostic_dest= ''

  dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'

  open_cursors=300

  remote_login_passwordfile='EXCLUSIVE'

  undo_tablespace='UNDOTBS1'

  control_files = (ora_control1, ora_control2)

  compatible ='11.2.0'

  -- 最后的结果如下:

  db_name=' ORCL '

  memory_target=1G

  processes = 150

  audit_file_dest=' /u01/app/oracle/admin/ORCL/adump '

  audit_trail ='db'

  db_block_size=8192

  db_domain=''

  db_recovery_file_dest=' /u01/app/oracle /flash_recovery_area'

  db_recovery_file_dest_size=2G

  diagnostic_dest='/u01/app/oracle'

  dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'

  open_cursors=300

  remote_login_passwordfile='EXCLUSIVE'

  undo_tablespace='UNDOTBS1'

  control_files = (/u01/app/oracle/oradata/ORCL/control01.ctl,/u01/app/oracle/oradata/ORCL/control02.ctl)

  compatible ='11.2.0 '

  -- .bash_profile 文件添加以下内容

  $ vi .bash_profile

  export ORACLE_BASE=/u01/app/oracle

  export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

  export ORACLE_SID=ORCL

  export PATH=$ORACLE_HOME/bin:$PATH

  -- 使换将变量生效

  $ . ./.bash_profile

  或者

  $ source .bash_profile

  -- 验证环境变量

  $ echo $ORACLE_HOME

  $ echo $ORACLE_SID

  - 进入 ORACLE_BASE 目录

  $ cd $ORACLE_BASE

  - 创建目录(创建 pfile 中所有的目录)

  $ mkdir -p admin/ORCL/adump

  $ mkdir -p flash_recovery_area

  $ mkdir -p oradata/ORCL

  -- 根据 pfile 参数文件生成 spfile

  $ sqlplus / as sysdba

  SQL> create spfile from pfile;

  -- 启动到 nomount 状态

  SQL> startup nomount

  二、准备 database 数据库

  -- 编写 以下内容

  $ vi create_db.sql

  CREATE DATABASE ORCL

  USER S YS IDENTIFIED BY oracle

  USER SYSTEM IDENTIFIED BY oracle

  LOGFILE GROUP 1 ( '/u01/app/oracle/oradata/ ORCL /redo01.log') SIZE 100M BLOCKSIZE 512,

  GROUP 2 ( '/u01/app/oracle/oradata/ ORCL /redo02.log') SIZE 100M BLOCKSIZE 512,

  GROUP 3 ( ' /u01/app/oracle/oradata/ ORCL /redo03.log') SIZE 100M BLOCKSIZE 512

  MAXLOGFILES 5

  MAXLOGMEMBERS 5

  MAXLOGHISTORY 1

  MAXDATAFILES 100

  CHARACTER SET AL32UTF8

  NATIONAL CHARACTER SET AL16UTF16

  EXTENT MANAGEMENT LOCAL

  DATAFILE ' /u01/app/oracle/oradata/ ORCL /system01.dbf ' SIZE 325M REUSE

  SYSAUX DATAFILE ' /u01/app/oracle/oradata/ ORCL /sysaux01.dbf ' SIZE 325M REUSE

  DEFAULT TABLESPACE users

  DATAFILE '/u01/app/oracle/oradata/ ORCL /users01.dbf '

  SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

  DEFAULT TEMPORARY TABLESPACE tempts1

  TEMPFILE '/u01/app/oracle/oradata/ ORCL /temp01.dbf '

  SIZE 20M REUSE

  UNDO TABLESPACE undotbs1

  DATAFILE '/u01/app/oracle/oradata/ ORCL /undotbs01.dbf'

  SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

  这里需要注意 undo 表空间的名字要和 spfile 中文件名字一样

  - 需要调整的内容列表

  1) 修改数据库名字为 ORCL

  2) 修改 SYS 和 SYSTEM 用户的密码为 oracle

  3) 修改数据文件和日志文件的路径

  -- 执行上述脚本

  SQL> @/home/oracle/create_db.sql

  -- 执行后置脚本文件( SYS 用户)

  SQL> @?/rdbms/admin/catalog.sql -- 数据字典,动态视图

  SQL> @?/rdbms/admin/catproc.sql --PL/SQL 存储过程相关代码

  SQL> @?/rdbms/admin/utlrp.sql -- 编译对象

  -- 执行以下脚本( system 用户)

  SQL> @?/sqlplus/admin/pupbld.sql --SQL*Plus 相关脚本

  验证数据库可用性

  SQL> select status from v$instance;

  SQL> select * from v$version;

抱歉!评论已关闭.