oracle 基础知识

1:创建用户
CREATE USER LISI INDENTIFIED BY LISI;

2:授权
grant connect to lisi;
grant select ,update ,insert to lisi;

grant select on scott.emp to lisi;

3:回收权限
revoke select on scott.emp from list;

4:授权表的增删改查
grant select ,insert,update,delete on emp to lisi;
revoke select,insert,delete,update on emp from lisi;

5:修改用户密码
alter user lisi indentified by lisi1234;

6:删除数据库用户
drop user lisi;

drop user lisi cascade;删除用户并删除用户关联的表

7:数据权限
select * from session_privs;查看数据库默认的权限
select * from user_role_privs;查看当前用户的角色

create user zhangsan identified by zhangshan;
grant connet,resource to zhanghsan;

8:查看当前用户下的视图
select * from user_views;

9:创建普通索引
create index id_test_index on test_index(id);

10:创建同义词
create synonym sg for salgrade;

11:其他用户通过同义词访问scott的emp表
create user hejiu identified by hejiu;
grant connect to hejiu;
grant select on scott.emp to hejiu;
select * from scott.emp;

使用sys用户授权创建公共同义词权限给scott用户;
grant create public synonym to scott;

使用scott用户查看是否具有创建公共同义词的权限
select * from session_privs where privilege like ‘%SYNONM%’;

创建公共同义词
create public synonm emp for scott.emp;

12:oracle数据库中函数和存储过程的区别
函数必须有返回值,而存储过程可以没有;
函数可以单独执行,尔过程必须通过execute 执行;
函数可以嵌入在sql语句中执行,而存储过程不能;

13:关闭数据库的4个不同命令
查看当前数据库的状态
select instance_name,status from v$instance;
instance 实例 包括数据库的内存结果+一组后台进程
实例是存在于内存里面的,数据库的操作均由实例中的进程完成
一个实例可以是一个数据库,多个实例也可以是一个数据库
数据库集群,则是一个数据库,由多个实例构成;

关闭数据库
shutdown immediate;
不允许新的连接,不等待会话结束,不等待事务结束,做一个检查点并关闭数据文件;
没有结束的事务是自动rollback的
启动时不需要对数据库进行实例恢复
这个名称常用,即使是数据库还有事务在运行,还有人停留在数据库上,都可以关闭数据库;

shutdown abort;
不允许新的连接,不等会话结束,不等事务结束,不做检查点且没有关闭数据文件
启动时数据库将会自动进行实例恢复
这个很少用,一般数据库在运行复杂的业务,而shutdown immediate 命令不能关闭数据库,并且需要快速关闭数据库时使用shutdown abort;

shutdown transactionall;
不允许新的连接,不等待会话结束,等待事务结束,做一个检查点并关闭数据文件,
启动时数据库不需要实例恢复
这个命令很少使用,只要还有用户停留在数据库上,都不能正常关闭时使用;

shutdown normal;(shutdown)
不允许新的连接,等待会话结束,等待事务结束,做一个检查点并关闭数据文件
启动时不需要实例恢复
这个命令很少使用,只要还有用户停留在数据库上,都不能正常关闭时使用;

14:启动数据库到nomount状态
startup nomount;
启动数据库 为nomount状态;
nomount状态是数据库进程刚运行到初始化文件(spfile或pfile).
初始化文件spfile和pfile文件的内容是一致的,pfile是文本文件,可以手工编辑文件,spfile文件是二进制文件,不能手动修改里面的参数,只能使用数据库命令进行修改,还能在数据库运行时修改spfile里面的参数
提高了数据库的安全性,数据库默认spfile启动数据库;

nomount状态一般在维护数据库时需要用到,
比如对数据库重要参数的修改,恢复数据库的控制文件是需要用到nomount状态;

查看spfile参数
show parameter spfile;

根据spfile文件创建pfile;
create pfile =‘d:/oracle/pfile.ora’ from spfile;

15:使用初始化文件pfile来启动数据库
关闭数据库
shutdown immediate;
使用pfile文件启动数据库到nomount状态;
startup nomount pfile=’c:/oracle/pfile.ora’;
nomount状态不能查看控制文件;select name from v$controlfile;

16:数据库的mount状态
从数据库的nomount更改为mount状态
alter database mount;

查看状态
select instanc_name,status from v$instance;

查看控制文件的具体位置
select name from v$controlfile;

查看控制文件的内容
把控制文件的内容分显示在trace(踪迹)中
alter database backup controlfile to trace as ‘d:\learnorac\ctl.trc’;

启动到数据库的mount状态;
shutdown immediate;
startup mount;

17:数据库的OPEN状态
alter database open;

查看数据库的数据文件位置
select name from v$datafile;

查看重做日志位置
select member from v$logfile;

