Oracle手动建库安装部署超详细教程

 更新时间:2021年03月17日 11:12:03   作者:东瑜  
这篇文章主要介绍了Oracle手动建库安装部署超详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

手动创建PROD数据库

步骤1 指定SID

Oracle_SID是用于区别数据库实例的环境变量。

ORACLE_SID=prod
export ORACLE_SID

步骤2 确定Oracle环境的环境变量

在操作系统平台下,Oracle_SIDORACLE_HOME必须指定,建议指定PATH包含ORACLE_HOME/bin目录。环境变量的实际操作如下:

创建数据目录和审计目录:

[oracle@db1 oradata]$ mkdir -p /u01/app/oradata/prod 
[oracle@db1 oradata]$ mkdir -p $ORACLE_BASE/admin/prod/adump
[oracle@db1 dbs]$ mkdir -p /u01/app/flash_recovery_area

环境变量配置:

ORACLE_BASE=/u01/app
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
#ORACLE_SID=oradb
ORACLE_SID=prod
export ORACLE_BASE ORACLE_HOME ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH
export PATH
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

即时生效,验证ORACLE_SID是否是prod

[oracle@db1 ~]$ source .bash_profile 
[oracle@db1 ~]$ echo $ORACLE_SID
prod

可选操作,部署glogin.sql和rlwrap

$ORACLE_HOME/sqlplus/admin/glogin.sql
set sqlprompt _user'@'_connect_identifier> 

rlwarp的配置,参考:rlwarp的使用

步骤3 设置Oracle的口令认证方式

创建Oracle的口令文件

[oracle@db1 ~]$ cd $ORACLE_HOME/dbs
[oracle@db1 dbs]$ orapwd file=orapwPROD password=oracle entries=30

步骤4 创建初始化参数文件

官方文档的参考文件链接为:Oracle参数文件的例子

cd $ORACLE_HOME/dbs

官方的参数文件init.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'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'

通过vi命令中的

  • :%s#orcl#prod#gi替换里面的orcl的字符串。其中i命令不区分大小写。
  • :%s#ora_control1#/u01/app/oradata/prod/control01.ctl#g替换ora_control1的字符串。
  • :%s#ora_control2#/u01/app/oradata/prod/control02.ctl#g替换ora_control2的字符串。
  • :%s#<ORACLE_BASE>#/u01/app#g替换<ORACLE_BASE>的字符串。
  • :wq命令保存配置。

修改后,我个人的参数文件initprod.ora 如下:

db_name='prod'
memory_target=1G
processes = 150
audit_file_dest='/u01/app/admin/prod/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app'
dispatchers='(PROTOCOL=TCP) (SERVICE=prodXDB)'
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/oradata/prod/control01.ctl, /u01/app/oradata/prod/control02.ctl)
compatible ='11.2.0'

步骤5 连接数据库实例

有命令文件,可以通过如下命令连接:

[oracle@db1 dbs]$ sqlplus /nolog
@> connect sys as sysdba
Enter password: 
Connected to an idle instance.
SYS@prod> 

OS认证登录方式,命令如下:

[oracle@db1 dbs]$ sqlplus /nolog
@> conn /as sysdba
Connected to an idle instance.
SYS@prod> 

步骤6 创建spfile文件

SYS@prod> CREATE SPFILE FROM PFILE;

步骤7 启动实例

STARTUP NOMOUNT

步骤8 使用CREATE DATABASE语句建库

官方给与建库的例句,你可以修改你自己所需的数据库的样子,如下:
前提:有数据库目录:/u01/app/oradata/prod

