好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

目录

步骤1 指定SID 步骤2 确定Oracle环境的环境变量 步骤3 设置Oracle的口令认证方式 步骤4 创建初始化参数文件 步骤5 连接数据库实例 步骤6 创建spfile文件 步骤7 启动实例 步骤8 使用CREATE DATABASE语句建库 步骤9 创建额外的空间 步骤10 执行脚本构建数据字典视图 参考文献

手动创建PROD数据库

 

步骤1 指定SID

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

?

1

2

ORACLE_SID=prod

export ORACLE_SID

 

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

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

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

?

1

2

3

[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

环境变量配置:

?

1

2

3

4

5

6

7

8

9

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

?

1

2

3

[oracle@db1 ~]$ source .bash_profile

[oracle@db1 ~]$ echo $ORACLE_SID

prod

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

?

1

2

$ORACLE_HOME /sqlplus/admin/glogin .sql

set sqlprompt <a rel= "external nofollow" href= "mailto:_user'@'_connect_identifier%3E" >_user '@' _connect_identifier> < /a >

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

 

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

创建Oracle的口令文件

?

1

2

[oracle@db1 ~]$ cd $ORACLE_HOME /dbs

[oracle@db1 dbs]$ orapwd file =orapwPROD password=oracle entries=30

 

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

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

?

1

cd $ORACLE_HOME /dbs

官方的参数文件 init.ora 例子的具体内容如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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 如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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 连接数据库实例

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

?

1

2

3

4

5

[oracle@db1 dbs]$ sqlplus /nolog

@> connect sys as sysdba

Enter password:

Connected to an idle instance.

SYS@prod>

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

?

1

2

3

4

[oracle@db1 dbs]$ sqlplus /nolog

@> conn /as sysdba

Connected to an idle instance.

SYS@prod>

 

步骤6 创建spfile文件

?

1

SYS@prod> CREATE SPFILE FROM PFILE;

 

步骤7 启动实例

?

1

STARTUP NOMOUNT

 

步骤8 使用CREATE DATABASE语句建库

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

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;

执行语句如下:

?

1

2

3

4

[oracle@db1 ~]$ chmod 755 create_database.sql

[oracle@db1 ~]$ sqlplus "/as sysdba"

SYS@prod> @create_database.sql

Database created.

 

步骤9 创建额外的空间

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

?

1

2

3

4

5

6

7

8

9

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 权限的用户,连接数据库如下:

?

1

2

3

4

[oracle@db1 ~]$ sqlplus /nolog

@> conn /as sysdba

Connected.

SYS@prod>

执行如下语句:

?

1

2

3

@? /rdbms/admin/catalog .sql

@? /rdbms/admin/catproc .sql

@? /rdbms/admin/utlrp .sql

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

?

1

2

3

4

[oracle@db1 ~]$ sqlplus /nolog

@> conn system /oracle

Connected.

SYSTEM@prod> @? /sqlplus/admin/pupbld .sql

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

?

1

2

3

4

[oracle@db1 ~]$ sqlplus /nolog

@> conn / as sysdba

Connected.

SYS@prod> @? /rdbms/admin/utlsampl .sql

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

?

1

2

3

4

5

6

[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手动建库内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/zhangshengdong/p/14548140.html

查看更多关于Oracle手动建库安装部署超详细教程的详细内容...

  阅读:26次