视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle实例创建脚本
2020-11-09 12:52:43 责编:小采
文档


我想去回忆一下Oracle实例的创建。一种方法,DBCA,图形界面,但是需要依赖xming或xmanager这类软件;另一种方法就是脚本创建Ora

遥想刚入职时,一台服务器就挂了,所以就是在“危难”中有机会学习。在夜深人静时,我想去回忆一下Oracle实例的创建。一种方法,DBCA,图形界面,但是需要依赖xming或xmanager这类软件;另一种方法就是脚本创建Oracle数据库实例。第一种方法简单,易上手,但是对初学者,不能学习到更多数据库知识;第二种方法用脚本就能更了然数据库的各种文件以及参数。本文只介绍脚本创建Oracle实例。

记得2010年,还是用Oracle10g,如今用11g,他们的差异在于dump 目录略不同。我们就高不就低,以Oracle 11g创建一个实例为例,一起看看有哪些点需要我们注意滴。

第一步:创建文件目录,并将文件目录授权给oracle用户,以webdb为实例名举例,进行如下操作,其中adump,,dpdump,fast_recovery_area 是必须要有的(这几个目录11g跟10g略不同,需要注意),oradata/webdb和/tabdata/webdb的创建根据管理员习惯,一般oradata/webdb用来存储系统级别文件,如redolog,system file,undo file 等,tabdata/webdb用来放新增表空间文件(数据文件)。

mkdir -p /u00/app/oracle/admin/webdb/adump

mkdir -p /u00/app/oracle/admin/webdb/dpdump

mkdir -p /u00/app/oracle/fast_recovery_area/webdb

mkdir -p /u01/oradata/webdb

mkdir -p /u01/tabdata/webdb

chown oracle:oinstall /u00/app/oracle/admin/webdb/adump

chown oracle:oinstall /u00/app/oracle/admin/webdb/dpdump

chown oracle:oinstall /u00/app/oracle/fast_recovery_area/webdb

chown oracle:oinstall /u01/oradata/webdb

chown oracle:oinstall /u01/tabdata/webdb

第二步:export 实例名称

ORACLE_SID=webdb; export ORACLE_SID

第三步:手工在/etc/oratab文件下增加实例名称(这个文件很重要,详情后续会有文章介绍)

echo "webdb:$ORACLE_HOME:Y" >> /etc/oratab

第四步:手工在$ORACLE_HOME/dbs增加pfile 文件(此文件是实例参数值的重要文件)

vi $ORACLE_HOME/dbs/initwebdb.ora

文件内容如下:

webdb.__db_cache_size=679477248

webdb.__java_pool_size=4194304

webdb.__large_pool_size=4194304

webdb.__oracle_base='/u00/app/oracle'#ORACLE_BASE set from environment

webdb.__pga_aggregate_target=104857600

webdb.__sga_target=943718400

webdb.__shared_io_pool_size=0

webdb.__shared_pool_size=243269632

webdb.__streams_pool_size=0

*.audit_file_dest='/u00/app/oracle/admin/webdb/adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/u01/oradata/webdb/control01.ctl','/u00/app/oracle/fast_recovery_area/webdb/control02.ctl'

*.db_block_size=8192

*.db_domain='webex.com'

*.db_name='webdb'

*.db_recovery_file_dest='/u00/app/oracle/fast_recovery_area'

*.db_recovery_file_dest_size=2097152000

*.diagnostic_dest='/u00/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=webdbXDB)'

*.open_cursors=500

*.pga_aggregate_target=104857600

*.processes=1000

*.remote_login_passwordfile='EXCLUSIVE'

*.sessions=1105

*.sga_target=943718400

*.undo_tablespace='UNDOTBS1'

第五步:手工orap生成密码

$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapwwebdb password=dbpassword force=y

第六步:运行一些列脚本,直至数据库创建完毕。

(1)$ORACLE_HOME/bin/sqlplus /nolog

(2)sql>connect "SYS"/"password" as SYSDBA

