显示标签为“Oracle”的博文。显示所有博文
显示标签为“Oracle”的博文。显示所有博文

2020年2月12日星期三

Oracle创建只读用户(账号)的方法

第一步:创建用户(需要使用有dba管理员权限的用户创建一个新的用户,比如system)
create user 用户名 identified by 密码 default tablespace 表空间;

第二步:赋连接权限
grant connect to 用户名;
grant Resource to 用户名;

权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。

第三步:赋表权限(到表空间所属用户下执行)
grant select on owner.表名 to 用户名;

如果有多表,可以用selece转换批量执行语句:
select ‘grant select on ‘||owner||’.’||object_name||’ to 用户名;’
from dba_objects
where owner in (‘owner’) and object_type=’TABLE’;

第四步:创建同义词:
create or replace SYNONYM 用户名.表名 FOR owner.表名;

如果有多表,可以用selece转换批量执行语句:
SELECT ‘create or replace SYNONYM 用户名.’||object_name||’ FOR ‘||owner||’.’||object_name||’;’
from dba_objects
where owner in (‘owner’) and object_type=’TABLE’;

样例如下:

/** 创建用户,system用户下执行**/

create user NewUser_TEST IDENTIFIED BY NewUser_TEST
default tablespace SD
temporary tablespace TEMP
profile DEFAULT;

grant connect to NewUser_TEST;
—grant dba to NewUser_TEST;
grant resource to NewUser_TEST;
— Grant/Revoke system privileges
grant alter any procedure to NewUser_TEST;
grant create any procedure to NewUser_TEST;
grant create database link to NewUser_TEST;
grant debug any procedure to NewUser_TEST;
grant debug connect session to NewUser_TEST;
grant unlimited tablespace to NewUser_TEST;
grant Create any synonym to NewUser_TEST;
grant create any view to NewUser_TEST;

/** 为用户赋权,老用户下执行 **/
GRANT SELECT ON XXX.TB_PARA_CURRENCY TO NewUser_TEST;

/** 创建同义词,新用户下执行 **/
create or replace synonym 表名 for 老用户.TB_XXX;

2018年5月14日星期一

Oracle与SQL Server区别

实例

SQL Server实例是安装SQL Serve数据库软件时生成,代表一个包含了操作系统文件、内存结构、后台进程以及注册表信息的独立的应用服务。在Windows系统中用一个存在着停止和运行状态的服务来代表一个实例,当处于运行状态时,实例要占用一定的服务器内存以及生成一定数量的后台进程。一般情况下我们安装SQL Server2008就只有默认的一个实例,实例名为MSSQLSERVER,如果我想要安装多个实例那么就要再次安装sqlserver数据库,也就是需要多少个实例就安装多少次,然后安装过程中修改实例名如MSSQLSERVER1。

Oracle就不用这么麻烦,可以按需要创建多个实例。

数据库

从物理角度说,一个SQL Server数据库表现为存储于磁盘上面的一组操作系统文件的集合。数据库文件分为两种:数据文件(data file)和事务日志文件(transaction log file)。一个数据库至少要包含一个数据文件和一个事务日志文件,SQL Server数据库的资料主要是存在于数据文件中,事务日志文件用来记录发生在这些数据上面的变更记录,SQL Server在执行系统恢复的时候要用到它。一个数据文件或事务日志文件只能隶属于一个特定的数据库,不存在两个数据库共用一个数据文件或者是日志文件的情况。一个数据量很大的数据库可以使用多个数据文件,这些数据文件能够被逻辑的组合成一个称为文件组(file group)的逻辑组。

表空间

在SQL Server中逻辑分组由数据库自己来完成,而在Oracle中,这项工作由表空间(tablespace)完成,Oracle表空间是用来对表、视图、索引和其他数据库对象进行分组的逻辑结构。例如,你的Oracle产品库可以给HR应用一个单独的表空间,支付应用则使用另外一个。一个数据库可以逻辑的分成若干个表空间,这些表空间在物理上则由一个或者多个数据文件组成。因此在Oracle中与SQL Server数据库等价的是表空间。

用户

Oracle数据库里面用户是独立的,不同的用户下面对应SQL Server里面的数据库,每个用户就相当于SQL Server里面的一个独立数据库,在Oracle里面你可以为自己的用户分配独立的空间,大小可以自由设置。SQL Server里面的用户不和数据库绑定的。

Oracle 是单实例单数据库多个表空间,SQL Server是一个实例下建立多个数据库,Oracle中与SQL Server数据库等价的是表空间。

Oracle创建一个数据库/表空间需要以下三个步骤(Oracle在创建数据库/表空间的时候要对应一个用户,数据库/表空间和用户一般一一对应):

1.创建数据库/表空间的文件

