linux 怎么创建oracle 数据库实例

linux 怎么创建oracle 数据库实例,第1张

直接在命令行输入dbca 通过UI界面创建就可以啦

oracle一个实例下只能有一个数据库,所以创建数据库肯定也要重新创建一个实例的。

不过听说oracle 12C 在一个实例下可以有多个数据库了,和DB2差不多。

看你的oracle是什么版本了

手动创建oracle10g数据库

以创建名为“MYNEWDB”为例

1 创建必须的文件和文件夹

(1)在D:\oracle\product\1020\admin下建MYNEWDB文件夹

在D:\oracle\product\1020\admin\MYNEWDB下建adump,bdump,cdump,udump文件夹

(2)在D:\oracle\product\1020\oradata下建MYNEWDB文件夹

(3)在D:\oracle\product\1020\db_1\database下建initMYNEWDBora文件,内容如下

MYNEWDB__db_cache_size=356515840

MYNEWDB__java_pool_size=4194304

MYNEWDB__large_pool_size=4194304

MYNEWDB__shared_pool_size=209715200

MYNEWDB__streams_pool_size=0

audit_file_dest='D:\oracle\product\1020/admin/MYNEWDB/adump'

background_dump_dest='D:\oracle\product\1020/admin/MYNEWDB/bdump'

compatible='102010'

control_files='D:\oracle\product\1020/oradata/MYNEWDB/\control01ctl','D:\oracle\product\1020/oradata/MYNEWDB/\control02ctl','D:\oracle\product\1020/oradata/MYNEWDB/\control03ctl'

core_dump_dest='D:\oracle\product\1020/admin/MYNEWDB/cdump'

db_block_size=8192

db_domain=''

db_file_multiblock_read_count=16

db_name='MYNEWDB'

db_recovery_file_dest='D:\oracle\product\1020/flash_recovery_area'

db_recovery_file_dest_size=2147483648

dispatchers='(PROTOCOL=TCP) (SERVICE=MYNEWDBXDB)'

job_queue_processes=10

open_cursors=300

pga_aggregate_target=192937984

processes=150

remote_login_passwordfile='EXCLUSIVE'

sga_target=579862528

undo_management='AUTO'

undo_tablespace='UNDOTBS1'

user_dump_dest='D:\oracle\product\1020/admin/MYNEWDB/udump'

2建议设置下ORACLE_HOME=D:\oracle\product\1020\db_1,因为下面在执行创建数据库时会自动执行$ORACLE_HOME\rdbms\admin\sqlbsq的脚本,不设怕找不到

3 创建实例

选择“程序-->运行”,输入“cmd”命令,打开DOS界面

(1)将环境变量ORACLE_SID设置为“MYNEWDB”

C:\SET ORACLE_SID=MYNEWDB

(2)利用ORADIM命令创建MYNEWDB数据库

C:\ORADIM -NEW -SID MYNEWDB -INTPWD MYNEWDB -STARTMODE MANUAL -PFILE D:\oracle\product\1020\db_1\database

注意:ORADMIN是Oracle提供的一个对实例进行管理的工具,可以创建、修改、删除、启动和关闭一个

4、连接并启动实例

1 C:\sqlplus /nolog

2 SQL>connect sys/mynewdb as sysdba;

3 SQL>startup nomount;

5、使用create database 语句创建数据库

1 SQL> create database MYNEWDB

2 maxlogfiles 10

3 maxlogmembers 5

4 maxdatafiles 20

5 maxloghistory 200

6 maxinstances 5

7 logfile

8 group 1 'D:\oracle\product\1020\oradata\mynewdb\redo01log' size 10m,

9 group 2 'D:\oracle\product\1020\oradata\mynewdb\redo02log' size 10m,

10 group 3 'D:\oracle\product\1020\oradata\mynewdb\redo03log' size 10m

11 datafile 'D:\oracle\product\1020\oradata\mynewdb\system01dbf' size 100m

12 sysaux datafile 'D:\oracle\product\1020\oradata\mynewdb\sysaux01dbf' size 50m

13 undo tablespace UNDOTBS1

14 datafile 'D:\oracle\product\1020\oradata\mynewdb\undo01dbf' size 40m

15 default temporary tablespace temp

