Oracle基础

1、查看数据库文件

select * from v$controlfile;--查找控制文件
select name from v$datafile;--查找数据库文件
select * from v$logfile;--查找日志文件

--oracle的数据库由表空间构成,表空间由表构成

2、创建数据库
使用Database Configuartion Assistant创建数据库,注意指定数据库的编码为utf-8

接着使用PL/SQL 登录到创建好的数据库,

创建自己的表空间

create tablespace main_tablespace datafile 'E:oracleproduct10.2.0oradatahelloworldmain.dbf' size 500M;

在自己的表空间里创建表(在建表语句后直接跟上tablespace关键字和表空间的名称)

create table t_test
(
  id varchar2(50)
)
tablespace MAIN_TABLESPACE;

以上都是使用的sys账号登录的,并且是以sysdba的角色进行登录

3、Java端登录数据库并使用
所以在Java端如果使用此账号登录,用户名必须是 sys as sysdba

若想用其他账号登录到数据库,则需要使用sys账号登录后,为此数据库创建新用户
创建好新用户后需要配置权限
t_test select update insert delete  create session, create table, delete table, select table, update table

users对象下的已经创建好的用户名,点击鼠标右键选择edit,新窗口中配置用户

在Java端登录的新建的用户,使用某个表时,必须指定 是SYS.t_test

............
如果不想使用SYS.t_test这种方式,则意味着需要把t_test表用新建的用户来创建

使用该 新账号登录后,可以创建t_test表,那么此t_test表就是指该用户下的表对象,而不是SYS用户下的表对象

java连接Oracle数据库,先导入class12.jar库文件:

Class.forName("oracle.jdbc.OracleDriver");
        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:helloworld",  "test",  "Abc123");
        PreparedStatement ps = conn.prepareStatement("select * from t_test");
        ResultSet rs = ps.executeQuery();
        while (rs.next()) {
            System.out.println(rs.getString("id"));
        }

以下是主流的三种Java连接数据库是加载驱动和url的对比:

SQL Server数据库连接: com.microsoft.sqlserver.jdbc.SQLServerDriver   jdbc:sqlserver://localhost:1433;DatabaseName=db_name
Oracle数据库连接: oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@localhost:1521:orcl
MySQL数据库连接: com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/db_name

4、查看当前连接的数据库
  

select value from v$parameter where name='db_name'; --> SQL Window

select name from v$database; -->SQL Window

show parameters db_name --> SQL Command window
    

5、使用sql plus登录数据库
    sqlplus scott/tiger@sid
    
6、常用账户
    scott/tiger 普通用户
    sys
    system
    
7、sql plus的命令(pl/sql command window)
    show user; 显示登录用户
    show sga; 显示sga区信息
    desc table_name;显示表相关的信息
    desc db_name;显示数据库相关的信息


原文地址:https://www.cnblogs.com/A0926/p/5549519.html