直接在命令行输入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个实例'是个什么 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)