16 tempfile 'D:\oracle\product\1020\oradata\mynewdb\temp01dbf' size 20m

17 extent management local uniform size 128k

18 character set ZHS16GBK

19 national character set AL16UTF16

注意:sysaux是创建10g数据库时必须的,创建9i可以不要

UNDOTBS1这个名字不能改成其他的,否则报错

在执行create database 语句的同时,自动执行$ORACLE_HOME\rdbms\admin\sqlbsq脚本,创建SYSTEM表空间和SYSTEM回退段、建立SYS和SYSTEM账号、建立数据字典基础表、建立数据字典索引、创建预定义角色等。

6、创建附加的表空间(未验证)

用create database语句创建的数据库中只有SYSTEM、UNDOTBS和TEMPTBS三个表空间,还需要创建其他

一些额外的表空间

1 SQL>create tablespace users

2 datafile 'd:\oracle\oradata\mynewdb\users01dbf' size 100M

3 reuse autoextend on next 1280K maxsize unlitited

4 extend management local;

5 SQL>create tablespace index

6 datafile 'd:\oracle\oradata\mynewdb\index01dbf' size 100M

7 reuse autoextend on next 1280K maxsize unlimited

extend management local;

8、运行脚本创建数据字典视图

执行两个脚本语句:

----用于创建数据字典视图,包括V$动态性能视图和它们的同义词,同时将授予PUBLIC角色对这些同义

词的访问权限

1 SQL>@D:\oracle\product\1020\db_1\rdbms\admin\catalogsql;

----用于建立对PL/SQL程序设计的支持

1 SQL>@D:\oracle\product\1020\db_1\rdbms\admin\catprocsql;

9、创建服务器初始化参数文件

1 SQL>create spfile from file='d:\oracle\product\1020\db_1\database\initMYNEWDBora';(未验证)

执行该语句将在$ORACLE_HOME\database 目录下创建名为spfileMYNEWDBora的服务器初始化参数文件

需要重启数据库

1 SQL>shutdown immediate;

2 SQL>connect sys/mynewdb as sysdba;

SQL>startup ;

最后注意的地方:因为我在创建数据库的时候没有提示我输入sys和system密码,所以下面我们还需要修改sys密码(就当忘设了),方法如下:

sqlplus /nolog;

connect / as sysdba

alter user sys identified by 新密码;

alter user system identified by 新密码;

oracle11g中,一个实例下只能有一个数据库。

创建三个实例就是在一台服务器上安装三个数据库。

oracle11g的安装步骤可自行搜索,不同平台的安装文档都有

创建实例可以用以下命令:

$oracle_home\bin\oradimexe -new -sid SID -startmode manual -spfile

(-new:创建新实例 -sid:指定新实例的SID -startmode:指定开机是否自动启动服务

-spfile:创建参数文件)

我们知道 Oracle在启动过程中 需要读取参数文件(pfile/spfile)来创建实例 Oracle在启动过程中 寻找参数文件的顺序为:spfile<sid> ora spfile ora init<sid> ora

而创建实例的过程中 Oracle需要的最少参数为一个 即db_name参数

我们来看一个测试 启动一个任意设置的实例 本例ORACLE_SID=julia:

[oracle@jumper dbs]$ export ORACLE_SID=julia[oracle@jumper dbs]$ sqlplus / as sysdba

SQLPlus: Release Production on Mon May : :

Copyright (c) Oracle Corporation   All rights reserved

Connected to an idle instance

SQL> startup nomount;ORA : failure in processing system parametersLRM : could not open parameter file /opt/oracle/product/ /dbs/initjulia ora

Oracle最后检查的文件为initjulia ora 让我们创建这个文件 然后数据库实例即可创建:

SQL> ! echo db_name=julia > /opt/oracle/product/ /dbs/initjulia ora

SQL> startup nomount;ORACLE instance started

Total System Global Area   bytesFixed Size                   bytesVariable Size              bytesDatabase Buffers           bytesRedo Buffers                 bytes

我们可以看一下缺省的各类文件的存储地点:

SQL> show parameter dump_dest

NAME                                 TYPE                   VALUE background_dump_dest                 string                 /rdbms/logcore_dump_dest                       string                 /dbsuser_dump_dest                       string                 /rdbms/log

SQL> show parameter control_files

