这篇文章将为大家详细讲解有关oracle中怎么创建一个数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
手工创建数据库步骤
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;
关于oracle中怎么创建一个数据库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。