【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= '<ORACLE_BASE>/admin/orcl/adump'

audit_trail ='db'

db_block_size=8192

db_domain=''

db_recovery_file_dest= '<ORACLE_BASE>/flash_recovery_area'

db_recovery_file_dest_size=2G

diagnostic_dest= '<ORACLE_BASE>'

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;

 



------------- end --------------



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31529886/viewspace-2640742/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31529886/viewspace-2640742/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值