CentOS 7.5下Oracle 11gR2手工建库过程

2022-08-17 14:21:55 浏览数 (1)

已提前最小化安装CentOS 7.5和Oracle 11gR2裸数据库软件,记录下手工建库过程,方便了解dbca建库原理。

1.环境变量设置

#设置环境变量

cat >> /home/oracle/.bash_profile <<EOF

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export ORACLE_SID=std1

export PATH=$ORACLE_HOME/bin:/sbin:/usr/sbin:$PATH

EOF

source /home/oracle/.bash_profile

#设置命令别名

cat >> /home/oracle/.bashrc <<EOF

alias dbn='cd $ORACLE_HOME/network/admin'

alias dbs='cd $ORACLE_HOME/dbs'

alias sql='sqlplus / as sysdba'

EOF

source /home/oracle/.bashrc

#设置sqlplus环境

cat >> $ORACLE_HOME/sqlplus/admin/glogin.sql <<EOF

Define _editor='vi'

Set sqlprompt "_user'@'_connect_identifier> "

set time on

set timing on

set pagesize 40

set linesize 120

EOF

2.创建所需目录

mkdir -p $ORACLE_BASE/admin/std1/adump && mkdir -p $ORACLE_BASE/oradata/std1 && mkdir -p $ORACLE_BASE/flash_recovery_area

3.生成密码文件

dbn

orapwd file=orapwstd1 password=oracle entries=3

4.创建pfile参数文件

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

%s/ORCL/std1/g

%s/orcl/std1/g

%s#<ORACLE_BASE>#$ORACLE_BASE/g

%s#ora_control1#/u01/app/oracle/oradata/std1/ora_control1.ctl#g

%s#ora_control2#/u01/app/oracle/oradata/std1/ora_control2.ctl#g

db_name='std1'

memory_target=1G

processes = 150

audit_file_dest='$ORACLE_BASE/admin/std1/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=std1XDB)'

open_cursors=300

remote_login_passwordfile='EXCLUSIVE'

undo_tablespace='UNDOTBS1'

control_files = (/u01/app/oracle/oradata/std1/ora_control1.ctl,/u01/app/oracle/oradata/std1/ora_control2.ctl)

compatible ='11.2.0'

5.生成spfile参数文件

mount -o remount,size=4g /dev/shm   

sqlplus / as sysdba

startup nomount

create spfile from pfile;

6.执行创建数据库语句

vi crtdb.sql

CREATE DATABASE std1

  USER SYS IDENTIFIED BY oracle

  USER SYSTEM IDENTIFIED BY oracle

  LOGFILE GROUP 1 ('/u01/app/oracle/oradata/std1/redo01a.log','/u01/app/oracle/oradata/std1/redo01b.log') SIZE 100M BLOCKSIZE 512,

          GROUP 2 ('/u01/app/oracle/oradata/std1/redo02a.log','/u01/app/oracle/oradata/std1/redo02b.log') SIZE 100M BLOCKSIZE 512

  MAXLOGFILES 5

  MAXLOGMEMBERS 5

  MAXLOGHISTORY 1

  MAXDATAFILES 100

  CHARACTER SET US7ASCII

  NATIONAL CHARACTER SET AL16UTF16

  EXTENT MANAGEMENT LOCAL

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

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

  DEFAULT TABLESPACE users

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

      SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

  DEFAULT TEMPORARY TABLESPACE tempts1

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

      SIZE 20M REUSE

  UNDO TABLESPACE undotbs1

      DATAFILE '/u01/app/oracle/oradata/std1/undotbs01.dbf'      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

@crtdb.sql

7.生成数据字典

vi crtdic.sql

@?/rdbms/admin/catalog.sql

@?/rdbms/admin/catproc.sql

conn system/oracle

@?/sqlplus/admin/pupbld.sql

exit

@crtdic.sql

8.检查一哈

select * from v$version;

0 人点赞