Oracle (1) :服务端和客户端的安装与配置

时间:2024-03-16 10:37:54

一.Oracle概述
Oracle公司-甲骨文公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989年正式进入中国市场。2013年,甲骨文已超越 IBM ,成为继 Microsoft 后全球第二大软件公司。
Oracle公司的网址为http://www.oracle.com
Oracle在企业的大型应用、海量存储、高性能、高并发、安全性等方面都相当不错,被广泛应用于各个领域。Oracle不仅有数据库产品,而且也是ERP软件的供应商。

二、Oracle服务端的安装和配置
版本和下载
Oracle的版本发展8、9i,10g,11g,12c…
Oracle分免费简化版本(Oracle Database Express)和完整版本(Oracle Database),都可以*下载。
Express版本你可以免费用于商业用途,但这个版本对cpu/内存/数据量的有限制。
常见的关系型数据库的Express版本对比
Oracle (1) :服务端和客户端的安装与配置
完整版本可以免费用于学习、教学等,如果商用则需要收费,那么就可以享受Oracle公司提供的服务,Licence按照CPU数量报价(2009年),一个CPU大约50w左右,打完折,25w以上。
完整版本Oracle的windows版本(32位)是从官方直接下载的参考网址:

http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_1of2.zip

http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_2of2.zip

软件安装
这里我们安装简化版本:
Oracle (1) :服务端和客户端的安装与配置
注意:安装目录 不能出现中文和空格

Oracle (1) :服务端和客户端的安装与配置
这个口令是sys和system这两个超级用户的密码。sys相当于mysql的root。
Oracle (1) :服务端和客户端的安装与配置
sys和system是系统的管理员帐号,默认密码是安装Oracle时指定的密码。

测试是否安装成功:
在安装有oracle的机器上,运行cmd,输入(开始我这里设置的密码为root)

sqlplus sys/[email protected]:1521/xe as sysdba

Oracle (1) :服务端和客户端的安装与配置
如果出现了以下情况:
Oracle (1) :服务端和客户端的安装与配置
重启电脑或者使用命令提示符(管理员) 打开窗口:
Oracle (1) :服务端和客户端的安装与配置
软件的卸载(再运行一遍简化版的安装程序,直到出现下面的界面):
Oracle (1) :服务端和客户端的安装与配置

Oracle的服务_了解
在windows下打开“运行”,输入“Services.msc”,找到Oracle相关的服务。
完整版本:
Oracle (1) :服务端和客户端的安装与配置
简化版本:
Oracle (1) :服务端和客户端的安装与配置
关于这些服务:数据库实例服务和监听服务必须启动,其他都可以禁用。(如果安装到自己学习的机器,那么建议全手动。)

手动启动或重启服务的顺序问题:
建议先启动实例服务:OracleServiceXE,再启动监听服务
Oracle (1) :服务端和客户端的安装与配置
提醒:每次重启或开启服务的时候,需要等一会再连接。

Oracle的服务端口,默认是1521
提醒:简化版安装完成之后,你的8080端口可能会被占用。你可以将这个服务禁用,也可以将端口改掉。
可以参考:

Oracle XE http端口8080的修改
Oracle Express Edition(XE)默认的http端口是8080,这跟JBoss/Tomcat的默认端口相同,导致Jboss启动冲突。
修改办法:

  1. 以dba身份登录XE

  2. 执行下列语句

    begin
    dbms_xdb.sethttpport(‘7000’);
    dbms_xdb.setftpport(‘0’);
    end;
    这样就把默认的8080端口改成7000了,不用重启oracle服务,即时生效!
    3 . 修改下面二个internet快捷方式(位于oraclexe安装目录的product\11.2.0\server下)

X:\oraclexe\app\oracle\product\11.2.0\server\Get_Started.url
X:\oraclexe\app\oracle\product\11.2.0\server\Database_homepage.url
用记事本打开这二个文件,把8080换成7000

以上处理对Oracle 11g /R2 同样有效。

三、Oracle客户端的安装和配置
常见的客户端工具
常见的客户端工具为Oracle自带的命令行工具sqlplus、jdbc、第三方的图形化工具plsql developer,下面依次讲解一下安装配置和基本使用。

Sqlplus
Oracle自带的命令行工具,兼容性和连接速度都是很好的。
如果你在当前操作的机器上安装有Oracle,则默认情况下就拥有这个命令行工具,不需要额外安装。否则,你需要安装Oracle独立客户端(Oracle Instant Client)。

使用sqlplus
基本语法:sqlplus 用户名/密码@主机地址:端口/sid(oracle的服务标识) 登录身份(端口默认是1521,可省略!)
sid:是安装的时候提供的一个字符串,简化版默认是xe,无法更改;完整版默认orcl,可以更改
登录身份:普通用户不需要写,超管用户需要使用dba的身份,写法:as sysdba
在服务机上的cmd窗口中可以直接输入sqlplus命令:
Oracle (1) :服务端和客户端的安装与配置
查看当前登录的用户:

