这篇文章给大家分享的是有关Oracle如何手工创建数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
手工创建数据库步骤
1. 创建instance步骤
①准备参数文件pfile/spfile(参考数据库软件安装init文件)
②启动instance实例
2. 创建database数据库
①准备create database 语句
②执行create database 语句
③执行后置脚本
④验证数据库创建结果
步骤开始:
--根据$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
-- 编写以下内容
$ vi create_db.sql
CREATE DATABASE ORCL
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/ORCL/redo01.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/oradata/ORCL/redo02.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/oradata/ORCL/redo03.log') SIZE 100M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/ORCL/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/ORCL/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/ORCL/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/ORCL/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u01/app/oracle/oradata/ORCL/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
这里需要注意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如何手工创建数据库”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!