# oracle-client **Repository Path**: yuanangu/oracle-client ## Basic Information - **Project Name**: oracle-client - **Description**: 基于jdbc的oracle客户端 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-06-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #0.0.2 基于jdk1.7/oracle 11.2.0版本测试 `oracle jdbc jar位置 $ORACLE_HOME/jdbc/lib/ojdbc6.jar` # oracle client功能介绍 ## 1、 创建用户、表空间、授权 ``` -- 创建表空间 CREATE TABLESPACE ${tableSpace} LOGGING DATAFILE '${userTableSpacePath}' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL; -- 创建用户 CREATE USER ${userName} IDENTIFIED BY ${passWord} ACCOUNT UNLOCK DEFAULT TABLESPACE ${tableSpace} TEMPORARY TABLESPACE TEMP quota unlimited on ${userName}; -- 授权 GRANT CONNECT,RESOURCE TO ${userName}; ``` ## 2、 删除用户、删除表空间 ``` -- 查询用户拥有的角色 SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE=${userName}; -- 回收权限权限 REVOKE CONNECT,RESOURCE FROM ${userName}; -- 删除用户及数据 DROP USER ${userName} CASCADE; -- 删除表空间及dbf文件 DROP TABLESPACE ${tableSpace} INCLUDING CONTENTS AND DATAFILES; -- 处于会话中的用户,强制下线后才能删除(DBA用户才能执行) SELECT SID||','||SERIAL# FROM V$SESSION WHERE USERNAME = ${userName}; ALTER SYSTEM DISCONNECT SESSION '${SID,SERIAL#}' IMMEDIATE; ``` ## 3、执行SQL ## key值 jdbcDriver=oracle.jdbc.driver.OracleDriver db.url=jdbc:oracle:thin:@//192.168.40.159:1521/sysware db.dba.name=system db.dba.password=sysware db.user.name=test_dbuser db.user.password=test_dbuser ## flyway事务 [官方文档](https://flywaydb.org/documentation/migrations#sql-based-migrations) 默认支持一个sql文件(或class)一个事务(可使用commit提交) ### 测试版本说明 flyway 4.1.0 oracle 10.2.0 ### 不支持UNDO SQL, 不能回滚DDL语句 ### DDL容错 可以用create or replace的对象有:functions, procedures, packages, types, synonyms, trigger and views, 没有table,也没有sequence 因为DDL语句无法回滚,要在创建之前调用DROP语句,来保证该SQL可重复执行 # maven 操作 ## odbc install to maven repository ``` -- 安装到本地仓库 mvn install:install-file -Dfile=ojdbc6.jar -DgroupId=com.oracle.jdbc -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar -- 上传到私服 mvn deploy:deploy-file -Dfile=ojdbc6.jar -DgroupId=com.oracle.jdbc -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar -DrepositoryId=test -Durl=http://host:port/nexus/content/repositories/test ```