建用户和授权要用DBA
专注于为中小企业提供成都做网站、成都网站制作、成都外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业泰兴免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
最简单得建用户:
create user 用户名 identified by 密码
用户解锁 alter user 用户名 account unlock(不解锁无法登陆)
授权用 grant
建完用户首先要授权登陆权限
grant create session to 用户名
授权可以授权给角色和用户
也可以把角色授权给角色和用户
其他得类似 创建表得权限类似如下格式:
grant create table to 用户
因为Oracle数据库没有Top关键字,所以这里就不能够像微软的数据据那样操作,这里有两种方法:
1)、一种是利用相反的。
PAGESIZE:每页显示的记录数
CURRENTPAGE:当前页号
数据表的名字是:components
索引主键字是:id
select * from components where id not in(select id from components where rownum=(PAGESIZE*(CURRENTPAGE-1))) and rownum=PAGESIZE order by id;
如下例:
select * from components where id not in(select id from components where rownum=100) and rownum=10 order by id;
从101到记录开始选择,选择前面10条。
2)、使用minus,即中文的意思就是减去,呵呵,这语句非常的有意思,也非常好记
select * from components where rownum=(PAGESIZE*(CURRENTPAGE-1)) minus select * from components where rownum=(PAGESIZE*(CURRENTPAGE-2));
如例:select * from components where rownum=10 minus select * from components where rownum=5;.
3)、一种是利用Oracle的rownum,这个是Oracle查询自动返回的序号,一般不显示,但是可以通过select rownum from [表名],可以看到,是从1到当前的记录总数。
select * from (select rownum tid,components.* from components where rownum=100) where tid=10;
实现Oracle数据库的读写分离的方法:
DSG RealSync同步软件的实现方案:
利数据库同步复制软件是实施关键系统灾备工程的一个重要组成部分,当生产系统出现异常或故障时,备份系统的数据库能够完全代替生产系统的Oracle 数据库管理系统,以实现关键系统的正常运行。
1、充分利用投入的资源:
平时灾备数据库可以作为查询库来使用,方便的实现了读写分离,降低了主生产系统的压力。可以充分的把灾备资源利用起来,不至于浪费投入。
2、将查询、报表、统计等查询操作业务全部割接到备份数据库,主库只用于写操作。新写入的数据在三秒左右会同步到备份库。
读写分离的实现后,业务性能远远超过用户估计。
3、业务功能实现:
在关键业务应用系统的数据库上安装复制软件代理程序,通过代理程序获取数据库的交易,实现数据变化的实时跟踪。抓取的数据通过1000Mbps以太网进行实时传输,实现系统数据同步到备份系统上的实时传输。
4、技术实现:
复制软件是采用交易复制的方式进行数据同步;灾备数据库上的Oracle数据库处于OPEN状态,可提供实时数据访问。数据复制的时延可以控制在3秒左右。
删除数据不能缩小表空间,只是可再利用的多了.
要实际缩小,让操作系统可以利用,需要先把表move tablespace
也可以在原来的tablespace上move一遍,再缩小tablespace就可以了.
例如:
alter table your_table move tablespace yourtablespace;
本函数可以将“目标字符串”以“指定字符串”进行拆分,并通过表结构返回结果。代码如下:
CREATE OR REPLACE TYPE str_split IS TABLE OF VARCHAR2 (4000);
CREATE OR REPLACE FUNCTION splitstr(p_string IN VARCHAR2, p_delimiter IN VARCHAR2)
RETURN str_split
PIPELINED
AS
v_length NUMBER := LENGTH(p_string);
v_start NUMBER := 1;
v_index NUMBER;
BEGIN
WHILE(v_start = v_length)
LOOP
v_index := INSTR(p_string, p_delimiter, v_start);
IF v_index = 0
THEN
PIPE ROW(SUBSTR(p_string, v_start));
v_start := v_length + 1;
ELSE
PIPE ROW(SUBSTR(p_string, v_start, v_index - v_start));
v_start := v_index + 1;
END IF;
END LOOP;
RETURN;
END splitstr;
创建完毕后,我们来测试一下,例如执行如下SQL:
select * from table(splitstr('Hello,Cnblogs!',','));
其输出结果为一个两行的表,如下图:
使用exp命令的log选项
具体实例:
1、调出SQL*Plus
conn system/manager
grant connect,resource to a identified by a;
grant connect,resource to b identified by b;
conn a/a
create table a(a number);
insert into a values(1);
insert into a values(2);
insert into a values(3);
create table b(a number,b varchar2(10));
insert into b values(1,'1111');
insert into b values(2,'2222');
insert into b values(3,'3333');
commit;
2、打开一个DOS窗口、先执行导出
E:exp a/a file=a.dmp log=loga.txt
Export: Release 8.1.6.0.0 - Production on 星期五 12月 1 22:24:16 2000
(c) Copyright 1999 Oracle Corporation. All rights reserved.
连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
已导出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户A的外部函数程序库名称
. 正在导出用户A的对象类型定义
即将导出A的对象 ...
. 正在导出数据库链接
. 正在导出序号
. 正在导出群集定义
. 即将导出A的表通过常规路径 ...
. . 正在导出表 A 3 行被导出
. . 正在导出表 B 3 行被导出
. 正在导出同义词
. 正在导出视图
. 正在导出存储的过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图、功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出快照
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计
在没有警告的情况下成功终止导出。
E:
3、再执行导入,使用show=y、log这两个选项
E:imp a/a file=a.dmp show=y log=logb.txt
Import: Release 8.1.6.0.0 - Production on 星期五 12月 1 22:29:49 2000
(c) Copyright 1999 Oracle Corporation. All rights reserved.
连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
经由常规路径导出由EXPORT:V08.01.06创建的文件
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
. 正在将A的对象导入到 A
"CREATE TABLE "A" ("A" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 25"
"5 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS 1 MAXEXTENTS 2147483"
"645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLE"
"SPACE "SYSTEM""
. . 正在跳过表 "A"
"CREATE TABLE "B" ("A" NUMBER, "B" VARCHAR2(10)) PCTFREE 10 PCTUSED 40 INIT"
"RANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS 1 "
"MAXEXTENTS 2147483645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_P"
"OOL DEFAULT) TABLESPACE "SYSTEM""
. . 正在跳过表 "B"
成功终止导入,但出现警告。
E:
4、使用编辑器打开logb.txt,里面可以看到DDL语句
3楼说的狠对,用plsql developer可以导出为.sql文件