SQL> show user;

连接的时候可以省略端口号(默认是1521):
Oracle (1) :服务端和客户端的安装与配置

JDBC连接
通过JDBC来连接Oracle有两种方式:
**Thin(瘦客户端)**方式。纯java直连方式(直接的TCP/IP通讯),推荐。优点是只需要Oracle的驱动包(jar)就行
连接字符串:jdbc:oracle:thin:@localhost:1521:xe

Oci(胖客户端,Oracle Call Interface)方式。
Java来调用本机的Oracle客户端,然后再访问数据库,优点是速度快,但是需要安装和配置Oracle数据库的环境。不推荐。PLSQL Developer就是用的这种方式,它需要依赖于客户端OCI程序(前提必须安装)。
连接字符串:
jdbc:oracle:oci:@localhost:1521:orcl, jdbc:oracle:oci8:@orcl

案例:
使用java连接Oracle,查询并打印sys用户下的tt表(自己建立的表)的数据。

/**oraclejdbc测试
 * @author clark
 *
 */
public class JdbcTest {
	
	
	public static void main(String[] args) throws Exception {
		
		//1.加载驱动
		//mysql: com.mysql.jdbc.Driver
		Class.forName("oracle.jdbc.driver.OracleDriver");
		
		
		//2.创建连接对象
		//连接字符串
		//mysql: jdbc:mysql:///数据库名
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
		
		String user = "sys as sysdba";//只有超级管理员登录的时候需要添加 as sysdba,普通用户不需要添加
		String password = "root";
		Connection conn = DriverManager.getConnection(url, user, password);
		
		
		//3.获取语句对象
		Statement stat = conn.createStatement();
		
		//4.发送sql语句
		String sql = "select * from tt";
		ResultSet rs = stat.executeQuery(sql);
		//5.处理执行结果
		while(rs.next()){
			System.out.println(rs.getString("name"));
		}
		
		System.out.println("over!");
		
		//6.释放资源,先开后关
		rs.close();
		stat.close();
		conn.close();
		
		//提示: oracle 事务管理默认是手动的,必须先提交,在其他的连接中才能获取数据
		
		
	}

}

PL/SQL Developer

工具的安装
该工具是第三方的工具,非官方的。后面都简称“工具”;
本次教学提供安装版本和绿色版本,推荐使用绿色版本,直接解压即可使用。
工作中使用的频率很高, 在银行工作期间我一直一直使用该工具。
Oracle (1) :服务端和客户端的安装与配置
直接解压到一个目录即可(不要出现中文),主执行文件为plsqldev.exe,可以自行创建快捷方式。
Oracle (1) :服务端和客户端的安装与配置

工具的使用优化设置
对象的显示顺序:
Oracle (1) :服务端和客户端的安装与配置
Tools->Preferences->
Oracle (1) :服务端和客户端的安装与配置
Oracle (1) :服务端和客户端的安装与配置
Oracle客户端连接知识(客户端连接验证机制、客户端登录身份)
Oracle有三种连接验证机制:
操作系统验证(具有sysdba和sysopera的用户)
数据库密码验证(普通用户和超级用户)
超级管理员连接数据库的方式:
Oracle (1) :服务端和客户端的安装与配置
或者Oracle (1) :服务端和客户端的安装与配置

成功登录。(免登录必须在安装有Oracle服务的服务器上才有效)

Oracle (1) :服务端和客户端的安装与配置
免密码登录的原因是:
oracle安装时自动创建了一个ora_dba的组,并将当前用户放入该组。如果你连接oracle的时候,会优先使用来查找当前用户是否在组中。如果在组中,则不需要密码就可以登录。
免登录要求:必须在安装有Oracle的本机上才能使用。

客户端登录的身份
Oracle有三种身份登录方式:Normal、sysdba、sysoper。
Oracle (1) :服务端和客户端的安装与配置
normal身份:普通用户身份,默认选项(默认可以不写),用于普通用户登录使用。—记录日志(你的任何操作oracle都会记录一份日志)

sqlplus scott/[email protected]:1521/xe
sysdba身份:数据库管理员身份,用于给拥有DBA权限的用户登录使用。(拥有数据库)
该身份可以进行的操作: 打开、关闭数据库服务器, 备份、恢复数据库, 日志归档,会话限制,管理功能,创建数据库等。----操作是不计日志的。
Oracle (1) :服务端和客户端的安装与配置
sysoper身份:数据库操作员身份,用于给拥有DBA权限的用户登录使用。
该身份可以进行的操作: 打开、关闭数据库服务器, 备份、恢复数据库, 日志归档,会话限制等。—记录日志