数据库删除、新建、导出与导入
--查看所有用户:
SELECT * FROM ALL_USERS;
--删除用户:
drop user 用户名 cascade;
--创建用户并赋予权限:
create user 用户名 identified by 密码;
--赋予用户权限,dba是管理员权限
grant dba to 用户名;
导出数据备份文件:
--exp 用户名/密码@数据库服务器IP:端口/服务名 file=导出文件存放路径\导出文件名称.dmp log=导出日志存放路径\导出日志名称.log owner=用户名
exp username/password@127.0.0.1:1521/orcl file=D:\数据库备份文件\备份数据_20220614.dmp log=D:\数据库备份文件\备份数据_20220614.log owner=username;
倒入数据备份文件:
--imp 用户名/密码@服务名 full=y file=导入文件存放路径\导入文件名称.dmp log=导入日志存放路径\导入日志名称.log ignore=y
imp username/password@orcl2 full=y file=D:\数据库文件(初始导入)\20220614.dmp log=D:\数据库文件(初始导入)\20220614.log ignore=y;
数据库恢复到某个时刻:
flashback table xxx to timestamp to_timestamp('xxxx-xx-xx xx:xx:xx','yyyy-mm-dd hh24:mi:ss')
alter table xxx enable row movement;
创建只读用户并赋权,及其相关操作
--1.创建只读用户
create user 用户名 identified by 密码;
grant connect,resource,unlimited tablespace to 用户名;
grant create synonym to rszsw #授权某个用户创建同义词的权限
--2.创建同义词
--第一步:只读账户中创建同义词,连接正式环境
create or replace synonym 同义词名字(和正式环境表明保持一致即可) for 正式环境用户名.表名;
--第二步:正式环境用户中授予只读账户的只读权限
grant select ON 正式环境用户名.表名 to 只读账户用户名;
--3.操作同义词
--授权某个用户create synonym的权限,若用户名为scott
--grant create synonym to scott
--创建同义词
--create [or replace] synonym syn_name from table_name;
--撤销scott创建同义词的权限
--revoke create synonym from scott;
--删除同义词
--Drop synonym syn_name
--4.批量创建同义词
--4.1.查询建立语句
select 'create or replace synonym 目的地用户.'|| table_name ||' for 源用户.'|| table_name ||';' from all_tables where owner = '源用户';
--4.2.将sql运行结果复制,然后运行,比如:
create or replace synonym WDRC.ACT_GE_BYTEARRAY for WDIM.ACT_GE_BYTEARRAY;
create or replace synonym WDRC.ACT_GE_PROPERTY for WDIM.ACT_GE_PROPERTY;
create or replace synonym WDRC.ACT_RE_DEPLOYMENT for WDIM.ACT_RE_DEPLOYMENT;
--4.3.给表同义词赋权,操作方式同上
select 'grant select, insert, update, delete on 源用户.'|| table_name ||' to 目的地用户;' from all_tables where owner = '源用户';