参考资料为:

【Oracle XE系列之三】使用OMF方式手工创建Oracle XE数据库 - 王立夫 - 博客园
http://www.cnblogs.com/opfo/p/5056122.html

环境:win7_64

以管理员打开cmd

1.创建数据库实例,实例名为ORCL

  1. oradim -new -sid ORCL

错误:dim-00014:无法打开 Windows NT 服务控制管理器。OS-Error:(OS 5) 拒绝访问。

处理办法:以管理身份运行.

2.为了sys用户可以连入数据库执行操作,先创建数据库的密码文件,密码文件的名称必须为PWDsid.ora

  1. orapwd password=oracle file=C:\oraclexe\app\oracle\product\11.2.0\server\database\PWDORCL.ora

自动生成PWDORCL.ora文件

3.创建下列目录,以存放数据文件和dump信息

#数据文件目录

C:\oraclexe\app\oracle\oradata\ORCL

#background dump目录

C:\oraclexe\app\oracle\oradata\ORCL\bdump

#core dump目录

C:\oraclexe\app\oracle\oradata\ORCL\cdump

#user dump目录

C:\oraclexe\app\oracle\oradata\ORCL\udump

4.修改listener.ora为下列信息,把此数据库注册在监听器中(可选)在C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN下

原有内容:

在最后一句的XE改成ORCL

5.为了可以访问数据库,修改tnsnames.ora为下列信息

在C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN下

原有内容:

改后:

