系统环境:CentOS7;数据库:Oracle 12 c R1;shell:bash
使用 CREATE DATABASE
创建数据库orig
一般步骤
- 设置OS变量
- 配置初始化文件
- 创建必须的目录
- 创建数据库
- 创建数据库目录
1. 设置OS变量
- 了解
oratab
oratab文件位于 /etc 目录下
oratab文件使用3列格式
<database_sid>:<oracle_home_dir>:Y|N
Y|N 设定Oracle是否随服务器的重启而自动重新启动;Y代表是,N代表否
实例
#oratab文件的典例
orcl:/u01/app/oracle/product/12.1.0/dbhome_1:N
orig:/u01/app/oracle/product/12.1.0/dbhome_1;N
oracle中使用oratab
的几种使用程序
1. oraenv
使用oratab设置OS环境变量
2. dbstart
使用oratab文件在服务器重启时自动启动数据库(前提是oratab中第三个条目设为Y)
3. dbshut
使用oratab文件在服务器重启时自动关闭数据库(前提是oratab中第三个条目设为Y)
- 使用
oraenv
设置OS环境变量
[oracle@orig ~]$ cd /u01/app/oracle/product/12.1.0/dbhome_1/bin
[oracle@orig bin]$ ./oraenv
ORACLE_SID = [orcl] ? y
ORACLE_HOME = [/home/oracle] ?
- 手动设置环境变量
[oracle@orig bin]$ cd -- #回到oracle用户主目录
[oracle@orig ~]$ vi .bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_SID=orig
export LD_LIBRARY_PATH=/usr/lib:$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
2. 配置初始化文件
Oracle启动实例需要读取初始化文件;初始化文件有配置内存和提供控制文件保存位置之类的功能。初始化文件有两种:
- pfile:
init.ora
文本文件
该文件可以转化为spfile文件,spflle也可以转化为pfile文件
create spfile[='xxxxx'] from pfile[='xxxx'];
create pfile[='xxxxx'] from spfile[='xxxx'];
spfile<oracle_sid>.ora
服务器参数二进制文件
可以使用SQL的ALTER SYSTEM
语句修改spfile文件的内容创建pfile,数据库名称是orig
#initorig.ora
db_name=orig
db_block_size=8192
memory_target=300M
memory_max_target=300M
processes=200
control_files=(/u01/app/oracle/oradata/orig/controlfile/control01.ctl,/u01/app/oracle/oradata/orig/controlfile/control02.ctl)
job_queue_processes=10
open_cursors=500
undo_management=AUTO
undo_tablespace=UNDOTBS1
remote_login_passwordfile=EXCLUSIVE
3. 创建必需的目录
mkdir -p /u01/app/oracle/oradata/orig/controlfile/
mkdir -p /u01/app/oracle/oradata/orig/redofile/
4. 创建数据库
CREATE DATABASE ORIG
MAXLOGFILES 16
MAXLOGMEMBERS 4
MAXDATAFILES 1024
MAXINSTANCES 1
MAXLOGHISTORY 680
CHARACTER SET AL32UTF8
DATAFILE '/u01/app/oracle/oradata/orig/datafile/system01.dbf' SIZE 500M REUSE EXTENT MANAGEMENT LOCAL
UNDO TABLESPACE undotbs1 DATAFILE '/u01/app/oracle/oradata/orig/datafile/undotbs1.dbf' SIZE 800M
SYSAUX DATAFILE '/u01/app/oracle/oradata/orig/datafile/sysaux01.dbf' SIZE 500M
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/app/oracle/oradata/orig/datafile/temp01.dbf' SIZE 500M
DEFAULT TABLESPACE USERS DATAFILE '/u01/app/oracle/oradata/orig/datafile/users01.dbf' SIZE 20M
LOGFILE
GROUP 1 ('/u01/app/oracle/oradata/orig/redofile/redo01.rdo') SIZE 50M,
GROUP 2 ('/u01/app/oracle/oradata/orig/redofile/redo02.rdo') SIZE 50M,
GROUP 3 ('/u01/app/oracle/oradata/orig/redofile/redo03.rdo') SIZE 50M
USER SYS IDENTIFIED BY change_on_install
USER SYSTEM IDENTIFIED BY manager;
脚本位于credb.sql文件中,运行脚本文件创建数据库,运行时数据库必须处于NOMOUNT
状态
SQL>STARTUP NOMOUNT
SQL>@credb.sql
如果脚本运行成功,会显示信息Database created