Oracle11g数据库的手工创建
1、参考文档
oracle11g 创建数据库 Oracle11g Release 2 (11.2) ;
2、具体的创建步骤
2.1 指定一个实例ID,即SID
$ ORACLE_SID = orcl1
$ export ORACLE_SID
2.2 环境变量的设定
$ vi .bash_profile
ORACLE_BASE=/u01/app/oracle/product/11.2.0
ORACLE_HOME=$ORACLE_BASE/db_1
ORACLE_SID=orcl1
PATH=$ORACLE_HOME/bin:$PATH
1、参考文档
oracle11g 创建数据库 Oracle11g Release 2 (11.2) ;
2、具体的创建步骤
2.1 指定一个实例ID,即SID
$ ORACLE_SID = orcl1
$ export ORACLE_SID
2.2 环境变量的设定
$ vi .bash_profile
ORACLE_BASE=/u01/app/oracle/product/11.2.0
ORACLE_HOME=$ORACLE_BASE/db_1
ORACLE_SID=orcl1
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
保存,退出!
2.3 选择数据库管理员的认证方法
2.3.1 基于密码文件,通过以下命令创建密码文件
$ ORAPWD FILE=orapworcl1 ENTRIES=10
2.3.2 基于操作系统认证
本示例采用基于操作系统的认证,即使用oracle用户连接数据库
$ sqlplus /nolog
> conn / as sysdba
2.4 创建初始化参数文件
初始化参数文件,可以采用数据库软件安装后的一个a,如果以前创建过数据库,则在$ORACLE_HOME/dbs下存在一个a
保存,退出!
2.3 选择数据库管理员的认证方法
2.3.1 基于密码文件,通过以下命令创建密码文件
$ ORAPWD FILE=orapworcl1 ENTRIES=10
2.3.2 基于操作系统认证
本示例采用基于操作系统的认证,即使用oracle用户连接数据库
$ sqlplus /nolog
> conn / as sysdba
2.4 创建初始化参数文件
初始化参数文件,可以采用数据库软件安装后的一个a,如果以前创建过数据库,则在$ORACLE_HOME/dbs下存在一个a
$ a
修改a中的数据,一个简单的a如下所示:
# specific hardware and needs. You may also consider using Database
# Configuration Assistant tool (DBCA) to create INIT file and to size your
# initial set of tablespaces based on the user input.
>>>>>>>>>>> # Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at
# install time)
db_name='orcl1'
memory_target=400M
processes = 150
audit_file_dest='/u01/app/oracle/product/11.2.0/admin/orcl1/adump'
audit_trail ='db'
db_block_size=8192
修改a中的数据,一个简单的a如下所示:
# specific hardware and needs. You may also consider using Database
# Configuration Assistant tool (DBCA) to create INIT file and to size your
# initial set of tablespaces based on the user input.
>>>>>>>>>>> # Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at
# install time)
db_name='orcl1'
memory_target=400M
processes = 150
audit_file_dest='/u01/app/oracle/product/11.2.0/admin/orcl1/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/product/11.2.0/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle/product/11.2.0'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (
'/u01/app/oracle/product/11.2.0/oradata/l',
'/u01/app/oracle/product/11.2.0/oradata/l',
'/u01/app/oracle/product/11.2.0/oradata/l')
compatible ='11.2.0'
db_recovery_file_dest='/u01/app/oracle/product/11.2.0/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle/product/11.2.0'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (
'/u01/app/oracle/product/11.2.0/oradata/l',
'/u01/app/oracle/product/11.2.0/oradata/l',
'/u01/app/oracle/product/11.2.0/oradata/l')
compatible ='11.2.0'
2.5 创建一个实例(Windows Only)<略,具体参考Oracle11g release2 Docs>
2.6 连接到一个实例
$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Sat Jun 9 11:07:07 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
>conn / as sysdba
Connected to an idle instance.
2.7 创建一个spfile文件
> create spfile from pfile
1 file created.
2.8 启动实例(nomount模式)
> startup nomount
2.9 执行创建数据库SQL
创建数据库的create database命令相对来说比较复杂,因此,最好将SQL写入一个createDB.sql文件中,然后再去调用,另外由于创建数据库需要在一些特定目录中写入数据,因此首先我们得准备好这些目录,如下
1、准备所需的目录
$ pwd
/u01/app/oracle/product/11.2.0 ----这是ORACLE_BASE目录
$ cd admin
$ mkdir orcl1
$ cd orcl1
$ mkdir adump
$ mkdir dpdump
$ mkdir pfile
$ cd ../../oradata
$ mkdir orcl1
2、准备createDB.sql【注意Create database命令不要出现空行,要不执行会报错!】
spool dbcreate.log
CREATE DATABASE "orcl1"
USER SYS identified by oracle
USER SYSTEM identified by oracle
CHARACTER SET AL32UTF8
$ mkdir adump
$ mkdir dpdump
$ mkdir pfile
$ cd ../../oradata
$ mkdir orcl1
2、准备createDB.sql【注意Create database命令不要出现空行,要不执行会报错!】
spool dbcreate.log
CREATE DATABASE "orcl1"
USER SYS identified by oracle
USER SYSTEM identified by oracle
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
CONTROLFILE REUSE
MAXDATAFILES 20
MAXINSTANCES 2
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 100
LOGFILE
GROUP 1 ('/u01/app/oracle/product/11.2.0/oradata/orcl1/redo01.log') size 50M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/product/11.2.0/oradata/orcl1/redo02.log') size 50M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/product/11.2.0/oradata/orcl1/redo03.log') size 50M BLOCKSIZE 512
EXTENT MANAGEMENT LOCAL
CONTROLFILE REUSE
MAXDATAFILES 20
MAXINSTANCES 2
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 100
LOGFILE
GROUP 1 ('/u01/app/oracle/product/11.2.0/oradata/orcl1/redo01.log') size 50M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/product/11.2.0/oradata/orcl1/redo02.log') size 50M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/product/11.2.0/oradata/orcl1/redo03.log') size 50M BLOCKSIZE 512
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/system01.dbf' size 500M REUSE
SYSAUX DATAFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/sysaux01.dbf' size 500M REUSE
DEFAULT TEMPORARY TABLESPACE temporcl1
TEMPFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/temp01.dbf' size 100M REUSE
UNDO TABLESPACE UNDOTBS1
DATAFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/undotbs01.dbf' size 100M REUSE
AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/users01.dbf' size 500M REUSE
AUTOEXTEND ON MAXSIZE UNLIMITED;
SYSAUX DATAFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/sysaux01.dbf' size 500M REUSE
DEFAULT TEMPORARY TABLESPACE temporcl1
TEMPFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/temp01.dbf' size 100M REUSE
UNDO TABLESPACE UNDOTBS1
DATAFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/undotbs01.dbf' size 100M REUSE
AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/users01.dbf' size 500M REUSE
AUTOEXTEND ON MAXSIZE UNLIMITED;
3、>@$ORACLE_HOME/dbs/createDB.sql
等待执行,可以在$ORACLE_BASE/diag/rdbms/orcl1/orcl1/trace目录中使用
$ tail -f alert_orcl1.log
查看创建进度
2.10 创建额外的表空间
上面创建的一些系统表空间和部分表空间,为了应用需要可以类似下面增加一些表空间,createTBS.sql如下:
--应用表空间
CREATE TABLESPACE app_tbs LOGGING
DATAFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/apps01.dbf' SIZE 100M REUSE
AUTOEXTEND ON NEXT 1024K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
--应用索引空间
CREATE TABLESPACE idx_tbs LOGGING
DATAFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/idx01.dbf' SIZE 20M REUSE
AUTOEXTEND ON NEXT 1024K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
2.11 运行创建数据字典视图的脚本
至2.10已经创建完一个数据库,但是还需要做一些创建数据字典等的工作,数据库才能正常提供使用,比如PL/SQL等,依次执行如下命令:
> @?/rdbms/admin/catalog.sql
> @?/rdbms/admin/catproc.sql
> @?/sqlplus/admin/pupbld.sql
至此创建的数据库orcl1能够正常提供服务了,当然还可以有选择的执行类似于2.11的其他脚本,以及做一些备份工作,这里就不涉及了。
CREATE TABLESPACE idx_tbs LOGGING
DATAFILE '/u01/app/oracle/product/11.2.0/oradata/orcl1/idx01.dbf' SIZE 20M REUSE
AUTOEXTEND ON NEXT 1024K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
2.11 运行创建数据字典视图的脚本
至2.10已经创建完一个数据库,但是还需要做一些创建数据字典等的工作,数据库才能正常提供使用,比如PL/SQL等,依次执行如下命令:
> @?/rdbms/admin/catalog.sql
> @?/rdbms/admin/catproc.sql
> @?/sqlplus/admin/pupbld.sql
至此创建的数据库orcl1能够正常提供服务了,当然还可以有选择的执行类似于2.11的其他脚本,以及做一些备份工作,这里就不涉及了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论