Oracle下载
官网下载地址
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
下载完成以后两个多G,解压后6个G。
安装
双击setup.exe
配置选项
因为是win10系统,系统类选择桌面类
使用虚拟账户
设置安装位置及口令
显示要安装的程序
等待安装完成即可
安装完成
安装完成后可以在开始菜单中查看
Oracle Instance Manager实例管理
Oracle数据库是数据的物理存储, 包括:数据文件ORA或者DBF、控制文件、联机日志、参数文件 。 一个操作系统只有一个Oracle数据库,可以看作是Oracle就只有一个大数据库。
一个Oracle实例(Oracle Instance)由一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。
实例管理,在安装时会自动新建一个叫ORCL的实例,也可以新建多个实例。
客户端
客户端工具:sqlplus(官方推荐命令行)、sqldeveloper(免费)、pl/sql、navicat for oracle
sqlplus命令
默认用户名密码
用户是在实例下建立的,不同实例可以建相同名字的用户,建立用户时会建立一个和用户名相同的schema(模式)。
登录身份:normal、sysdba、 sysoper
normal 是普通用户
sysdba拥有最高的系统权限,登陆后是sys
sysoper主要用来启动、关闭数据库,sysoper登陆后用户是public
默认用户名密码
用户名 | 密码 | 登录身份 |
---|---|---|
sys | change_on_install | SYSDBA或SYSOPER |
system | manager | SYSDBA或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";
给其他用户赋予权限
#赋予某个用户其他模式下的增删改查权限
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
把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"));
}
}
}