NAME                                 TYPE                   VALUE control_files                        string                 /dbs/cntrl@ dbf

[oracle@jumper dbs]$ cat $ORACLE_HOME/rdbms/log/alert_julia logMon May  : : Starting ORACLE instance (normal)Mon May  : : WARNING: EINVAL creating segment of size x fix shm parameters in /etc/system or equivalentLICENSE_MAX_SESSION = LICENSE_SESSIONS_WARNING = SCN scheme Using log_archive_dest parameter default valueLICENSE_MAX_USERS = SYS auditing is disabledStarting up ORACLE RDBMS Version: System parameters with non default values:  db_name                  = juliaPMON started with pid= DBW started with pid= LGWR started with pid= CKPT started with pid= SMON started with pid= RECO started with pid= lishixinzhi/Article/program/Oracle/201311/16641

1数据库mybooks的创建。我用的是Oracle数据库创建了mybooks数据库,里面含有books,lendRecord,returnRecord,users四个表格(在Oracle数据库中,表空间与数据文件之间的关系十分密切,这二者相互依存,也就是说,创建表空间必须创建数据文件,增加数据文件时也必须指定表空间);到这里我不得不吐槽一下创建数据的时候的悲伤;第一步,因为可能装SQLdeveloper出现了一点问题,导致我不能连上Oracle,只能用搓逼的sqlplus写入sql命令,勉勉强强创建了一个数据库实例,接下来,本渣渣开始用select tablespace_name from user_tablespaces查看mybooks里面的DBF文件,(因为渣渣认为 DBF后缀的就是表空间的名称,还有就是,我连接的数据库实例是用system/连接的是oracle默认的orcl数据库实例

数据库实例(instance_name)是用于和 *** 作系统进行联系的标识,也就是说数据库和 *** 作系统之间的交互使用的是数据库实例。

数据库名和实例名可以相同也可以不同。在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。

用系统sysdba权限登录后:查询oracle实例的方法:

方法一:sql”select instance_name from v$instance“;

方法二:使用show命令”show parameter instance“。

实例:是一个非固定的、基于内存的基本进程与内存结构。当服务器关闭后,实例也就不存在了。

数据库(Database)指的是固定的、基于磁盘的数据文件、控制文件、日志文件、参数文件和归档日志文件等。

一般情况下,Oracle数据库都是一个数据库对应一个实例。如下图所示;

当然可以根据需要创建多个数据库和对应的多个实例。

测试环境如下:

Windows 7 旗舰版,32位 *** 作系统,已经安装Oracle 11g R2,并创建一个数据库和实例ORAC11

Windows中安装的服务如下图所示。

链接 ORAC11

cmd

SQLPLUS SYS/SYS@ORAC11  AS SYSDBA

连接 ORAC111

cmd

SQLPLUS SYS/SYS1@ORAC111 AS SYSDBA

一切 正常,完成。

1概念性的东西,了解就行,实例是内存结构+后台进程,数据库则是磁盘可见文件,如果数据文件、控制文件、日志文件等。在单机范围内,数据库=实例,仅有一种情况例外:RAC(Real Application Cluster真正应用集群),RAC是多个实例对应一个数据库。

2很明显,RAC是允许的。

3你的理解很明显错了,基本上不可能在已经创建好的数据库增加一个实例(除非是RAC增加节点),只能创建两个数据库,请参照第一点解释。

4既是另一个会话,也是一个连接,说实话,我也搞不太清楚,估计跟架构有关,可能某些程序以一个session登录,但是能发起多个连接。

关于实例跟数据库,你可以在自己的机器测试,数据库关闭的时候,使用sqlplus连接,输入startup nomount,如果有参数文件,则这个命令将打开一个实例,但是注意,这个实例是没有数据库的,所以,脱离数据库,实例是毫无意义的。

补充:

An Oracle database is composed of a logical set of data schemas, all of which are stored on a specific set of database files Each schema typically represents an application’s data model

An Oracle instance is a single occurrence of the running Oracle software,composed of an area of shared memory and various Oracle background processes

以上就是关于linux 怎么创建oracle 数据库实例全部的内容,包括:linux 怎么创建oracle 数据库实例、如何手工创建一个Oracle 10g数据库、'安装oracle11g 并创建3个实例'是个什么 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10194511.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存