1.1 oracle10g的安装与卸载(重点)
关于Oracle的安装
1. 软件环境
操作系统:windows 7中文旗舰版
Oracle安装版本:10201_database_win32.zip
2.安装步骤
1)编辑安装包内文件 database/stage/prereq/db/refhost.xml , 增加下面节点
<OPERATINT_SYSTEM>
<VERSIONVALUE=”6.1/”>
</OPERATING_SYSTEM>
目的是:解除oracle安装的windows版本检测
2)编辑安装包内文件 database/install/oraparam.ini
找到[Certified Versions]小节 在下面的第二行中增加windows版本6.1,如下所示
Windows=4.0,5.0,5.1,5.2,6.1
注意:要把windows前面的"#"去掉,否则无效。
3)关闭windows7的UAC。执行UserAccountControlSettings。把控制块拉到最下边。
说明: 这种东西开着装到一半就会被卡住,没有任何提示窗体。
4)在win7上安装windows Loopback Adapter(微软环回网卡)(以安装可跳过)
运行:hdwwiz。如下图所示:
单击 下一步 如下图所示:
选择手动添加硬件,继续单击下一步 如下图所示:
选择网路适配器,然后下一步,如下图所示:
选择厂商为Microsoft,右侧选择Loopback Adapter,继续下一步,如下图所示:
继续下一步,OK安装好了,如下图所示:
打开网络中心,配置新建适配器的IP地址,如下图所示:
单击更改适配器设置,如下图所示:
右击 本地连接2 -->属性 如下图所示:
选择IPv4 --属性,手动设置IP 地址,如下图所示:
5)以兼容形式运行安装程序。右击setup.exe点击属性->兼容性->勾选以兼容方式运行
在下拉列表中选择windows xp sp3
6)一切完成后点击Setup.exe开始安装。
注意: 安装的文件路径不允许有空格,即所选择的安装路径每一个文件夹都不能有空格。
在安装之前,oracle会检测环境配置是否符合要求,如果有任何警告或错误,就必须先解决,否则安装一定会失败。
关于oracle的卸载
1. 直接运行卸载程序
2. 删除硬盘上的残留文件,如果删除不掉,则先进入安全模式下在删除。
3. 同时删除注册表中所有与oracle有关的配置项
如果没有正常的安装成功,除了操作系统的原因外,直接采用以上的第二和第三个步骤即可完成卸载。
1.2 oracle10g的相关配置及问题(重点)
1. 口令管理
使用oracle数据库主要有以下四个管理员:
超级管理员:sys/change_on_install
系统管理员:system/manager
普通用户:scott/tiger ->默认是被锁定的
大数据用户:sh/sh ->默认是被锁定的
安装完成之后,下面选择退出即可。退出后oracle10g会默认打开一个OEM的管理界面。
安装完成后,会自动的为用户在windows中注册若干个服务:
2. 计算机à右击à管理à服务
建议将这几项服务都改为手动启动。其中下面两项服务最为重要
a) 监听服务:OracleOraDb10g_home1TNSListener
以后如果有程序操作数据库,或者是一些远程的客户端要连接数据库则必须启动此服务
b) 数据库的实例服务:OracleServiceMLDN
保存数据库的具体信息的服务,每一个数据库有一个数据库的实例(服务)
命名规则:OracleServerviceXXX,其中XXX是配置的数据库的名称(严格来讲是SID的名称)
3. 监听服务(重点)
监听服务是Oracle数据库中最重要的一个服务,但是这个服务会经常出错,包括以后在工作中这个服务也会经常出错。下面给出两种常见错误的解决方案。
错误一:注册表使用了优化软件被删除了相关项。
对于系统服务实际上都会在注册表中有所保存
打开注册表regedit,搜索OracleOraDb10g_home1TNSListener
找到监听服务的注册项HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\OracleOraDb10g_home1TNSListener,里面会有一个“ImagePath”的选项,这个选项有可能会在使用优化软件的时候被删除,如果 被删除则应该按照下面的方式建立一个新的项,并写上相应的内容。
内容:F:\oracle\product\10.2.0\db_1\BIN\TNSLSNR,即oracle的bin目录下的INSLSNR程序的目录
错误二:网络环境发生改变。(主机用户名改变。) Oracle 11g中此问题自动解决。
网络环境的改变最多的就是指电脑名称的变更。
计算机à属性à更改主机的名称,这样计算机的网络名称就发生了改变。
修改完成之后会提醒用户重新启动电脑。
这个时候监听服务已经无法正常启动了,即网络环境发生了改变,这种问题是学习开发之中最常见的问题之一。如果想解决此问题,必须修改网络配置文件
a) 配置文件路径:F:\oracle\product\10.2.0\db_1\NETWORK\ADMIN。
b) 修改配置文件listener.ora和tnsnames.ora
HOST = 计算机名
但是,以后如果使用程序连接oracle10g的话,则以上的配置还有可能不能正常的访问数据库。,此时可以进行下面的操作,进行数据库名名的注册。
c) 选择“NetManger”,进入网络配置界面。或者直接在listener.ora文件中添加
在oracle中也提供了一个监听状态检查的命令:LSNRCTL.EXE
1.3sqlplus命令的使用(重点)
1.对oracle数据库的操作主要使用命令行的方式,而所有的命令都是用sqlplus.exe来完成,对于sqlplus有两种形式:
a)一种是dos风格的sqlplus:sqlplus.exe。
b)一种是windows风格的sqlplus:sqlplusw.exe
格式化命令:SET LINESIZE 100;和SET PAGESIZE 20;
在sqlplusw中方向键只能控制屏幕的移动,所以这个命令模式不适合编辑。
所以在sqlplusw中提供了ed和@指令,可以进行记事本的调用和执行。
例:ed a; @a;要读取硬盘上的文件要跟上完整的文件路径。
例:@ F:\demo.txt (硬盘上的文件为demo.txt)
或者 F: demo(硬盘上的文件为demo.sql)
d) 在一个数据库中,会含有很多用户(现在已知的是四个用户),这每个用户下都会有多张自己的用户表,要想查看所有的数据表,可以是使用下面的命令。
Select * from tab;
e) 而且由于用户众多,要想知道当前的登录用户,可以使用SHOW USER;指令完成。
f) 而且在sqlplusw可以直接进行登录用户的切换,语法如下所示:
CONN 用户名密码 [AS SYS DBA]
例:使用sys用户登录 : CONN changeoninstall AS SYSDBA;
但是,一旦使用了sys用户登录之后,则无法直接查询emp表数据。
对于每一张表,都有其所属的用户,所以一张表的完整名称是“用户表名称”,或者是“模式名 表名称”,所以不同的用户要想访问其他用户的表,则应该用户名,即现在的访问名称:
SELECT * FROM scott.emp;
g) 一旦使用了超级管理员登录的话,可以通过命令手工的命令控制数据库实例的打开和关闭。
关闭数据库实例: SHUTDOWN IMMEDIATE;
一旦关闭之后,用户无法连接sqlplusw命令。此时可以使用/nolog登录,之后再连接管理员登录。如下示例。
例:CONN sys/changoninstall as sysdba;
启动数据库实例:STARTUP;
h) 另外,sqlplusw命令窗口也可以调用本机的操作系统的命令,使用“host”作为前缀。如下所示:
例:HOST COPY f:\demo.sqlf:\hello.txt;