创建
sys;//系统管理员,拥有最高权限
system;//本地管理员,次高权限
scott;//普通用户,密码默认为tiger,默认未解锁
登陆
sqlplus / as sysdba;//登陆sys帐户
sqlplus sys as sysdba;//同上
sqlplus scott/tiger;//登陆普通用户scott
查看表空间位置
select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#;
如下面的D:\software\oracle11\11gR2\oradata\orcl\SMLQ.DBF就是先找到大概的位置,然后SMLQ.DBF就是自己起的名字。
创建表空间
create tablespace smlq logging datafile 'D:\software\oracle11\11gR2\oradata\orcl\SMLQ.DBF' size 50m autoextend on next 10m maxsize unlimited extent management local;
创建dblink
create database link ZBKPIDBLINK connect to zbkpi identified by zbsys2019 using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.235)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DSS) ) )';
ZBKPIDBLINK : 表示dblink名字
zbkpi :表示 远程数据库的用户
zbsys2019:表示 远程数据库的密码
HOST : 表示远程数据库IP
PORT : 表示远程数据库端口
SERVICE_NAME : 远程数据库的实例名
创建用户帐号:smlq 密码 123456
create user smlq identified by 123456 default tablespace smlq temporary tablespace TEMP;
修改密码
alter user smlq identified by 123456;
授权
grant XXX to user;,grant是授权的作用,这里的XXX能够是一个角色role,也能够是权限。
权限能够分为两类:
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
实体权限:某种权限用户对其他用户的表或视图的存取权限。(是针对表或视图而言的)。
接下来看系统权限,
DBA:拥有所有特权,是系统最高权限,仅仅有DBA才干够创建数据库结构。
RESOURCE:拥有Resource权限的用户仅仅能够创建实体,不能够创建数据库结构。
CONNECT:拥有Connect权限的用户仅仅能够登录Oracle,不能够创建实体,不能够创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
且系统权限仅仅能由DBA用户授出:sys, system(最開始仅仅能是这两个用户)。普通用户通过授权能够具有与system同样的用户权限,
但永远不能达到与sys用户同样的权限,system用户的权限也能够被回收。
grant connect,resource, exp_full_database,imp_full_database to smlq; exp_full_database:导出其它用户数据 imp_full_database:导入dmp文件的时候,需要授导入的权限 grant create session to smlq;//授予smlq用户创建session的权限,即登陆权限 grant unlimited tablespace to smlq;//授予smlq用户使用表空间的权限 grant create table to smlq;//授予创建表的权限 grante drop table to smlq;//授予删除表的权限 grant insert table to smlq;//插入表的权限 grant update table to smlq;//修改表的权限
角色
角色即权限的集合,可以把一个角色授予给用户
create role myrole;//创建角色 grant create session to myrole;//将创建session的权限授予myrole grant myrole to smlq;//授予smlq用户myrole的角色 drop role myrole;删除角色
oracle服务名称和sid区别
https://www.cnblogs.com/lixuwu/p/7127148.html
SID即INSTANCE_NAME是用来唯一标示实例的。SERVICE_NAME是oracle8i新引进的,8i之前,一个数据库只能由一个实例对应,但是随着高性能的需求,并行技术的使用,一个数据库可以由多个实例对应了,比较典型的应用如RAC。为了充分利用所有实例,并且令客户端连接配置简单,ORACLE提出了SERVICE_NAME的概念。该参数直接对应数据库,而不是某个实例。
查看实例名(sid):
select INSTANCE_NAME from v$instance;
查看服务名:
select global_name from global_name;
JDBC连接ORACLE的方法由三种
格式一:jdbc:oracle:thin:@//<host>:<port>/<service_name> 格式二:jdbc:oracle:thin:@<host>:<port>:<SID> 格式三:jdbc:oracle:thin:@<TNSName>