18:数据库远程登录
查看是否远程登陆
show parameter remote_login_passwordfile;
禁止数据库用户远程登录
alter system set remote_login_passwordfile=none scop=spfile; 设置系统参数
startup force; 重启数据库

19:查看数据库表空间
SELECT tablespace_name as ‘表空间名称’,block_size /1024 as ‘数据块存储大小单位KB’,status as ‘表空间的状态’,contents as ‘表空间类型’,logging as ‘是否有日志记录’ from dba_tablespaces;

oralce数据块的大小单位,默认最小8KB,一般设置成16KB

表空间的状态,
ONLINE 联机状态,
OFFLINE 脱机状态
表空间类型 contents,
PERMANENT 数据可以永久保存
UNDO 还原表空间的数据
TEMPORARY 临时表空间的数据

20:查看数据文件的表空间,大小,是否扩展,最大值
select t.tablespace_name 表空间名称,t.file_name 文件路径,t.bytes/1024/1024 数据文件大小M,t.autoextensible 是否自动扩展,t.maxbytes 数据文件最大M from dba_data_files t;

21:重做日志文件
SELECT T.* FROM v$logfile T;

22:关闭终端防火墙

service ipables stop;

23:export和inport
exp/imp工具的场景

两个数据库之间传递数据
同一个oracle数据库的版本之间
不同的oracle数据版本之间
相同或者不同的操作系统之间的oracle数据库
用于数据的备份和恢复
从一个数据库用户传递到另一个用户中
从一个表空间传递到另一个表空间中

24:创建表空间
create tablespace bank_tbs dadafile ”d:/oracle/oracledada/bank_tbs.dbf
siz 10M autoextend on maxsize 2048M;

25:创建用户
create user bankuser indentified by bankpwd default tablespace bank_tbs;

26:对用户授权
grant connect,resource to bankuser;

27:是用export导出数据
exp bankuser/bankpwd@ORCL file=D:\test\bankuser.dmp log=D:\test\bankuserExp.log

28:使用import工具导入数据
imp bankuser/bankpowd@LinuxOMS fromuser=bankuser touser=bankuser
file=D:\test\bankuser.dmp log=d:\test\bankusrImplog.log

29: 使用expd导出数据
创建导出数据目录
create or repalce directory expd_dir as ‘D:\exp\expd_dir’;
把目录的权限给bankuser用户
grant read,write on directory expd_dir to bankuser;

linux下需要创建目录,并设置权限

导出数据
expd bankuser/bankpwd directory=expd_dir dumpfile=bankuser.dmp logfile=bankuserExp.log

30:使用impd导入数据
创建导入目录
create directory impd_dir as ‘d:\test’;
目录授权
grant read,write on directory impd_dir to bankuser;
导入数据
impd bankuser/bankpwd#orcl directory =impd_dir
dumpfile =bankuser.dmp logfile=bankuserImp.log

31:oracle中的flashbak;

31.1找回刚刚删除的数据

select t.start_timestamp,t.commit_timestamp,t.logon_user,t.operation,t.table_name,t.table_owner,t.undo_sql
from flashback_transaction_query t
where table_name=’EMP’;

undo_sql 为恢复sql语句

31.2恢复刚刚更新的众多数据

验证数据
SELECT T.* FROM emp T
as of timestamp to_timestamp(‘2014-1-1 10:10:00’,’yyyy-mm-dd hh24:mi:ss’);
更改表的行号
alter table emp enable row movement;
使用闪回恢复数据
flashback table emp to timestamp to_timestamp(‘2014-1-1 10:10:00’,’yyyy-mm-dd hh24:mi:ss’);

31.3恢复刚刚删除的数据
flashback table emp to before drop;

32:查看数据库回收站
SELECT T.* FROM user_recyclebin T order by droptime desc;

33:更改数据库的归档模式
shutdown immediate
startup mount
alter database archivelog;改数据库为归档模式
alter databae open;
archive log list; 验证是否为归档模式

34:设置rman备份环境参数及自动备份控制文件
进入oracle的rman 环境中,rman target/
查看rman的所有配置 show all;
启动控制文件自动备份 configure controlfile autobackup on;
验证控制文件备份配置是否生效 show controlfile autobackup;
最简单的全库备份 backup database;

35:rman备份脚本
cat /home/oracle/.bash_profile 查看环境变量
df -lh 查看磁盘空间信息
设置rman冗余数据10
rman target/
CONFIGURE RETENTICN POLICY TO REDUNDANCT 10;

创建备份目录
/u01/app/oracle/RmanBackup
pwd
dkdir RmanBackup;

编写0级备份脚本
vi BackupFull.sh

export ORACLE_BASE=/u01/app/oracle
export ORCLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export ORACLE_SID=oms
export PATH= ORACLEHOME/bin: PATH

rman target / <

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值