文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎样手工方式建立 ORACLE数据库

2023-06-06 03:48

关注

这篇文章将为大家详细讲解有关怎样手工方式建立 ORACLE数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

通过dbca方式创建Oracle数据库是最常见的方法,除此之外如果对数据库的创建过程了解的话,亦可一步一步的通过命令行的方式完成数据库的创建。
现将在OEL4.8操作系统上手工创建Oracle数据库实例的方法记录在此,供参考。

1.手工建库前提条件
既然已经到了创建数据库实例的阶段,因此主机上的数据库软件需要事先创建完毕。

2.准备.bash_profile配置文件并确认环境变量
1)编辑.bash_profile文件
[oracle@secDB ~]$ vi .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/sbin:/usr/local/bin

export PATH
unset USERNAME

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export ORACLE_SID=secooler

export PATH=$ORACLE_HOME/bin:$PATH

需要设置的环境变量主要就是这三个:ORACLE_BASE、ORACLE_HOME、ORACLE_SID和PATH
需要说明的是PATH变量的设置,需要将“$ORACLE_HOME/bin”写在“$PATH”之前,这样设置主要目的是:Oracle命令优先被选择。

2)使.bash_profile配置文件生效
[oracle@secDB ~]$ . ./.bash_profile

[oracle@secDB ~]$ source ./.bash_profile

3)确认ORACLE_SID等环境变量被正确设置
[oracle@secDB ~]$ env | grep -i sid
ORACLE_SID=secooler
[oracle@secDB ~]$ env | grep ORACLE_BASE
ORACLE_BASE=/u01/app/oracle
[oracle@secDB ~]$ env | grep ORACLE_HOME
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

3.在$ORACLE_BASE下创建所需的目录
1)创建四个转储目录
[oracle@secDB ~]$ cd $ORACLE_BASE
[oracle@secDB oracle]$ mkdir -p admin/secooler/adump
[oracle@secDB oracle]$ mkdir -p admin/secooler/bdump
[oracle@secDB oracle]$ mkdir -p admin/secooler/cdump
[oracle@secDB oracle]$ mkdir -p admin/secooler/udump

2)创建存放数据文件、日志文件和控制文件的目录
[oracle@secDB oracle]$ mkdir -p oradata/secooler/dfile
[oracle@secDB oracle]$ mkdir -p oradata/secooler/lfile
[oracle@secDB oracle]$ mkdir -p oradata/secooler/cfile

3)创建备份介质存放的目录
[oracle@secDB oracle]$ mkdir -p rmanbak


4.生成密码文件
[oracle@secDB ~]$ cd $ORACLE_HOME/dbs
[oracle@secDB dbs]$ orapwd file=orapwsecooler password=change_on_install entries=10

5.创建所需的pfile和spfile
1)创建pfile文件并调整
我们根据Oracle安装软件$ORACLE_HOME/dbs目录下自带的init.ora来定制我们需要的pfile。
(1)进入到$ORACLE_HOME/dbs目录
[oracle@secDB ~]$ cd $ORACLE_HOME/dbs
(2)去掉默认init.ora文件中杂乱的内容,仅保留参数本身信息
[oracle@secDB dbs]$ cat init.ora |grep -v ^# |grep -v ^$ > initsecooler.ora
(3)调整initsecooler.ora参数内容
调整后的内容如下:
[oracle@secDB dbs]$ vi initsecooler.ora
db_name=secooler
db_files = 80                       # SMALL
db_file_multiblock_read_count = 8   # SMALL
#db_block_buffers = 100             # SMALL
#shared_pool_size = 3500000         # SMALL
log_checkpoint_interval = 10000
processes = 50                      # SMALL
parallel_max_servers = 5            # SMALL
log_buffer = 32768                  # SMALL
max_dump_file_size = 10240    # limit trace file size to 5 Meg each
global_names = TRUE
#control_files = (ora_control1, ora_control2)
control_files = (/u01/app/oracle/oradata/secooler/cfile/ora_control1,/u01/app/oracle/oradata/secooler/cfile/ora_control2,/u01/app/oracle/oradata/secooler/cfile/control3)
sga_max_size=300M
sga_target=300M
~
~

较之系统自带的参数文件做了如下修改动作:
a.修改db_name参数为
b.注销掉参数db_block_buffers、shared_pool_size
c.修改controlfile参数
c.增加sga_max_size和sga_target参数,大小设置为300M。

