Linux系统之数据库-Oracle
1 . Oracle Database XE
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一,在数据库市场上占有主要份额。作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
Oracle价格昂贵,不可以作为学习或开发时使用,Oracle Database 10g Express Edition (Oracle Database XE)是甲骨文向中国市场推出的可免版,可以供专业人员在学习及应用开发的起步阶段使用。功能当然是受限的。
至多使用1个CPU或1个双核CPU的处理能力;
最多可使用1GB内存;
每个操作系统上只能安装一份实例;
最多存储4GB的用户数据。
2. Oracle安装
Oracle Xe没有源码,只有发行包。在各种linux发行版本下安装方法不尽相同,本文以Ubuntu 为例进行Oracle Xe的安装。
Oracle Xe为Ubuntu 用户设立了专门的apt 源服务器,只需要在/etc/apt/source.list 中添加一行:deb acle/debian unstable main non-free即可。
在运行apt-get update 命令之前,还需要将该源服务器的公钥添加在本地apt 系统的密钥库中。首先下载公钥:wget acle/el4/RPM-GPG-KEY-oracle
下载完成之后添加该公钥到密钥库中:
sudo apt-key add RPM-GPG-KEY-oracle
apt-key命令:
apt-key是Debian软件包的安全管理工具。每个发布的deb包,都是通过密钥认证的,apt-key
用来管理密钥。
apt-key list:列出已保存在系统中key。
apt-key add keyname:把下载的key添加到本地trusted数据库中。
vim编辑器下载与安装apt-key del keyname:从本地trusted数据库删除key。
apt-key update:更新本地trusted数据库,删除过期没用的key
再执行
sudo apt-get update
同步软件包索引文件。
我们可以从这个源上下载安装Oracle 10g Express Edition。可以选择的软件包有:oracle-xe Oracle Database 10g Express Western European Edition 西欧版
oracle-xe-client - Oracle Client 10g Express Edition
oracle-xe-universal - Oracle Database 10g Express Universal Edition 通用版(含简体中文)
在本地安装一个用于连接Oracle 服务器的客户端,所以我选择安装的是oralce-xe-client 这个软件包。sudo apt-get install oracle-xe-client
sudo apt-get install oracle-xe-universal
已经把Oracle10g从下载区撤下来了,现在不可以使用sudo apt-get update 方式下载
wget -c acle/debian/dists/unstable/non-free/binary-i386/oracle-xe-
client_10.2.0.1-1.2_i386.deb
wget -c acle/debian/dists/unstable/non-free/binary-i386/oracle-xe-universal_10.2.0.1-1.1_i386.deb
dpkg -i oracle-xe-universal_10.2.0.1-1.1_i386.deb
其实10g只是个Oracle的过渡版本,11g完全兼容10g的,而且功能比10g强大,性能更稳定。奉劝你还是直接用11g吧。
由于下载的是rpm包ubuntu无法直接使用所以需要alien来转换
Oracle Database Express Edition 11g Release 2 for Linux x64
oracle-xe-11.2.0-1.0.x86_64.rpm
sudo apt-get install alien
sudo alien -d --scripts oracle-xe-11.2.0-1.0.x86_64.rpm
双击deb安装这个包,这时包安装成功但是我们会得到一个错误说/sbin/chkconfig不存在。
3. oracle 启动与关闭
安装完毕后提示运行/etc/init.d/oracle-xe configure
其中有四个需要配置的地方
第一个是http端口默认8080 (可以tomcat或apache和端口冲突)[9080]
第二个是数据库端口默认1521 一般不改
第三个是SYS用户和SYSTEM这两个超级用户的密码(36:Oracle36)
第四个是是否开机启动
如果改错了可以修改/etc/default/oracle-xe 文件,打开你就知道怎么改了。
启动不是必须的;可能通过sqlplus启动
/etc/init.d/oracle-xe status
/etc/init.d/oracle-xe start
/etc/init.d/oracle-xe stop
/etc/init.d/oracle-xe restart
修改bug
oracle/product/11.2.0/xe/bin/oracle_env.sh.
NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh` 替换为
NLS_LANG='$ORACLE_HOME/bin/nls_lang.sh' 区别在于那个单引号
oracle/product/11.2.0/xe/bin/nls_lang.sh
if [[ -n "$LC_ALL" ]]; then
if [ -n "$LC_ALL" ]; then
数据库:是存于物理结构的一组文件。Oracle 在计算上上的本质是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件, 归档文件、密码文件组等)。
控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件.
数据文件:存储数据的文件.
重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至
少需要两个重做日志文件.
参数文件:定义Oracle 例程的特性,例如它包含调整SGA 中一些内存结构大小的参数.
归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。
密码文件:认证哪些用户有权限启动和关闭Oracle 例程.
实例:是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,如何它与数据库进行了关联,通过它就可以操作数据。它也可以不与任何数据库进行关联。实例名是由参数instance_name决定的。如果这个参数不被指定(即instance_name没有被指定为任何值),那么实例的名字由该用户的环境变量ORACLE_SID(注意这里是大写)决定。
服务名:service_name参数对应一个数据库,而不是一个实例。如果数据库有域名,则数据库服务名
就是全局数据库名;否则,数据库服务名与数据库名相同。一个数据库可以对应多个service_name,
以便实现更灵活的配置。oracle网络组件,数据库与客户端连接的主机字符串使用的是数据库服务名。
这是指定的数据库,具体由那个实例来管理数据库,由服务器自主设置。
Oracle11g 安装好的后,存在的文本参数文件,用来设定数据库(就包括数据库,实例,服务名)。
用于设置数据库的近260个系统参数。下面分类别说明一下各参数的作用,关于参数的详细使用说明请
参考Oracle官方参考文档。
两类参数文件:oracle/product/11.2.0/xe/dbs
pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init<sid>.ora
spfile:二进制的参数文件,不能直接修改,只能存放在Oracle服务器端,可以使用EM或指令来修改,文件名通常为spfile<sid>.ora,支持RMAN备份。
优先级别:
Oracle 启动读取参数文件的顺序,如果个文件都不存在,则Oracle会报错
spfile<sid>.ora --> a -->init<sid>.ora
oracle数据使用流程应该:启动一个实例,创建一个数据库,加载数据库,开启数据,操作数据库。
sqlplus是与oracle进行交互的客户端工具。利用这个工具进行数据的管理工作。Sqlplus命令要使用
使用环境变量,故要先设定变量如下:
export NLS_LANG="Simplified Chinese_china.UTF8"
export ORACLE_HOME=/TO/server/dbserver/oracle/product/11.2.0/xe
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export ORACLE_SID=XE
export SQLPATH=/TO/server/dbserver/oracle/sql
export TNS_ADMIN=/TO/server/dbserver/oracle/product/11.2.0/xe/network/a
export PATH=$PATH:$ORACLE_HOME:$ORACLE_HOME/bin:$SQLPATH
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论