当前位置:首页 » 数据仓库 » oracle怎么创建数据库实例
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

oracle怎么创建数据库实例

发布时间: 2022-05-24 07:27:21

① oracle11g怎样创建数据库

  • 按住键盘上Windows键,打开开始菜单,找到Database Configuration Assitant并打开

② Oracle实例如何创建

除非使用并行Oracle服务器选项,否则每个Oracle数据库都有一个实例与之相关,一个数据库被唯一的一个实例装载。实例结构允许RDBMS同时对来自多个用户的不同种类事务的请求提供服务,与此同时提供一流的性能、容错性、数据的一致性和安全性。 值得注意的是,这里定义的术语“进程”是指在没有用户干预的情况下正在运行的任务。你的操作系统可能将之称作“进程”,或者使用其他术语,例如任务、作业、线程和其他类似的术语。 在UNIX实现多任务操作系统后,实例是松散的结构方式。在一起工作的离散的进程在实现实例的目标的RDBMS中完成指定的任务。每一个进程都有各自的一个内存块,该内存块用于保存私有变量、地址堆栈和其他运行时的信息。进程间使用公共共享区并在公共共享区内完成它们的工作。公共共享区是能够在同一时间内被不同程序和不同进程读写的一块内存区。该内存块称为系统全局区(SGA)。因为SGA驻留在一个共享内存段中,所以它经常被称作共享全局区。 你可以认为后台进程就像数据库的手,直接处理数据库的组件;你也可以认为SGA就像大脑,在必要时间接地调度手处理它们的信息与存储检索。SGA参与发生在数据库中全部的信息和服务器的处理。单用户的Oracle配置(例如PersonalOracleLite),不使用多进程执行数据库的功能。相反,所有的数据库功能由一个Oracle进程完成。由于这个原因,单用户也称为单进程Oracle。 1)创建一个Oracle实例(非安装阶段)。 2)由实例安装数据库(安装阶段)。 3)打开数据库(打开阶段)。 Oracle实例在数据库启动的非安装阶段创建,当数据库经过非安装阶段,读取init.ora参数文件,启动后台进程,初始化系统全局区(SGA)。init.ora文件定义了实例的配置,包括内存结构的大小和启动后台进程的数量和类型等。实例名根据环境变量OracleSID设置,它不一定要与打开的数据库名称相同(但是习惯上通常如此)。 下一阶段称为安装阶段。init.ora文件中的控制文件参数值决定数据库的安装实例。在安装阶段,读取控制文件并使其成为可访问的,可以对控制文件内存储的数据进行查询和修改。 最后的阶段就是打开数据库。在这一阶段,其名字存储在控制文件中的数据库文件以排它使用方式被实例锁定,使数据库能够被普通用户访问。打开是数据库的正常操作状态。在数据库打开之前,只有DBA能访问数据库,且只能通过服务器管理器对其进行访问。 为了改变数据库的操作状态,必须作为内部连接到数据库,或拥有SYSDBA特权。当数据库从关闭状态到打开状态时,你可以明确地单步调试数据库的每一个操作状态,但当关闭数据库时,只能从当前运行状态转到完全关闭状态。例如,可以在服务器管理器工具中执行STARTUP NOMOUNT命令,这将使数据库处在非安装阶段,接下来可以运行ALTER DATABASE MOUNT或者运行ALTER DATABASE OPEN命令以单步调试到操作阶段。无论是在何种操作状态下,如果执行SHUTDOWN命令,将完全关闭数据库。例如,数据库不能从打开状态转到安装状态。 没有安装数据库的实例被称为空闲的—它使用内存,但不做任何工作。一个实例只能唯一地与一个数据库连接源码天空 ,而且除非使用并行服务器,否则对一个数据库也只分配一个实例。实例是数据管理的核心—它做所有的工作,而数据库存储所有的数据。

③ Oracle数据库怎么添加新的实例

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

④ Oracle新建数据库

Oracle新建数据库可以参考以下操作方法:

1、首先点击桌面左下角的开始图标;

⑤ oracle11g怎么建立实例数据库

oracle11g创建数据库的步骤如下: 1、按住键盘上Windows键,打开开始菜单,找到Database Configuration Assitant并打开; 2、打开数据库配置助手Database Configuration Assitant,单击“下一步”; 步骤1:选择“创建数据库”,单击“下一步”;

⑥ 在oracle里如何创建一个新的数据库

1、windows中在cmd中输入dbca,等待出现图形界面后,按照提示一步一步新建一个数据库实例。
2、linux中,以oracle用户进入图形界面系统,打开终端输入dbca,等待出现图形界面后,按照提示一步一步新建一个数据库实例。

--
以上,希望对你有所帮助。

⑦ oracle怎样创建样例数据库

Oracle数据库实例的创建、删除、修改
以SUSE10SP2、Oracle10gR2为例。
本文中的数据库实例这一称谓应该换做数据库更为准确,数据库可以理解为是一个物理的静态概念,主要包括一些物理存在的数据库文件,而数据库实例则是一个动态概念,包括一些内存区域以及若干进程,数据库实例是对数据库进行操作的执行者。(20090714修改)
安装完Oracle数据库系统的安装后,需要创建数据库实例才能真正开始使用Oracle数据库服务。
总结起来,Oracle有三种创建数据库实例的方法。
第一种,最常用也最简单,那就是通过DBCA(Database Configuration Assistant),这是Oralce提供的一个图形界面的数据库实例配置工具,通过它可以创建、删除和修改数据库实例,它的使用也比较简单、易懂,交互式的图形界面操作,非常准确有效的提示与配置,是一个比较方便的创建数据库实例的方式。
按照DBCA给出的提示,很容易创建一个新数据库实例。
在创建数据库的时候,DBCA还提供了两个选项,让你可以根据刚刚设置好的参数生成一个数据库实例模板和一份数据库实例创建脚本。这两个东西是非常好,非常有用的东西,数据库模板由Oracle自己管理维护,已经创建好的数据库实例模板可以在DBCA图形程序新建数据库实例时作为模板来使用,另外在DBCA使用responseFile文件或者命令行参数创建数据库时也需要用到(见后面介绍);数据库创建脚本是一组脚本,包括shell脚本和sql脚本,这些脚本共同实现一个功能,那就是按照你之前在DBCA中设置好的那样创建一个数据库实例(后面也会有介绍),你需要做的只是将这些脚本在你的代码中调用起来。当然,你也可以选择只生成数据库模板或者数据库脚本,而不用去创建一个真的数据库(这通常很费时间)。
Oracle数据库实例的创建、删除、修改
DBCA是一个非常强大的工具,上面看到的只是DBCA最常用的创建一个数据库实例的使用,其实DBCA还提供另外两种使用方法,分别是responseFile和命令行带参调用。
先说DBCA的responseFile使用方法,responseFile这个东东并不陌生,前文讲的Oracle自动安装就是使用responseFile完成的,DBCA的responseFile使用方法和Oracle安装程序的responseFile使用方法基本一致。但DBCA的responseFile的来源只能是Oracle安装包中提供的模板文件,而不能向Oracle安装程序的responseFile一样,先自己record一个,然后再用这个record去指导Oracle的自动安装。从Oracle安装包中获取到DBCA的responseFile模板文件后,你可以根据自己的需要编辑修改该模板文件,以完成对数据库实例的某些参数设置(DBCA图形界面所提供的参数设置,responseFile中都可以设置,而且该responseFile模板文件的注释写的很好,你完全不用担心无法搞定那些繁杂的数据库实例参数设置,赞Oralce一个!)。该模板文件在Oracle安装包中的位置一般在${ORACLE_PACKAGE}/response目录下。
有了responseFile之后,你只需在调用DBCA的时候指定responseFile的位置和另外一些参数:
dbca [-silent|-progressOnly] -responseFile responseFile名称
其中-silent|-progressOnly选项意义和Oracle安装程序命令行参数中的同名选项一样,表示完全字符界面自动安装或者带图形提示界面的半自动化安装。
responseFile名称当然就是responseFile的具体位置了。
但是,有一点不是很好,那就是使用DBCA的responseFile方式创建Oracle数据库实例,需要事先已经存在一个数据库实例模板了,在responseFile中再指定该数据库实例模板名,然后DBCA再依据这个已有的数据库实例模板完成新数据库实例的创建,所以就会有前面讲到的DBCA图形界面创建数据库实例时提供生成数据库实例模板的选项(数据库实例模板也可以从一个已有数据库实例生成),就是在这要用到的。
从上面调用DBCA使用responseFile的命令中,应该已经看到了DBCA是提供一些命令行参数选项的,其实DBCA提供的命令行参数选项远比你想象的强大,甚至可以这么说,所有DBCA图形界面和responseFile能够办到的事,通过DBCA丰富的命令行参数选项都可以办到。你在DBCA图形界面上设置的参数或者在responseFile中指定的参数值都可以通过DBCA的命令行参数选项来进行设置,所以你完全可以只通过DBCA的命令行带参调用来完成一个数据库实例的创建(当然也包括删除、修改数据库实例等所有DBCA图形界面所能提供的功能)。其实,我更愿意这样认为,DBCA的responseFile应用也是一种DBCA命令行带参调用的使用。需要注意的是,当DBCA的命令行参数和responseFile同时设置一个参数时,命令行参数的优先级是比responseFile要高的。另外,使用DBCA命令行带参调用新建数据库实例和使用responseFile新建数据库实例一样,也是需要事先已经存在一个数据库实例模板,才能完成新数据库实例的创建。一份非常详细的DBCA所有命令行参数选项列表,你可以通过执行dbca -help获得。
到现在你可能已经发现,DBCA图形界面、DBCA的responseFile使用以及DBCA的命令行带参调用,其实是三个分别具备完全数据库实例设置功能的工具或者接口,分别对应不同的应用场景,它们可以满足你几乎所有的应用需求(使用这样的工具来帮助构建自己的软件真是非常惬意的一件事情,再赞Oracle一个!)。
第二种是通过脚本(是否称为命令行方式更合适,下文描述的脚本方式其实都是命令行方式的非交互式方法,或者说命令行的自动化方式,但其实所有脚本方式都可以将shell脚本或sql脚本中的shell命令、sqlplus命令拆分出来,手工在shell中或者sqlplus界面中进行交互式的输入执行,这可以称为命令行的手工方式)来完成数据库实例的代码中自动创建。这里说的脚本包括shell脚本和sql脚本,这种方式可以说是最适合与编程结合的,因为这些shell脚本或者sql脚本都可以直接在shell命令中调用执行,所以可以很好与shell编程相结合。而这其实是基于一个非常重要的事实,即Oracle提供了一个交互式的命令行工具sqlplus(类似与DB2的db2cmd),这个工具可以认为是一个Oracle数据库管理工具,通过它可以执行一些Oracle的数据库管理命令,来完成一些数据库管理工作(这当然就包括数据库实例的创建),同时你也可以把它当作一个SQL语句执行器,直接在里边执行你想要执行的SQL语句或者存储过程等,并获取执行结果。并且,更重要的是,sqlplus可以直接在shell命令行中进行非交互式的调用执行(通常是调用执行一段sqlplus语句,或者是一个由一些sqlplus语句组成的sql脚本,我所说的sqlplus语句包括Oracle数据库管理维护命令、SQL语句和存储过程等),这就为在shell编程中使用sqlplus完成数据库实例自动创建工作提供了可能。
shell命令行中非交互式调用sqlplus执行一段sqlplus语句是利用shell编程中重定向命令的一个特性,即分隔符重定向输入。一般用法如下:
command<<任意自定义分隔符
>(换行)内容
>(换行)内容
>自定义分隔符
shell中遇到<<则会自动将下一个单词认作分隔符,并将分隔符后面的文本当作command命令执行的内容传递给command依次全部执行直至遇到下一个分隔符单词才结束。这里的分隔符可以是任意自定义的单词,通常使用EOF,举例:
sqlplus / as sysdba<<EOF
startup nomount;
select * from v$version;
shutdown immediate;
exit;
EOF
这段shell程序调用sqlplus执行了若干sqlplus语句,用来启动数据库实例,查询数据库版本信息,然后关闭数据库实例,退出sqlplus。
shell命令行中非交互式调用sqlplus执行一个sql脚本是利用sqlplus本身提供的命令行参数。在sqlplus界面中可以通过start命令和@命令来执行一个sql脚本,两者功效相同,用法如下:
SQL>start sql脚本绝对路径;
SQL>@sql脚本绝对路径;
而在shell命令行中可以使用@来完成sqlplus对sql脚本的调用执行,举例:
sqlplus / as sysdba @./MySQL.sql
以上命令会调用sqlplus执行当前目录下的MySQL.sql脚本。
使用脚本来完成数据库实例的创建工作,也分为两种情况。
一种是诚如前文所述的那样,在使用DBCA图形工具创建数据库实例的同时生成一份数据库实例创建脚本(包括若干shell脚本和sql脚本),那么你就可以使用这份脚本,在shell中进行调用,完成数据库实例的代码自动创建。使用这份数据库实例创建脚本创建的新数据库实例和原数据库实例是完全一样,当然,你可以将生成的脚本进行修改,以完成你对数据库实例的某些设置,但是请在你对脚本内容已经足够了解,并且知道你自己在干什么的情况下修改脚本,否则你很有可能使用修改后的脚本无法正确创建数据库实例。这种方法中shell脚本对sqlplus的使用,更多的是使用sqlplus来执行一些Oracle生成的sql脚本(这些sql脚本的内容是就是一些sqlplus语句的集合,它们的任务就是完成数据库实例的创建以及设置)。
另一种情况则是不依靠DBCA生成的脚本,完全由自己来编写实现一份shell脚本,在脚本中你可以调用sqlplus执行一段sqlplus语句或者其它一些sql脚本,以完成数据库实例的创建和设置,这完全取决于你的实现;而最常用的用来创建数据库实例的一个方法就是在sqlplus中使用create database语句,create database语句提供了许多丰富的选项和参数设置,确保你能完全创建一个自己所需要的数据库实例。当然,还有一些其它方法可以创建数据库实例,比如调用执行oracle提供某些存储过程等。
至于create database语句的详细介绍可以参考oracle的sql reference。
第三种严格来说不能算作一种创建Oracle数据库实例的方法,它是通过已有的数据库实例为基础来完成新数据库实例的创建的。这种方法是首先通过第一种或者第二种方法来创建好一个数据库实例,然后将该数据库实例的物理文件进行备份,然后直接使用备份的物理文件恢复出一个与原数据库实例完全一样新的数据库实例,所以这种方法需要和第一、二种方法相配合才能使用。这种方法其实已经属于Oracle数据备份与恢复的范畴了,就是Oracle数据备份恢复方式中的物理备份恢复,所以这种方法可以叫做物理恢复法。
简单介绍物理恢复法,首先将一个已经存在数据库实例(最好已关闭)进行物理备份,所谓物理备份其实就是复制该数据库实例所使用的操作系统文件,这些文件主要包括DataFiles、RedoLogs、ControlFiles和UndoFiles(这些文件一般存在于$ORACLE_HOME/oradata目录下),进行数据库实例恢复的时候只需将备份的操作系统文件复制到新的oradata目录下即可,可以直接启动使用恢复后的该数据库实例。不难看出,这种备份恢复是依赖于操作系统平台的。
详细的物理备份和恢复介绍可以参考oracle的backup and recovery basics以及backup and recovery advanced user's guide。
说完了数据库实例的创建,现在来说说数据库实例的删除和修改。其实介绍完了数据库实例的创建,数据库实例的删除和修改就非常简单了。基本和前文数据库实例创建的内容相一致,且比较而言更简单。
数据库实例的删除从上文中数据库实例的创建不难得到,大致有两种方法,DBCA工具和命令行方式。
DBCA工具除了能够用来创建数据库实例,当然也能够用来删除数据库实例了,且同样可以用使用responseFile或者命令行带参调用等方法来完成数据库实例的删除,请参考数据库实例创建部分。
命令行删除数据库实例的方式,严格来讲,是使用一组sqlplus命令来完成数据库实例的删除,这组sqlplus命令可以组织在一个sql脚本中,然后在shell命令行中调用sqlplus程序来执行该sql脚本,或者直接在shell命令行中利用shell程序重定向特性调用sqlplus依次完全执行这组sqlplus命令,再或者使用手工的交互式输入执行,使用方法请参考数据库实例创建部分。
其中涉及到的sqlplus命令参考以下:
SQL>startup restrict mount;
SQL>drop database;
使用sqlplus命令删除数据库实例,必须先以restrict mount方式将数据库实例加载(但不打开),然后使用drop database语句删除该数据库实例。
数据库实例的修改和数据库实例的创建,情况类似,DBCA方式或者命令行方式。只要是DBCA方式能够修改的数据库实例参数,命令行方式也都能办到。

⑧ 如何手动创建oracle数据库

创建数据库前,要做的工作:
1.收集要设置的ORACLE_HOME路径 ORACLE_SID
2.创建数据库需要的目录
按照下面的步骤创建:(以AIX系统为例,Linux差不多,但有些文件的路径和文件名不一样)
1.编辑系统参数文件(AIX系统参数文件:.profile) :vi .profile文件 若是以前已添加过数据库的,则只需修改下ORACLE_SID=sg186fx(以我创建的数据库名为例);若是没有添加过关于数据的参数,则需要添加ORACLE_HOME,ORACLE_BASE等的路径。
我的“.profile”文件中设置的路径:
ORACLE_BASE=/oracle;export ORACLE_BASE
ORACLE_HOME=/oracle/proct/10.2.0/db_1; export ORACLE_HOME
#ORA_CRS_HOME=/oracle/proct/10.2.0/crs; export ORA_CRS_HOME
SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$SHLIB_PATH
export SHLIB_PATH
LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$LIBPATH
export LIBPATH
PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH:/oradata/quest/splex/bin; export PATH
export ORACLE_SID=sg186fx(这是在创建多个数据库,启动不同数据实例时需要修改的地方)
2.修改完系统参数文件,可以退出登录,重新登录进来就可以生效了,或者使用“export ORACLE_SID=sg186fx”在当前会话中生效。
3.创建数据库需要的目录
创建目录脚本:
su – oracle
cd /oradata
rm –rf sg186fx
mkdir sg186fx
cd /oracle/admin
rm –rf sg186fx
mkdir sg186fx
cd sg186fx
mkdir amp bmp cmp dpmp ump pfile
这个脚本可以不断进行测试创建数据库目录的时候使用。
4.创建oracle的启动参数文件——pfile或spfile
db_cache_size=4026531840
java_pool_size=16777216
large_pool_size=16777216
shared_pool_size=855638016
streams_pool_size=0
audit_file_dest='/oracle/admin/sg186fx/amp'
background_mp_dest='/oracle/admin/sg186fx/bmp'
compatible='10.2.0.2.0'
control_files='/oradata/sg186fx/control01.ctl','/oradata/sg186fx/control02.ctl','/oradata/sg186fx/control03.ctl'
core_mp_dest='/oracle/admin/sg186fx/cmp'
db_block_size=8192
db_domain=''
db_file_multiblock_read_count=16
db_name='sg186fx'
dispatchers='(PROTOCOL=TCP) (SERVICE=sg186fxdb)'
job_queue_processes=10
open_cursors=300
pga_aggregate_target=1639972864
processes=250
remote_login_passwordfile='EXCLUSIVE'
sessions=280
sga_target=4920967168
undo_management='AUTO'
undo_tablespace='UNDOTBS1'
user_mp_dest='/oracle/admin/sg186fx/ump'
使用上面设置的参数文件创建pfile的文件名问initsg186fx.ora
5.创建密码文件
orapwd file=’orapwd$ORACLE_SID’ password=sys entries=20 force=y
file的参数需要指定路径的,他的创建位置应该在$ORACLE_HOME/dbs中,若是在当前目录下创建就不需要写上路径了。
password设置是数据库的sys用户的密码。
entries:DBA和操作员的最大用户数
force=y 等号中间不能有空格的,这是表示存在该文件则进行强制重写。
6.编写创建数据库脚本(非常重要的一步)
创建脚本请看脚本代码
查看创建数据库的必备的参数模板
在这个创建数据库脚本编写中可能会出现需要错误,将会在下篇重点分析,我在创建的过程中,出现过很多错误。
7.使用命令登录:
sqlplus /nolog
connect / as sysdba(注意:在这一步连接的时候,数据库要创建一些跟踪文件:alert文件等,若是在第三步创建目录的时候使用的不是oracle用户角色创建的用户,则在这一步登录的时候,由于权限不够会出现错误:ORA-09925:Unable to create audit trail file,此时需要去检查下手动创建的目录的权限对不对)
startup nomount pfile=’$ORACLE_HOME/dbs/initsg186fx.ora’ 这一步启动数据库只加载启动参数文件的状态,并没有装载控制文件和数据文件
@/createdatabase.sql 执行创建数据库脚本。
这一步很容易出错,出现最多的是:
2
alert日志显示的错误信息:
3
这个错误提示看不出有什么错误,因为他只是说脚本有错误,导致实例强制被终止。虽然报这个错误,但其他的文件将会正常的被创建,数据库还是不能运行的。所以要排除这个错误,重新创建数据库。必须去看alert日志来看哪个地方出现的错误。(我建议,在执行创建脚本的时候,重新打开一个窗口来监控alert日志,跟踪创建过程,很容易发现哪句话出现的错误。)
8.创建 user表空间和索引表空间
9 若创建没有出现错误,则可以执行rdbms里面的一些创建数据字典的脚本
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/catexp.sql
10.重启数据库。
到此,数据库的基本创建工作完成。
简单的数据库建成后,如果需要使用全文检索功能,则还需要执行几个脚本。
请查看:全文检索配置方法
若想了解各种oracle自带的脚本,根据需要执行哪些脚本,请查看:oralce自带脚本说明

⑨ oracle怎么创建一个新的数据库

Oracle除非是在RAC情况下才能实现一个实例管理多个数据库,否则只能是一个实例对应一个数据库
你可以用dbca命令来重新新建一个数据库。

⑩ oracle创建数据库有几种方式

oracle建数据库,表空间,用户。。等等都有对应的图形界面工具,只是你可能不知道而已。oracle入门相对难,因为它有自身一套独特的体系结构,它作为一个商业产品,对于普通用户的易用性不强,这是它需要改进地方,而不是因为它难用,我用好了我就牛X,这种想法是不对的。加之很多资料的故弄玄虚,把原本很简单的概念故意说得很难懂。
选择数据库也不要盲目,oracle能在命令行下进行操作就说明它好吗?应该不是这样吧,oracle之所以先进是建立在其稳定、快速、支持特性广泛等基础上的,作为开发人员,所要掌握的实际内容其实并不多也不困难,选择一本适用的教材勤加练习,再多虚心向有经验的老同志请教,你对oracle的理解也会逐渐加深的。