Oracle如何手工创建数据库
这篇文章给大家分享的是有关Oracle如何手工创建数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
手工创建数据库步骤1.创建instance步骤
①准备参数文件pfile/spfile(参考数据库软件安装init文件)
②启动instance实例
2.创建database数据库
①准备create database 语句
②执行create database 语句
③执行后置脚本
④验证数据库创建结果
步骤开始:一、创建instance实例--根据$ORACLE_HOME/dbs目录下init.ora文件调整为pfile参数文件
$ cd $ORACLE_HOME/dbs
$ cat init.ora |grep -v ^# | grep -v ^$ > initORCL.ora
其中,-v ^#是去掉所有的注释
-v ^$是去掉所有的空行
--调整pfile参数文件的内容
$ vi initORCL.ora
db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='<ORACLE_BASE>/admin/orcl/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=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files =(ora_control1, ora_control2)
compatible ='11.2.0'
-- 最后的结果如下:
db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='/u01/app/oracle/admin/ORCL/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = (/u01/app/oracle/oradata/ORCL/control01.ctl,/u01/app/oracle/oradata/ORCL/control02.ctl)
compatible ='11.2.0'
-- .bash_profile文件添加以下内容
$ vi .bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ORCL
export PATH=$ORACLE_HOME/bin:$PATH
-- 使换将变量生效
$ . ./.bash_profile
或者
$ source .bash_profile
-- 验证环境变量
$ echo $ORACLE_HOME
$ echo $ORACLE_SID
-进入ORACLE_BASE目录
$ cd $ORACLE_BASE
-创建目录(创建pfile中所有的目录)
$ mkdir -p admin/ORCL/adump
$ mkdir -p flash_recovery_area
$ mkdir -p oradata/ORCL
-- 根据pfile参数文件生成spfile
$ sqlplus / as sysdba
SQL> create spfile from pfile;
-- 启动到nomount状态
SQL> startup nomount
二、准备database数据库-- 编写以下内容
$ vi create_db.sql
CREATEDATABASEORCL
USERSYSIDENTIFIEDBYoracle
USERSYSTEMIDENTIFIEDBYoracle
LOGFILEGROUP1('/u01/app/oracle/oradata/ORCL/redo01.log')SIZE100MBLOCKSIZE512,
GROUP2('/u01/app/oracle/oradata/ORCL/redo02.log')SIZE100MBLOCKSIZE512,
GROUP3('/u01/app/oracle/oradata/ORCL/redo03.log')SIZE100MBLOCKSIZE512
MAXLOGFILES5
MAXLOGMEMBERS5
MAXLOGHISTORY1
MAXDATAFILES100
CHARACTERSETAL32UTF8
NATIONALCHARACTERSETAL16UTF16
EXTENTMANAGEMENTLOCAL
DATAFILE'/u01/app/oracle/oradata/ORCL/system01.dbf'SIZE325MREUSE
SYSAUXDATAFILE'/u01/app/oracle/oradata/ORCL/sysaux01.dbf'SIZE325MREUSE
DEFAULTTABLESPACEusers
DATAFILE'/u01/app/oracle/oradata/ORCL/users01.dbf'
SIZE500MREUSEAUTOEXTENDONMAXSIZEUNLIMITED
DEFAULTTEMPORARYTABLESPACEtempts1
TEMPFILE'/u01/app/oracle/oradata/ORCL/temp01.dbf'
SIZE20MREUSE
UNDOTABLESPACEundotbs1
DATAFILE'/u01/app/oracle/oradata/ORCL/undotbs01.dbf'
SIZE200MREUSEAUTOEXTENDONMAXSIZEUNLIMITED;
这里需要注意undo表空间的名字要和spfile中文件名字一样
- 需要调整的内容列表
1)修改数据库名字为ORCL
2)修改SYS和SYSTEM用户的密码为oracle
3)修改数据文件和日志文件的路径
-- 执行上述脚本
SQL> @/home/oracle/create_db.sql
--执行后置脚本文件(SYS用户)
SQL> @?/rdbms/admin/catalog.sql --数据字典,动态视图
SQL> @?/rdbms/admin/catproc.sql --PL/SQL存储过程相关代码
SQL> @?/rdbms/admin/utlrp.sql --编译对象
--执行以下脚本(system用户)
SQL> @?/sqlplus/admin/pupbld.sql --SQL*Plus相关脚本
验证数据库可用性
SQL> select status from v$instance;
SQL> select * from v$version;
感谢各位的阅读!关于“Oracle如何手工创建数据库”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。