CREATE TABLESPACE monitor LOGGING DATAFILE 'E:\app\owner\oradata\orcl\monitor.dbf' SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 500M EXTENT MANAGEMENT LOCAL; CREATE TEMPORARY tablespace monitor_temp tempfile 'E:\app\owner\oradata\orcl\monitor_temp.dbf'size 100m autoextend on next 32m maxsize 500m extent management local;

2.创建用户与上面创建的文件形成映射关系

CREATE USER monitor IDENTIFIED BY monitor DEFAULT TABLESPACE monitor TEMPORARY TABLESPACE monitor_temp;

3.给用户添加权限

grant connect,resource,dba to monitor;grant create session to monitor;

Oracle与SQL Server区别

实例

SQL Server实例是安装SQL Serve数据库软件时生成,代表一个包含了操作系统文件、内存结构、后台进程以及注册表信息的独立的应用服务。在Windows系统中用一个存在着停止和运行状态的服务来代表一个实例,当处于运行状态时,实例要占用一定的服务器内存以及生成一定数量的后台进程。一般情况下我们安装SQL Server2008就只有默认的一个实例,实例名为MSSQLSERVER,如果我想要安装多个实例那么就要再次安装sqlserver数据库,也就是需要多少个实例就安装多少次,然后安装过程中修改实例名如MSSQLSERVER1。

Oracle就不用这么麻烦,可以按需要创建多个实例。

数据库

从物理角度说,一个SQL Server数据库表现为存储于磁盘上面的一组操作系统文件的集合。数据库文件分为两种:数据文件(data file)和事务日志文件(transaction log file)。一个数据库至少要包含一个数据文件和一个事务日志文件,SQL Server数据库的资料主要是存在于数据文件中,事务日志文件用来记录发生在这些数据上面的变更记录,SQL Server在执行系统恢复的时候要用到它。一个数据文件或事务日志文件只能隶属于一个特定的数据库,不存在两个数据库共用一个数据文件或者是日志文件的情况。一个数据量很大的数据库可以使用多个数据文件,这些数据文件能够被逻辑的组合成一个称为文件组(file group)的逻辑组。

表空间

在SQL Server中逻辑分组由数据库自己来完成,而在Oracle中,这项工作由表空间(tablespace)完成,Oracle表空间是用来对表、视图、索引和其他数据库对象进行分组的逻辑结构。例如,你的Oracle产品库可以给HR应用一个单独的表空间,支付应用则使用另外一个。一个数据库可以逻辑的分成若干个表空间,这些表空间在物理上则由一个或者多个数据文件组成。因此在Oracle中与SQL Server数据库等价的是表空间。

用户

Oracle数据库里面用户是独立的,不同的用户下面对应SQL Server里面的数据库,每个用户就相当于SQL Server里面的一个独立数据库,在Oracle里面你可以为自己的用户分配独立的空间,大小可以自由设置。SQL Server里面的用户不和数据库绑定的。

Oracle 是单实例单数据库多个表空间,SQL Server是一个实例下建立多个数据库,Oracle中与SQL Server数据库等价的是表空间。

Oracle创建一个数据库/表空间需要以下三个步骤(Oracle在创建数据库/表空间的时候要对应一个用户,数据库/表空间和用户一般一一对应):

  1. 创建数据库/表空间的文件
  2. CREATE TABLESPACE monitor LOGGING DATAFILE 'E:\app\owner\oradata\orcl\monitor.dbf' SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 500M EXTENT MANAGEMENT LOCAL;CREATE TEMPORARY tablespace monitor_temp tempfile 'E:\app\owner\oradata\orcl\monitor_temp.dbf'size 100m autoextend on next 32m maxsize 500m extent management local;        
  3. 创建用户与上面创建的文件形成映射关系
  4. CREATE USER monitor IDENTIFIED BY monitor DEFAULT TABLESPACE monitor TEMPORARY TABLESPACE monitor_temp;        
  5. 给用户添加权限
  6. grant connect,resource,dba to monitor;grant create session to monitor;        

2018年4月30日星期一

5月计划

3月底的时候订了个4月的计划,现在回顾一下。

当时制定计划的时候就把手机上的特价推荐网站app给卸载了,过了大概4天又装上了,现在没有网购真的不行,日常的生活用品基本上都在网上解决,浏览特价网站时看到的东西正好买回家也提升了生活品质,我强迫自己不经常看特价网站,一般分3个时间,上午下班,下午下班,晚上睡觉前。

计划一个月看完《神雕侠侣》的,刚开始看的很快,用了几天就看了三分之一的内容,越到后面看的越慢了,4月20日左右看到三分之二就没有再看了,我不喜欢这样的小说。

桌子上的Oracle数据库入门的书看了前半部分,主要是Oracle的安装和简单操作,后面讲SQL语法的部分没有看了。这本书写的并不好,好多概念讲不清楚,我上网查了不少资料才弄懂,近期写一篇Oracle和SQLServer数据库区别的文章。

5月打算看一本王小波的散文,学习java web开发基础。