即增加了下面的内容:

  1. ORCL =
  2. (DESCRIPTION =
  3. (ADDRESS_LIST =
  4. (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
  5. )
  6. (CONNECT_DATA =
  7. (SERVER = DEDICATED)
  8. (SERVICE_NAME = ORCL)
  9. )
  10. )

记得在哪里看过,第一行前面不能有空格,即"ORCL="这个前面不能有空格.(参考资料把XE的删除了,我没删)

6.建立pfile文件C:\oraclexe\app\oracle\product\11.2.0\server\database\initORCL.ora,文件的内容如下:(注意文件名)

background_dump_dest='C:\oraclexe\app\oracle\oradata\ORCL\bdump'
compatible='11.2.0.1.0'
control_files='C:\oraclexe\app\oracle\oradata\ORCL\control01.ctl',C:\oraclexe\app\oracle\oradata\ORCL\control02.ctl'
core_dump_dest='C:\oraclexe\app\oracle\oradata\ORCL\cdump'
db_block_size=8192
db_name='ORCL'
db_recovery_file_dest='C:\oraclexe\app\oracle\fast_recovery_area'
db_recovery_file_dest_size=2147483648
pga_aggregate_target=41943040
processes=150
remote_login_passwordfile='EXCLUSIVE'
sga_max_size=167772160
sga_target=125829120
undo_management='AUTO'
undo_tablespace='undotbs1'
user_dump_dest='C:\oraclexe\app\oracle\oradata\ORCL\udump'
db_create_file_dest='C:\oraclexe\app\oracle\oradata\ORCL'
db_create_online_log_dest_1='C:\oraclexe\app\oracle\oradata\ORCL'

7.连入数据库,并创建spfile文件

以管理员打开cmd

  1. set ORACLE_SID=ORCL
  2.  
  3. sqlplus.exe / as sysdba
  4.  
  5. create spfile from pfile;

8.启动数据库到nomount

  1. startup nomount

9.创建creata database文件C:\oraclexe\app\oracle\admin\PF\Create\createdb.sql脚本,具体内容如下:

  1. create database ORCL
  2. user sys identified by oracle
  3. user system identified by oracle
  4. default temporary tablespace temp
  5. undo tablespace undotbs1
  6. character set utf8
  7. national character set al16utf16;

执行createdb.sql

@C:\oraclexe\app\oracle\admin\ORCL\Create\createdb.sql

10.执行catalog.sql,创建数据库的数据字典视图

  1. spool C:\oraclexe\catalog.log
  2.  
  3. @C:\oraclexe\app\oracle\product\11.2.0\server\RDBMS\ADMIN\catalog.sql
  4.  
  5. spool off

执行第二句的时候出现了一长串的内容,好像是因为已经建立了报错,可能是之前就有了,不明确有没有问题:

11.执行catproc.sql,创建执行PL/SQL程序所需的所有包

  1. spool C:\oraclexe\catproc.log
  2.  
  3. @C:\oraclexe\app\oracle\product\11.2.0\server\RDBMS\ADMIN\catproc.sql
  4.  
  5. spool off

最后两步运行过程虽然有报错,但暂时无视,过后用看看有没有出现问题.(最后一步运行了好久)

到此数据库ORCL创建完毕,可以正常使用了。

需要注意的地方:
 (1)在11g中,如果system01.dbf这个文件用extent management local的话,必须创建一个temporary表空间。
 (2)11g必须创建sysaux01.dbf这个文件
 (3)如果以上步骤出现错误,而错误提示为乱码的话,可以退出SQLPLUS,然后设置环境变量set nls_lang=american_america.zhs16gbk(windows),然后再登录数据库。

总结:创建过程中出现了很多的问题和报错,出现报错后查看告警日志alert_pf,本例中路径是C:\oraclexe\app\oracle\oradata\ORCL\bdump,根据错误号可以google一下,能解决很多问题

以下不是必须的:

在服务里面看到出现OracleServiceORCL,但是是手动开启了,顺手改成自动开启了.

Oracle XE手动建立数据库实例的更多相关文章

  1. Oracle XE自带数据库创建的过程

    Oracle XE自带数据库如何创建的?XE.sql脚本定义实例究竟是怎样的?阅读下文,您可以找到这些问题的答案. Oracle XE自带数据库是如何创建的呢?这是很多人都提到过的问题,下面就为您详细 ...

  2. Oracle启动与关闭数据库实例

    Oracle数据库启动实例分为3个步骤: 启动实例 加载数据库 打开数据库 通用模式: STARTUP  [ nomount | mount | open | force ]  [resetrict] ...

  3. docker 实战---使用oracle xe作为开发数据库(六)

    oracle作为oltp的大佬,非常多行业应用都会用到它.那么在开发的过程中就不可避免的要使用oracle数据库,oracle数据库的版本号有好多,当中express版本号是免费的开发版.它的主要限制 ...

  4. 使用Oracle BBED修改Oracle11g数据库实例名称

    by 蔡建良 2019-2-19 数据库名称存在SYSTEM01.DBF表空间,所以先查出你要修改的数据库的DBID和DBNAME. 一. 查询数据库实例名称 加载ORCL实例数据库的SYSTEM01 ...

  5. windows xp 创建 Oracle(11G)数据库实例时写入系统日志失败解决方案

    1.查看Windows日志相关服务(Even Log),无异常: 2.清空事件管理器中“应用程序”和“系统节点”的内容,对这两个节点,分别在“属性”页面用增大“最大日志文件大小”的值,并选中“按需要改 ...

  6. PLSQL Developer12连接远程Oracle xe 11g

    目标: .学习使用docker下载oracle xe 11g .使用PLSQL连上启动运行oracle xe 11g容器服务 1.准备工作 Linux 安装docker 下载PLSQL Develop ...

  7. 详解Oracle手动创建数据库几大步骤

    在这里我们将介绍Oracle手动创建数据库几大步骤,包括前期的准备工作,以及具体的实施. Oracle手动创建数据库是本文介绍的重点,希望通过本文能帮助大家更好的利用Oracle.51CTO也向您推荐 ...

  8. 【Oracle XE系列之三】使用OMF方式手工创建Oracle XE数据库

    环境:win10_X64_Pro 1.创建数据库实例,实例名为PF C:\oraclexe\app\oracle\product\11.2.0\server\bin>oradim -new -s ...

  9. (转)Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出

    Linux系列 启动1.启动数据库实例,分为两步:第一步,启动监听:第二步,启动数据库实例. 1.1进入到sqlplus启动实例 [oracle@redhat ~]$ su - oracle      ...

随机推荐

  1. 开始我的IT博客之旅

    这是一个好的开始,过程很漫长,但我却乐在其中. 在大学之际,这是我的又一个开始,随便写点啦. 想把每一次的过程记录下来 这样以后对自己 对别人都会有所帮助. 好啦 作为一名大三的学生党  加油吧!

  2. ArcGIS Engine开发前基础知识(4)

    ArcGIS不同开发方式的比较 关于GIS应用软件的开发,通常有三种方式:C/S架构.网络GIS和移动GIS.ArcGIS平台提供了对三种开发方式的支持,对于采用从C/S架构的大多数开发者来讲,首先想 ...

  3. Golang Web开发时前端出现谜之空白换行的坑

    在使用Golang做Web开发时,有时候渲染出来的模板在前台显示时会出现一些奇怪的空白换行,具体特征就是查看css样式表并没有相关定义的空白部分. 分析: 查看出现问题页面的网页源代码,复制空白换行部 ...

  4. Eclipse背景颜色设置(设置成豆沙绿色保护眼睛,码农保护色)

    菜单栏windows–>preferences–>general–>editors–>text editors中在Appearance color options下修改 bac ...

  5. android Service介绍

    一.简介 android中service(服务)运行于后台,没有界面.和其他组件一样,service也运行在主线程中,因此不能用它来做耗时的请求或者动作.可以在服务中开启线程,在线程中做耗时操作.可以 ...

  6. Ubuntu搭建NFS

    NFS全称是Network File System,网络文件系统.它可以通过网络实现文件共享.其结构图大概是这样的: 在机器E上开启NFS服务,机器ABCD都挂载NFS,这样可以实现机器ABCD共享文 ...

  7. 12、产品经理要阅读的书籍 - IT软件人员书籍系列文章

    产品经理是软件产品的主要领导者.不同于项目经理,产品经理是对产品负责,更多的是负责产品的设计定型:而项目经理则对项目负责,更多的是负责项目软件的实现.产品经理的一些工作,和项目经理是一致的,比如需求分 ...

  8. Javascript不同浏览器差异及兼容方法

    原文链接:http://caibaojian.com/js-ie-different-from-firefox.html javascript的各种兼容就是为了解决不同浏览器的差异性,了解其中的差异能 ...

  9. 3Sum algorithm - 非常容易理解的实现 (java)

    原题重述:(点击图片可以进入来源链接) 这到题目的中文解释是, 输入一个数组,例如{-1 0 1 2 -1 -4},从数组中找三个数(a,b,c),使得其和0,输出所有的(a,b,c)组合. 要求ab ...

  10. Webform(七)——内置对象(Session、Application)和Repeater的Command操作

    内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. 一.内置对象 (一)Session 跟Cookies一样用来存储用户数据 1.Session.Cookies对比 ...