这篇文章将为大家详细讲解有关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 ^$ 是去掉所有的空行
$ 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 '
$ 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
$ 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 中文件名字一样
- 需要调整的内容列表
2) 修改 SYS 和 SYstem 用户的密码为 oracle
-- 执行上述脚本
sql> @/home/oracle/create_db.sql
sql> @?/rdbms/admin/catalog.sql -- 数据字典,动态视图
sql> @?/rdbms/admin/catproc.sql --PL/sql 存储过程相关代码
sql> @?/rdbms/admin/utlrp.sql -- 编译对象
sql> @?/sqlplus/admin/pupbld.sql --sql*Plus 相关脚本
验证数据库可用性
sql> select status from v$instance;
sql> select * from v$version;
关于oracle中怎么创建一个数据库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。