作为DBA必会:怎么去编写Oracle手工建库脚本

FenggFocusOracle 2018-11-01

最近有朋友问我怎么去编写Oracle手工建库脚本,今天把之前整理的内容分享给大家。


1、设置环境变量

ORACLE_SID ORACLE_BASE ORACLE_HOME等等

2、建立参数文件pfile

可以从其他已经建好的pfile或者spfile文件中复制修改一下,同时按照里面参数的要求 建立好相关目录 替换SID名字。

3、建立口令文件

此次例子SID=test 于是执行以下指令:

orapwd file=orapwdtest password=oracle entries=10

4、sqlplus / as sysdba

根据inittest.ora文件 也就是pfile 来生成spfile

create spfile from pfile

作为DBA必会:怎么去编写Oracle手工建库脚本

5、startup nomount 启动SGA

执行以下建库脚本

@$ORACLE_HOME/dbs/XXXX.sql

建库脚本XXXX.sql

第一种脚本:

spool db1.log
CREATE DATABASE test
MAXDATAFILES 500 #设置数据文件最多只能是500个
MAXINSTANCES 8 #设置连接的实例最多8个
MAXLOGFILES 32 #设置日志组的数量最多是32个
CHARACTER SET "UTF8"
NATIONAL CHARACTER SET AL16UTF16
ARCHIVELOG
DATAFILE
'/u01/app/oracle/oradata/test/system01.dbf' size 300M
SYSAUX DATAFILE '/u01/app/oracle/oradata/test/sysaux01.dbf' size 100M
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/u01/app/oracle/oradata/test/tempts01.dbf' SIZE 100M EXTENT MANAGEMENT LOCAL
UNDO TABLESPACE "UNDOTBS1"
DATAFILE '/u01/app/oracle/oradata/test/undotbs01.dbf' SIZE 200M
LOGFILE
GROUP 1 (
'/u01/app/oracle/oradata/test/redo01a.rdo',
'/u01/app/oracle/oradata/test/redo01b.rdo'
) SIZE 100M,
GROUP 2 (
'/u01/app/oracle/oradata/test/redo02a.rdo',
'/u01/app/oracle/oradata/test/redo02b.rdo'
) SIZE 100M,
GROUP 3 (
'/u01/app/oracle/oradata/test/redo03a.rdo',
'/u01/app/oracle/oradata/test/redo03b.rdo'
) SIZE 100M
;
spool off

第二种脚本:

create database test
CHARACTER SET "UTF8"
NATIONAL CHARACTER SET AL16UTF16
user sys identified by oracle
user system identified by oracle
datafile '$ORACLE_BASE/oradata/test/system01.dbf' size 300m
sysaux datafile '$ORACLE_BASE/oradata/test/sysaux01.dbf' size 100m
default temporary tablespace temp tempfile
'$ORACLE_BASE/oradata/test/temp01.dbf' size 100m
undo tablespace "rtbs"
datafile '$ORACLE_BASE/oradata/test/rtbs01.dbf' size 100m
logfile
group 1 '$ORACLE_BASE/oradata/test/redo01a.log' size 50m,
group 2 '$ORACLE_BASE/oradata/test/redo02a.log' size 50m;

6、建库完毕后,执行

@$ORACLE_HOME/rdbms/admin/catalog.sql
@$ORACLE_HOME/rdbms/admin/catproc.sql
@$ORACLE_HOME/sqlplus/admin/pupbld.sql

以建立数据字典

建库过程补充,添加scott用户和相关案例,执行以下脚本:

@$ORACLE_HOME/rdbms/admin/utlsampl


后面会分享更多DBA内容,感兴趣的朋友可以关注下~

作为DBA必会:怎么去编写Oracle手工建库脚本

相关推荐