Oracle下载

官网下载地址
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
下载完成以后两个多G,解压后6个G。

安装

双击setup.exe
Oracle_Oracle

配置选项
Oracle_Oracle_02

因为是win10系统,系统类选择桌面类
Oracle_Oracle_03

使用虚拟账户
Oracle_Oracle_04

设置安装位置及口令
Oracle_Oracle_05

显示要安装的程序
Oracle_Oracle_06

等待安装完成即可
Oracle_Oracle_07

安装完成
Oracle_Oracle_08

安装完成后可以在开始菜单中查看
Oracle_Oracle_09

Oracle Instance Manager实例管理

Oracle数据库是数据的物理存储, 包括:数据文件ORA或者DBF、控制文件、联机日志、参数文件 。  一个操作系统只有一个Oracle数据库,可以看作是Oracle就只有一个大数据库。

一个Oracle实例(Oracle Instance)由一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。

实例管理,在安装时会自动新建一个叫ORCL的实例,也可以新建多个实例。Oracle_Oracle_10

客户端

客户端工具:sqlplus(官方推荐命令行)、sqldeveloper(免费)、pl/sql、navicat for oracle
sqlplus命令

默认用户名密码

用户是在实例下建立的,不同实例可以建相同名字的用户,建立用户时会建立一个和用户名相同的schema(模式)。

登录身份:normal、sysdba、 sysoper

normal 是普通用户

sysdba拥有最高的系统权限,登陆后是sys

sysoper主要用来启动、关闭数据库,sysoper登陆后用户是public

默认用户名密码

用户名密码登录身份
syschange_on_installSYSDBA或SYSOPER
systemmanagerSYSDBA或NORMAL

sqlplus

#免密登录
sqlplus /nolog   #免密登录
conn /as sysdba  #作为管理员连接

sqlplus / as sysdba  #直接登录为管理员

#用户名密码登录
sqlplus sys/ as sysdba  #用户名,然后输入密码
sqlplus sys/123456 as sysdba   #用户名密码登录,密码会显示出来

创建新用户

#创建或修改scott账户密码,12c往后普通用户需要带前缀C##或c##
create/alter user scott identified by tiger;  

#赋予用户创建会话权限
grant create session to USERNAME;
#赋予建表权限,但只能给当前登录用户的模式建表
grant resource to USERNAME;
#修改表USERNAME用户名的表空间为无限制
ALTER USER USERNAME QUOTA UNLIMITED ON "USERS";

Oracle_Oracle_11

给其他用户赋予权限

#赋予某个用户其他模式下的增删改查权限
GRANT SELECT,INSERT,UPDATE,DELETE on schema.table to USERNAME;

#赋予建表权限,能给任何schema创建
grant create any table to USERNAME;
#赋予创建存储过程权限,能给任何schema创建
grant create any procedure to USERNAME; 

#生成语句-授予其他用户当前模式的所有表读取权限
select 'grant select on '|| tname ||' to  USERNAME;' from tab 
where tname not like 'BIN%';

#撤销指定schema下面指定table的权限
Revoke select on SCHEMA.tableName from USERNAME;
#删除用户式所有表的权限
Revoke select any table from USERNAME;

Navicat需要下载instantclient更换oci.dll文件。

表空间

表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。

OJDBC

ojdbc下载

把ojdbc8.jar放入程序中,此包需要jdk1.8版本,JDBC代码如下。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class DbUtil {
    public static final String DRIVERCLASS = "oracle.jdbc.driver.OracleDriver";  //加载驱动类
    //端口为1521,实例名为ORCL(在OracleInstance Manager中可查看)
    public static final String URL = "jdbc:oracle:thin:@localhost:1521:ORCL";  
    public static final String USER = "c##autumn";  //用户名
    public static final String PASSWORD = "123456";  //密码

    public static void main(String[] args) throws Exception {
        //1.加载驱动程序
        Class.forName(DRIVERCLASS);
        //2. 获得数据库连接
        Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
        //3.操作数据库,实现增删改查
        Statement stmt = conn.createStatement();
        
        //4.执行sql语句
        ResultSet rs = stmt.executeQuery("SELECT stuname, age FROM stu");
        //5.如果有数据,rs.next()返回true
        while(rs.next()){
            System.out.println(rs.getString("stuname")+" 年龄:"+rs.getInt("age"));
        }
    }
}

Oracle_Oracle_12