//创建spfile基于刚给的pfile,为什么创建一个,这个很有用,万一pfile出错了,或者被意外更改,spfile的用途很大,后边有空来详细介绍下spfile跟pfile的使用,如果有spfile,oracle默认限度spfile,只有当spfile没有时,才读pfile。而且spfile是二进制,pfile就是普通的文件,可读可改。方便的同时也容易被误操作。

(3)sql>create spfile='$ORACLE_HOME/dbs/spfilewebdb.ora' from pfile='$ORACLE_HOME/dbs/initwebdb.ora';

(4)sql>startup nomount

(5)@createdb.sql

//createdb.sql脚本如下,其中包括redolog 大小,位置,以及系统文件等,尤其注意character set设置在这里,不要一失足,后面该很麻烦滴。关于这个字符集设置,小编也有血泪史,后面给大家介绍些诡异的手法。

CREATE DATABASE webdb

LOGFILE group 1 ('/u01/oradata/webdb/redo01.log' ) SIZE 51200K,

group 2 ('/u01/oradata/webdb/redo02.log' ) SIZE 51200K,

group 3 ('/u01/oradata/webdb/redo03.log' ) size 51200K

DATAFILE '/u01/oradata/webdb/system01.dbf' SIZE 200M autoextend on next 10M maxsize unlimited

sysaux datafile '/u01/oradata/webdb/sysaux01.dbf' size 100M autoextend on next 10M maxsize unlimited

character set WE8ISO8859P1

EXTENT MANAGEMENT LOCAL

undo tablespace UNDOTBS1

datafile '/u01/oradata/webdb/UNDOTBS01.dbf'

size 50M autoextend on next 5M maxsize UNLIMITED

default temporary tablespace temp

tempfile '/u01/oradata/webdb/temp01.dbf'

size 50M autoextend on next 0K maxsize UNLIMITED;

startup force;

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

ALTER SYSTEM SWITCH LOGFILE;

(6)@dic.sql

//运行数据字典dic.sql内容如下:

SET VERIFY OFF

connect "SYS"/"password" as SYSDBA

spool dic

@?/rdbms/admin/catalog.sql

@?/rdbms/admin/catproc.sql

@?/rdbms/admin/catblock.sql

@?/rdbms/admin/catoctk.sql

@?/rdbms/admin/owminst.plb

spool off

connect "SYSTEM"/"password"

spool pub

@?/sqlplus/admin/pupbld.sql

@?/sqlplus/admin/help/hlpbld.sql helpus.sql

spool off

(7)@ctab.sql

//ctab.sql 是创建表空间,语法格式如下。

connect "SYS"/"password" as SYSDBA

spool ctab

DROP TABLESPACE BACKUPINCLUDING CONTENTS AND DATAFILES;

CREATE TABLESPACE BACKUP DATAFILE

'/u01/tabdata/webdb/BACKUP.dbf' SIZE 1320M AUTOEXTEND ON NEXT 8K MAXSIZE UNLIMITED

LOGGING

ONLINE

PERMANENT

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K

BLOCKSIZE 8K

SEGMENT SPACE MANAGEMENT AUTO

FLASHBACK ON;

(8)@cuser.sql

//cuser.sql是用来创建用户。

sqlplus / as sysdba

CREATE USER MAINT

IDENTIFIED BY password

DEFAULT TABLESPACE BACKUP

TEMPORARY TABLESPACE TEMP

PROFILE DEFAULT

ACCOUNT UNLOCK;

-- 2 Roles for MAINT

GRANT CONNECT TO MAINT;

GRANT RESOURCE TO MAINT;

ALTER USER MAINT DEFAULT ROLE ALL;

-- 1 System Privilege for WBXMAINT

GRANT UNLIMITED TABLESPACE TO MAINT;

==============================================================================

Done

基于以上步骤,就可以so easy且有所得滴创建一个instance。

还需要在listener 以及tns 文件上天剑才能进行网络连接。后面会给大家分享OracleDB连接方式时,再详细介绍。

希望对您有帮助,有什么可以帮您?请留言。

Oracle 11g 在RedHat Linux 5.8_x平台的安装手册

Linux-6-下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

本文永久更新链接地址:

下载本文
显示全文
专题