CREATE DATABASE prod
 USER SYS IDENTIFIED BY oracle
 USER SYSTEM IDENTIFIED BY oracle
 LOGFILE GROUP 1 ('/u01/app/oradata/prod/redo01a.log','/u01/app/oradata/prod/redo01b.log') SIZE 100M BLOCKSIZE 512,
  GROUP 2 ('/u01/app/oradata/prod/redo02a.log','/u01/app/oradata/prod/redo02b.log') SIZE 100M BLOCKSIZE 512,
  GROUP 3 ('/u01/app/oradata/prod/redo03a.log','/u01/app/oradata/prod/redo03b.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/oradata/prod/system01.dbf' SIZE 325M REUSE
 SYSAUX DATAFILE '/u01/app/oradata/prod/sysaux01.dbf' SIZE 325M REUSE
 DEFAULT TABLESPACE users
 DATAFILE '/u01/app/oradata/prod/users01.dbf'
 SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
 DEFAULT TEMPORARY TABLESPACE tempts1
 TEMPFILE '/u01/app/oradata/prod/temp01.dbf'
 SIZE 20M REUSE
 UNDO TABLESPACE undotbs1
 DATAFILE '/u01/app/oradata/prod/undotbs01.dbf'
 SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

执行语句如下:

[oracle@db1 ~]$ chmod 755 create_database.sql 
[oracle@db1 ~]$ sqlplus "/as sysdba"
SYS@prod> @create_database.sql
Database created.

步骤9 创建额外的空间

对于应用程序来说,应该有属于自己的表空间,对于我们这边的都是以ARP命名,如下:

CREATE TABLESPACE apps_arp LOGGING 
 DATAFILE '/u01/app/oradata/prod/apps_arp01.dbf' 
 SIZE 500M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED 
 EXTENT MANAGEMENT LOCAL;
-- create a tablespace for indexes, separate from user tablespace (optional)
CREATE TABLESPACE indx_arp LOGGING 
 DATAFILE '/u01/app/oradata/prod/indx_arp01.dbf' 
 SIZE 100M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED 
 EXTENT MANAGEMENT LOCAL;

步骤10 执行脚本构建数据字典视图

使用SYSDBA权限的用户,连接数据库如下:

[oracle@db1 ~]$ sqlplus /nolog
@> conn /as sysdba
Connected.
SYS@prod>

执行如下语句:

@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/utlrp.sql

使用SYSTEM用户,执行如下语句:

[oracle@db1 ~]$ sqlplus /nolog
@> conn system/oracle
Connected.
SYSTEM@prod> @?/sqlplus/admin/pupbld.sql

【可选操作】,如果需要scott用户用于数据库的实验,可以做如下操作:

[oracle@db1 ~]$ sqlplus /nolog
@> conn / as sysdba
Connected.
SYS@prod> @?/rdbms/admin/utlsampl.sql

验证数据库,是否正常,如下:

[oracle@db1 ~]$ sqlplus "/as sysdba"
SYS@prod> select INSTANCE_NAME,STATUS from v$instance;

INSTANCE_NAME STATUS
---------------- ------------
prod  OPEN

参考文献

官方文档:

位置为:【Oracle Database Administrator's Guide

​ -->【Creating a Database with the CREATE DATABASE Statement

到此这篇关于Oracle手动建库安装部署超详细教程的文章就介绍到这了,更多相关Oracle手动建库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • oracle中得到一条SQL语句的执行时间的两种方式

    oracle中得到一条SQL语句的执行时间的两种方式

    这篇文章主要介绍了oracle中如何得到一条SQL语句的执行时间,有两种可行方式,大家可以参考下
    2014-05-05
  • ORACLE中的的HINT详解

    ORACLE中的的HINT详解

    本篇文章主要介绍了ORACLE中的的HINT详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Oracle终极彻底卸载的完整步骤

    Oracle终极彻底卸载的完整步骤

    这篇文章主要给大家介绍了关于Oracle终极彻底卸载的完整步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Oracle使用RMAN进行数据库恢复的实现步骤

    Oracle使用RMAN进行数据库恢复的实现步骤

    使用 RMAN(Recovery Manager)恢复 Oracle 数据库是确保数据在灾难情况下能够得到恢复的关键步骤,以下是详细的指导和代码示例,展示如何使用 RMAN 进行数据库恢复,需要的朋友可以参考下
    2024-09-09
  • Oracle数据库19C的安装与配置指南(2022年最新版)

    Oracle数据库19C的安装与配置指南(2022年最新版)

    在Oracle数据库的发展中,数据库一直处于不断升级状态,下面这篇文章主要给大家介绍了关于Oracle数据库19C的安装与配置指南的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 详解Oracle如何将txt文件中的数据导入数据库

    详解Oracle如何将txt文件中的数据导入数据库

    这篇文章主要介绍了Oracle如何将txt文件中的数据导入数据库,文中通过代码示例和图文结合的方式给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-03-03
  • Oracle数据库如何获取当前自然周,当前周的起始和结束日期

    Oracle数据库如何获取当前自然周,当前周的起始和结束日期

    Oracle数据库如何获取当前自然周,当前周的起始和结束日期问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • oracle to_char函数将number转成string

    oracle to_char函数将number转成string

    很多数据转换处理操作时,会遇到将0.007007040000转换成0.70%的需求,我们使用Oracle 的SQL 函数 to_char可以实现这种转换,需要了解的朋友可以参考下
    2012-11-11
  • Oracle中分割字符串的方法实例代码

    Oracle中分割字符串的方法实例代码

    最近遇到一个问题,需要把一个带有,的字符串拆分成多行,下面这篇文章主要给大家介绍了关于Oracle中分割字符串的方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • oracle数据库临时表代码举例总结

    oracle数据库临时表代码举例总结

    临时表是一种特殊的表,当需要对某一(也可以是多个)表中的一批数据进行反复的操作时,通过为这批数据创建一个临时表,可能会简化操作并且有可能提高效率,这篇文章主要给大家介绍了关于oracle数据库临时表的相关资料,需要的朋友可以参考下
    2024-02-02

最新评论