linux下的安装的数据库oracle11g2r 为啥闪回表之后用户中会出现临时表 详细操作以及具体问题如下。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下的安装的数据库oracle11g2r 为啥闪回表之后用户中会出现临时表 详细操作以及具体问题如下。相关的知识,希望对你有一定的参考价值。
sys下创建表student
create table scott.student (sno int,sname char(10),sage int);
insert into scott.student values(1,'Tom',21);
insert into scott.student values(2,'Kite',22);
insert into scott.student values(3,'Bob',23);
insert into scott.student values(4,'Mike',24);
commit;
select * from current_scn from v$database;
current_scn
1118962
---------------
conn scott/scott
delete student
已删除四行
alter table student enable row movement;
flashback table student to scn 1118962;
select * from tab;
会多一个表 叫做SYS_TEMP_FBT
drop table SYS_TEMP_FBT;
第 1 行出现错误:
ORA-14452: 试图创建, 变更或删除正在使用的临时表中的索引
--------------
conn / as sysdba
sys用户也同样不让删除
shutdown immediate;
startup
---------
conn scott/scott
select * from tab;发现SYS_TEMP_FBT还在。
再次尝试
drop table SYS_TEMP_FBT;
表已删除。
该表已经可以被删除
尝试对其进行闪回drop操作
flashback table SYS_TEMP_FBT to before drop;
第 1 行出现错误:
ORA-38305: 对象不在回收站中
有前辈告我说 system 表空间的对象没有回收站,所以在sys下缺省使用system表空间时,drop table会直接删除对象 所以说SYS_TEMP_FBT 是存在于system表空间嘛?
还有就是 为什么在数据库未shutdown immediate之前删不掉啊。 我之前在网上搜了下 SYS_TEMP_FBT是一个临时表。 那么他是因为什么生成出来的呢。。求各位大佬帮我解解惑。。
如果开启闪回可以使用闪回表。 select log_mode,flashback_on from v$database; 如果是下面结果则开了闪回 LOG_MODE FLASHBACK_ON ------------ ------------------ ARCHIVELOG YES 可以执行以下命令 alter table 表名 enable row movement追问
这我都知道……就是不明白为什么select * from tab;会莫名出现一张tabtype为table的表SYS_TEMP_FBT?
redis 数据库在linux下的安装配置与使用
linux安装redis 完整步骤
(1)安装:
1.获取redis资源
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
2.解压
tar xzvf redis-4.0.8.tar.gz
3.安装
cd redis-4.0.8
make
cd src
make install PREFIX=/usr/local/redis
4.移动配置文件到安装目录下
cd ../
mkdir /usr/local/redis/etc
mv redis.conf /usr/local/redis/etc
5.配置redis为后台启动
vi /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes
6.将redis加入到开机启动
vi /etc/rc.local //在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)
7.开启redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
常用命令
redis-server /usr/local/redis/etc/redis.conf //启动redis
pkill redis //停止redis
卸载redis:
rm -rf /usr/local/redis //删除安装目录
rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本
rm -rf /root/download/redis-4.0.4 //删除redis解压文件夹
(2)redis数据库配置密码:
redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。
1、初始化Redis密码:
在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数;比如 requirepass 123456;(Ps:需重启Redis才能生效)
redis的查询速度是非常快的,外部用户一秒内可以尝试多大150K个密码;所以密码要尽量长(对于DBA 没有必要必须记住密码);
2、不重启Redis设置密码:
(ps:要进入redis命令栏需要使用命令redis-cli 若显示无此命令请进入你的redis安装包中,cd redis-4.0.8/src/ 并使用./redis-cli 命令即可进入)
在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。
redis 127.0.0.1:6379> config set requirepass 123456
查询密码:
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
密码验证:
redis 127.0.0.1:6379> auth 123456
OK
再次查询:
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"
PS:如果配置文件中没添加密码 那么redis重启后,密码失效;
3、登陆有密码的Redis:
在登录的时候的时候输入密码:
redis-cli -p 6379 -a test123
先登陆后验证:
redis-cli -p 6379
redis 127.0.0.1:6379> auth 123456
OK
AUTH命令跟其他redis命令一样,是没有加密的;阻止不了攻击者在网络上窃取你的密码;
认证层的目标是提供多一层的保护。如果防火墙或者用来保护redis的系统防御外部攻击失败的话,外部用户如果没有通过密码认证还是无法访问redis的。
(3)RedisDesktopManager(类似navicat之类的工具,有需要自己去google)
以上是关于linux下的安装的数据库oracle11g2r 为啥闪回表之后用户中会出现临时表 详细操作以及具体问题如下。的主要内容,如果未能解决你的问题,请参考以下文章
Linux下的Oracle11g 监听和数据库实例均启动了但是客户端无法连接