我想去回忆一下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 640k 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_x64平台的安装手册
linux-6-64下安装oracle 12c笔记
在centos 6.4下安装oracle 11gr2(x64)
oracle 11gr2 在vmware虚拟机中安装步骤
debian 下 安装 oracle 11g xe r2
本文永久更新链接地址: