oracle数据库创建实例
A. 正在创建并启动oracle实例 卡住了
在创建oracle数据库的地方出现问题,删除数据库重新DBCA设置密码的时候以字母开头,不包含标点即可。以上是正在创建并启动oracle实例卡住了解决方法。
B. 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数据库实例
C. Oracle新建数据库
Oracle新建数据库可以参考以下操作方法:
1、首先点击桌面左下角的开始图标;
D. Oracle数据库实例及其相关概念
完整的Oracle数据库通常由两部分组成 Oracle数据库实例和数据库
)数据库是一系列物理文件的集合(数据文件 控制文件 联机日志 参数文件等)
)Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区
在启动Oracle数据库服务器时 实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存) 然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件 Oracle有一个很大的内存快 成为全局区(SGA)
一 数据库 表空间 数据文件
数据库
数据库是数据集合 Oracle是一种数据库管理系统 是一种关系型的数据库管理系统
通常情况了我们称的 数据库 并不仅指物理的数据集合 他包含物理数据 数据库管理系统 也即物理数据 内存 操作系统进程的组合体
数据库的数据存储在表中 数据的关系由列来定义 即通常我们讲的字段 每个列都有一个列名 数据以行(我们通常称为记录)的方式存储在表中 表之间可以相互关联 以上就是关系模型数据库的一个最简单的描述
当然 Oracle也是提供对面象对象型的结构数据库的最强大支持 对象既可以与其它对象建立关系 也可以包含其它对象 关于OO型数据库 以后利用专门的篇幅来讨论 一般情况下我们的讨论都基于关系模型
表空间 文件
无论关系结构还是OO结构 Oracle数据库都将其数据存储在文件中 数据库结构提供对数据文件的逻辑映射 允许不同类型的数据分开存储 这些逻辑划分称作表空间
表空间(tablespace)是数据库的逻辑划分 每个数据库至少有一个表空间(称作SYSTEM表空间) 为了便于管理和提高运行效率 可以使用一些附加表空间来划分用户和应用程序 例如 USER表空间供一般用户使用 RBS表空间供回滚段使用 一个表空间只能属于一个数据库
每个表空间由同一磁盘上的一个或多个文件组成 这些文件叫数据文件(datafile) 一个数据文件只能属于一个表空间 在Oracle 以后 数据文件创建可以改变大小 创建新的表空间需要创建新的数据文件 数据文件一旦加入到表空间中 就不能从这个表空间中移走 也不能与其它表空间发生联系
如果数据库存储在多个表空间中 可以将它们各自的数据文件存放在不同磁盘上来对其进行物理分割 在规划和协调数据库I/O请求的方法中 上述的数据分割是一种很重要的方法
Oracle数据库的存储结构分为逻辑存储结构和物理存储结构
)逻辑存储结构 用于描述Oracle内部组织和管理数据的方式
)物理存储结构 用于描述Oracle外部即操作系统中组织和管理数据的方式
二 Oracle数据库实例
为了访问数据库中的数据 Oracle使用一组所有用户共享的后台进程 此外 还有一些存储结构(统称为System Gloabl Area 即SGA) 用来存储最近从数据库查询的数据 数据块缓存区和SQL共享池(Shared SQL Pool)是SGA的最大部分 一般占SGA内存的 %以上 通过减少对数据文件的I/O次数 这些存储区域可以改善数据库的性能
Oracle数据库实例(instance)也称作服务器(server) 是用来访问数据库文件集的存储结构及后台进程的集合 一个数据库可以被多个实例访问(这是Oracle并行服务器选项)
lishixin/Article/program/Oracle/201311/17362
E. oracle11g怎么建立实例数据库
操作顺序如下:
1.创建实例启动用的参数文件。在程序默认的参数文件里修改即可:重命名规则 initSID.ora
/u01/oracle/proct/11.2.0/db_1/dbs/ 下,目录尽量使用绝对路径,采用ORACLE_BASE等环境变量有可能报错。
例 initcrm.ora
db_name='crm' --修改
#memory_target=500m --注释掉
sga_target=200m --添加
pga_aggregate_target=60m --添加
processes = 150
audit_file_dest='/u01/oracle/admin/crm/amp' --建立目录
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/oracle/flash_recovery_area' --建立目录
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/oracle' ---修改
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
2.创建相应目录:
mkdir -p /u01/oracle/admin/ora11g/amp
mkdir -p /u01/oracle/admin/ora11g/dpmp
mkdir -p /u01/oracle/flash_recovery_area
3.创建密码文件:命名规则 orapwSID,目录依旧是 /u01/oracle/proct/11.2.0/db_1/dbs/
Linux下orapw+实例名
Windows下pwd+实例名
$ orapwd file=orapwora11g password=oracle
4.创建数据库实例
设置环境变量 export ORACLE_SID=crm
执行以下命令
sqlplus /nolog
conn / as sysdba
注意:本处可能报错需要可能的原因: a)glibc-devel-2.5-58.el5_6.4、lio-0.3.106-5包是否已安装,命令分别为rpm -q glibc-devel、rpm -q lio
b)oracle目录权限不足或属组不对,chmod 6751 oracle 授权、chown -R oracle.oinstall /u01/oracle 修改属组
执行建库脚本:
startup nomount pfile="/u01/oracle/proct/11.2.0.1/db1/dbs/initcrm.ora";
CREATE DATABASE "crm"
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
DATAFILE '/u01/oracle/oradata/system01.dbf' SIZE 1024M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/oracle/oradata/sysaux01.dbf' SIZE 500M REUSE
SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/oracle/oradata/temp01.dbf' SIZE 20M REUSE
SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/u01/oracle/oradata/undo01.dbf' SIZE 300M REUSE
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('/u01/oracle/oradata/log01.dbf') SIZE 50M,
GROUP 2 ('/u01/oracle/oradata/log02.dbf') SIZE 50M,
GROUP 3 ('/u01/oracle/oradata/log03.dbf') SIZE 50M;
创建USERS表空间
CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/u01/app/oradata/user01.dbf' SIZE 1000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
ALTER DATABASE DEFAULT TABLESPACE "USERS";
------------------------------------------
SQL> create spfile from pfile;
File created.
-----------------------------------------
sqlplus / as sysdba
SQL> show user;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catalog.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catblock.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catproc.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catoctk.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/owminst.plb;
使用system用户编译
@/u01/oracle/proct/11.2.0.1/db1/sqlplus/admin/pupbld.sql;
@/u01/oracle/proct/11.2.0.1/db1/sqlplus/admin/help/hlpbld.sql helpus.sql;
使用sys用户编译
@/u01/oracle/proct/11.2.0.1/db1/javavm/install/initjvm.sql;
@/u01/oracle/proct/11.2.0.1/db1/xdk/admin/initxml.sql;
@/u01/oracle/proct/11.2.0.1/db1/xdk/admin/xmlja.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catjava.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catexf.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catqm.sql change_on_install SYSAUX TEMP YES;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catxdbj.sql;
@/u01/oracle/proct/11.2.0.1/db1/rdbms/admin/catrul.sql;
spool /oracle/admin/edidb/scripts/ordinst.log append
@/u01/oracle/proct/11.2.0.1/db1/ord/admin/ordinst.sql SYSAUX SYSAUX;
spool off
spool /u01/oracle/admin/ora11g/scripts/interMedia.log append
@/u01/oracle/proct/11.2.0.1/db1/ord/im/admin/iminst.sql;
spool off
set echo on
spool /oracle/admin/edidb/scripts/lockAccount.log append
BEGIN
FOR item IN ( SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS IN ('OPEN', 'LOCKED', 'EXPIRED') AND USERNAME NOT IN (
'SYS','SYSTEM') )
LOOP
dbms_output.put_line('Locking and Expiring: ' || item.USERNAME);
execute immediate 'alter user ' ||
sys.dbms_assert.enquote_name(
sys.dbms_assert.schema_name(
item.USERNAME),false) || ' password expire account lock' ;
END LOOP;
END;
/
spool off
到此,数据库实例建立完毕。
F. oracle为什么创建实例,为何通过实例来访问数据,这样有什么优点吗
实例是一组内存缓冲区和后台进程的集合,用于管理数据库中的文件。用户对数据的所有访问是在实例中的内存结构中进行。
通过实例访问数据的优点有:
数据位于内存中,用户对内存的读写速度远高于对磁盘的读写速度,只要数据还在内存中,用户随后对数据的访问都将在内存中进行;
内存中的数据可以在多个用户之间共享,用户事务在内存中对数据加锁,从而提高了数据访问的并发性。
G. oracle中如何新建一个数据库
1、首先点击桌面左下角的开始菜单按钮在打开的选择窗口中找到图中的选项,点击打开窗口界面即可。
H. windows下怎么创建oracle的实例
创建oracle11g 数据库方法:按住键盘上Windows键,打开开始菜单,找到Database Configuration Assitant并打开;
打开数据库配置助手Database Configuration Assitant,单击“下一步”;
选择“创建数据库”,单击“下一步”
选择“一般用途或事务处理”,单击“下一步”;
设置数据库的名称和实例名,两者可设置相同,也可以不同,单击“下一步”
管理选项配置,不勾选配置Enterprise Manager,单击“下一步”;
数据库身份证明,可以为不同的账户分别设置不同的管理口令,也可以为所有账户设置同一口令,单击“下一步”;
数据库文件所在位置,默认存储类型:文件系统,存储位置:使用模版中的数据库文件位置,也可以自己指定存储路径,单击“下一步”;
恢复配置,指定快速恢复区;
数据库内容,根据需要,选择是否添加示例方案,单击“下一步”;
初始化参数,设置内存、字符集等,单击“下一步”;
数据库存储,控制文件、数据文件、重做日志文件位置设置,单击“下一步”;
创建选项,创建数据库,生成脚本,单击“完成”,开始创建数据库。
I. oracle 如何在一个数据库创建多个实例
首先“创建数据库的时候起不同的名字”不是一个数据库对应多个实例,概念不清~
如果就你的问题来看,你可以查阅关于Oracle rac 的信息,例如:双节点rac 就是一个数据库对应2个实例的情况;
严格的说:一个Oracle服务,只包括一个Oracle实例和一个数据库(不考虑双机并行等这样的情况)。但是一个实例 只能 对应一个数据库,一个数据库有 可能 对应多个实例。除了并行O r a c l e服务器,否则 每个O r a c l e数据库都有一个实例与之相关,一个数据库被唯一的一个实例装载。