参考资料为:

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

环境:win7_64

以管理员打开cmd

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

oradim -new -sid ORCL

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

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

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

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下

原有内容:

改后:

即增加了下面的内容:

ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)

记得在哪里看过,第一行前面不能有空格,即"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

set ORACLE_SID=ORCL

sqlplus.exe / as sysdba

create spfile from pfile;

8.启动数据库到nomount

startup nomount

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

create database ORCL
user sys identified by oracle
user system identified by oracle
default temporary tablespace temp
undo tablespace undotbs1
character set utf8
national character set al16utf16;

执行createdb.sql

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

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

spool C:\oraclexe\catalog.log

@C:\oraclexe\app\oracle\product\11.2.0\server\RDBMS\ADMIN\catalog.sql

spool off

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

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

spool C:\oraclexe\catproc.log

@C:\oraclexe\app\oracle\product\11.2.0\server\RDBMS\ADMIN\catproc.sql

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. bootstrap的栅格布局与两列布局结合使用

    在工作中我们常常需要实现响应式布局,这个可以使用bootstrap的栅格系统来实现,我们在列里也需要实现一部分的响应式.比如下面的效果图,需要实现左边图标固定,右边的自适应 : 左边固定宽度,右边自适 ...

  2. Sharepoint 2010、Sharepoint 2013浏览器打开CAD(.dwg)

    客户端配置 1.安装FreeDWGViewer.exe,设置浏览器查看 2.检查ActiveX插件是否已安装成功 服务端配置 1.开启许可模式或者通过脚本将"application/acad ...

  3. 用Kotlin语言重新编写Plaid APP:经验教训(II)

    原文标题:Converting Plaid to Kotlin: Lessons learned (Part 2) 原文链接:http://antonioleiva.com/plaid-kotlin- ...

  4. 在Android中,使用Kotlin的 API请求简易方法

    原文标题:API request in Android the easy way using Kotlin 原文链接:http://antonioleiva.com/api-request-kotli ...

  5. Android中隐藏顶部状态栏的那些坑——Android开发之路3

    Android中隐藏顶部状态栏的那些坑 先看看常规的隐藏状态栏的方法: 方法一: @Override protected void onCreate(Bundle savedInstanceState ...

  6. JavaScript 函数

    JavaScript 函数 介绍:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块.嗯,就像Java中封装的方法一样. 将脚本编写为函数,就可以避免页面载入时执行该脚本. 函数包含着一些代码 ...

  7. GridView 树形结构分组的功能

    在“会飞的鱼”博客中看到GridView实现树形结构的代码,经过修改,添加了树形结构中的复选框功能,欢迎吐槽. 源地址:http://www.cnblogs.com/chhuic/archive/20 ...

  8. Java并发之原子变量和原子引用与volatile

    我们知道在并发编程中,多个线程共享某个变量或者对象时,必须要进行同步.同步的包含两层作用:1)互斥访问(原子性):2)可见性:也就是多个线程对共享的变量互斥地访问,同时线程对共享变量的修改必须对其他线 ...

  9. (转载) 浅谈python编码处理

    最近业务中需要用 Python 写一些脚本.尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息. 很快,我就遇到了异常: UnicodeEncodeError: ...

  10. spring squertz定时任务

    spring squertz是一个强大的定时任务处理方式 1.需要的Jar quartz-1.8.5.jar commons-logging.jar spring-core-3.0.5.RELEASE ...