2)创建spfile并调整
(1)使用sqlplus命令登陆创建spfile
[oracle@secDB dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 7 22:44:55 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> create spfile from pfile;

(2)启动数据库到nomount状态,调整spfile参数
a.启动数据库到nomount状态
SQL> startup nomount;
ORACLE instance started.

Total System Global Area  314572800 bytes
Fixed Size                  1219184 bytes
Variable Size              96470416 bytes
Database Buffers          213909504 bytes
Redo Buffers                2973696 bytes

b.需要修改的spfile参数如下
SQL> alter system set undo_management=auto scope=spfile;
SQL> alter system set db_create_file_dest='/u01/app/oracle/oradata/secooler/dfile' scope=spfile;
SQL> alter system set db_create_online_log_dest_1='/u01/app/oracle/oradata/secooler/lfile' scope=spfile;
SQL> alter system set job_queue_processes =5 scope=spfile;
SQL> alter system set background_dump_dest='/u01/app/oracle/admin/secooler/bdump' scope=spfile;
SQL> alter system set core_dump_dest= '/u01/app/oracle/admin/secooler/cdump' scope=spfile;
SQL> alter system set user_dump_dest='/u01/app/oracle/admin/secooler/udump' scope=spfile;
SQL> alter system set audit_file_dest='/u01/app/oracle/admin/secooler/adump' scope=spfile;

c.停起数据库到nomount状态使spfile调整生效
SQL> shutdown immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> startup nomount;
ORACLE instance started.

Total System Global Area  314572800 bytes
Fixed Size                  1219184 bytes
Variable Size              96470416 bytes
Database Buffers          213909504 bytes
Redo Buffers                2973696 bytes

6.创建数据库
1)编写create database脚本
(1)获取create database的参考脚本
在Oracle文档中中有一个供参考的创建语句
(1)进入到Oracle官方文档的首页:http://www.oracle.com/pls/db102/homepage;
(2)点击“Books”;
(3)在列出来的参考书目中的找到第5本书“Administrator's Guide”,点击“HTML”进入;
(4)搜索关键字“create database statement”,位到“Step 7: Issue the CREATE DATABASE Statement”,点击进入便可以得到创建数据库的参考脚本;

2)调整参考脚本中的内容为我所用
(1)需要调整的内容
数据库名字
SYS和SYSTEM密码
路径名修改,注意一定要准确全面
表空间tbs_1后面给出具体数据文件信息

(2)调整后的脚本如下
CREATE DATABASE secooler
   USER SYS IDENTIFIED BY change_on_install
   USER SYSTEM IDENTIFIED BY manager
   LOGFILE GROUP 1 ('/u01/app/oracle/oradata/secooler/lfile/redo01.log') SIZE 100M,
           GROUP 2 ('/u01/app/oracle/oradata/secooler/lfile/redo02.log') SIZE 100M,
           GROUP 3 ('/u01/app/oracle/oradata/secooler/lfile/redo03.log') SIZE 100M
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   MAXINSTANCES 1
   CHARACTER SET US7ASCII
   NATIONAL CHARACTER SET AL16UTF16
   DATAFILE '/u01/app/oracle/oradata/secooler/dfile/system01.dbf' SIZE 325M REUSE
   EXTENT MANAGEMENT LOCAL
   SYSAUX DATAFILE '/u01/app/oracle/oradata/secooler/dfile/sysaux01.dbf' SIZE 325M REUSE
   DEFAULT TABLESPACE tbs_1 datafile '/u01/app/oracle/oradata/secooler/dfile/tbs_1.dbf' size 50m
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/u01/app/oracle/oradata/secooler/dfile/temp01.dbf'
      SIZE 20M REUSE
   UNDO TABLESPACE undotbs
      DATAFILE '/u01/app/oracle/oradata/secooler/dfile/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

3)使用上面的create database脚本创建数据库
脚本执行之后,此时数据库状态已经为OPEN状态。
SQL> select status from v$instance;

STATUS
------------
OPEN

4)设置数据文件和临时文件为自动扩展
(1)获得所有数据文件和临时文件信息
SQL> col name for a60
SQL> select file#,name from v$datafile union select file#,name from v$tempfile;

     FILE# NAME
---------- ------------------------------------------------------------
         1 /u01/app/oracle/oradata/secooler/dfile/system01.dbf
         1 /u01/app/oracle/oradata/secooler/dfile/temp01.dbf
         2 /u01/app/oracle/oradata/secooler/dfile/undotbs01.dbf
         3 /u01/app/oracle/oradata/secooler/dfile/sysaux01.dbf
         4 /u01/app/oracle/oradata/secooler/dfile/tbs_1.dbf

(2)将其调整为自动扩展
SQL> alter database datafile 1 autoextend on;
SQL> alter database datafile 2 autoextend on;
SQL> alter database datafile 3 autoextend on;
SQL> alter database datafile 4 autoextend on;
SQL> alter database tempfile 1 autoextend on;

7.执行catalog.sql和catproc.sql脚本创建数据字典视图并配置
注意这两个脚本需要以SYSDBA身份来执行
[oracle@secDB ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 7 22:17:18 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> @?/rdbms/admin/catalog.sql
 大约需要5分钟 

SQL> @?/rdbms/admin/catproc.sql  
大约需要10分钟

8.小结
手工创建数据库相比dbca来说繁琐了很多,不过整个安装过程体现的是Oracle的运行原理,对于理解数据库细节来说有很大的裨益。

关于怎样手工方式建立 ORACLE数据库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