最近在部署一个网页项目,该项目使用oracle 11g
,本来打算在linux环境进行部署,可是由于各类问题最后转战到了win10操做系统下面进行oracle 11g
安装与配置,总结一些心得。html
知识点:
oracle 11g
是甲骨文(Oracle)公司旗下的一款数据库产品,其中版本号的g表明的是此版本使用了网格(grid)技术。相似的,在更新的版本12c
中的c表明的是云(cloud)技术,就版本9i
中的i表明的是因特网(Internet)技术1java
在撰写此文时,文主对读者进行如下假设:linux
理解并赞同"代码即英文的一种表达"的观点sql
由此文主再也不对文中简单的代码进行注释或解释数据库
了解xml
语言和其文件的结构windows
第一次接触Oracle database
产品安全
了解sql
语言,但不了解sqlplus
语言服务器
在这篇文章中,你将了解到:oracle
一部分在windows
环境配置oracle 11g
可能会遇到的问题,及解决的方案ide
你将不会了解到:
具体的oracle 11g
数据库的安装步骤
具体的使用oracle 11g
数据库DBCA来进行数据库建立与删除
考虑到有读者是第一次接触Oracle
的产品,文中附有参考连接,其版权归原做者全部
Windows 10 professional x64
已经安装了java
下载了oracle 11g
的两个文件包(下载页面点这里,须要oracle帐户并接受条款),并将其解压到同一个文件夹中。
解压后将获得一个database
文件夹,用于安装的课执行文件setup.exe
就在文件夹中。
请先阅读这篇文章
注意细节:
启动的时候可能会遇到了INS-13001 环境不知足最低要求
的错误
缘由:在Oracle 11g
版本发布的时候win10
操做系统尚未面世,须要修改配置信息。
解决步骤:
在database
文件夹中,找到stagecvucvu_prereq.xml
文件
打开cvu_prereq.xml
,在<CERTIFIED_SYSTEMS>
标签中,添加以下信息:
<OPERATING_SYSTEM RELEASE="6.2"> <VERSION VALUE="3"/> <ARCHITECTURE VALUE="64-bit"/> <NAME VALUE="Windows 10"/> <ENV_VAR_LIST> <ENV_VAR NAME="PATH" MAX_LENGTH="1023" /> </ENV_VAR_LIST> </OPERATING_SYSTEM>
保存文件,退出。
预期结果:重启数据库的setup.exe
再次进行安装,没有了错误提示,而且能够继续执行。
测试安装是否成功
方法一:
打开命令行窗口
按照格式sqlplus user/pwd@db [as sysdba]
链接数据库
解释一下命令的含义:
sqlplus -> oracle 数据库使用sqlplus
语言管理数据库
user -> 用户名,数据库默认sys
使用
pwd -> password,在建立数据库时设置。
db -> database,所要链接到哪一个数据库
[as sysdba] -> 可选项,是否使用管理员权限登录
方法二:
打开https://localhost:1158/em/查看Oracle的企业管理页面,如何能看到以下界面则安装成功。
参见文末指导资料
在遭遇并解决了多个导入报错警告和权限错误以后,成功地使用了对应用户TBSTEST
将数据文件test100.dmp
导入到数据库test
的表空间TBS_TEST
中。
知识点:
oracle
体系中,一个数据库实例包括后台进程/线程以及在服务器分配的共享内存区,而且经过表空间来存储物理表的,一个数据库实例能够有N个表空间,一个表空间下能够有N张表。2
以系统管理员的身份打开系统的命令行
以数据库管理员(DataBase Administrator, DBA)链接到数据库实例test
中:
d:\> sqlplus sys/pwd@test as sysdba
在SQL命令行中,先建立表空间TBS_TEST
:
CREATE TABLESPACE TBS_TEST DATAFILE 'D:\database\oradata\test\TBS_TEST.dbf' -- 指定表空间的存储位置 SIZE 50m AUTOEXTEND ON;
在SQL命令行中,建立用户TBSTEST
:
CREATE USER TBSTEST IDENTIFIED BY PWD -- 指定默认表空间,该用户全部操做都将在这个空间中进行 DEFAULT TABLESPACE TBS_TEST;
退出SQL命令行,并开始导入test100.dmp
的数据:
d:> imp TBSTEST/PWD@test file='d:\test100.dmp' full=y
等待导入操做执行完毕。
预期结果:命令行提示“导入操做成功终止,没有警告”。
ORA-01031: insufficient privileges
缘由:若使用`sys`帐户登陆时遇到,能够确定是控制单元没有给予帐户足够的权限;或者说是OS没有予以`oracle DBMS`系统特殊文件的操做权限。 解决方案:(墙外)请查看[此视频](https://www.youtube.com/watch?v=bnVRODAflo8),给电脑的用户开放权限。 注意: 视频中给全部用户甚至是访客用户也增长了操做权限,形成数据安全风险,请谨慎处理。
ORA-000959: tablespace 'TBS_TEST' does not exist
正如上文说起,Oracle须要表空间存储物理表,而导入的时候没有建立表空间`TBS_TEST`而使用默认的`TMP`表空间则会出现此错误。 解决方法: 如上文建立对应的表空间便可。
ORA-12899: 列 "tablespace"."table"."attribute"的值太大(实际值:xxx, 最大值: xxx)
缘由:导入数据集的原字符集与被导入数据库的字符集不一致 解决方案:修改数据集原字符集或是被导入数据库的字符集,使其一致,一般修改后者。
若是有疏漏之处,欢迎读者补充说明。
[Oracle 11gr2 软件安装和数据库建立步骤详解
](https://blogs.oracle.com/Data...