以下内容属于个人经常使用总结记录,如有不正确的地方请大家指出,会继续完善
用户管理:
--1、删除用户,并且清掉缓存 用户名=CUSER1
drop user CUSER1 cascade
--2、创建用户,用户名=CUSER1,密码=cuser123
create user CUSER1 identified by cuser123;
--3、设置权限 dba 最大权限
GRANT dba TO CUSER1
--授予部分 权限
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE ANY INDEX, CREATE SEQUENCE, CREATE TYPE
TO CUSER1;
--4、导出dmp文件
exp CUSER1 /cuser123 @10.1.1.15:1521/ORCL tables=(t_users,t_dep) file=E:/databak.dmp
CUSER1 =用户名、cuser123 =密码、10.1.1.15:1521/ORCL=服务器IP地址,file=文件存放路径,
tables=导出的包含哪些表(可省该参数略)
--5、导入dmp文件
imp CUSER1 /cuser123 @10.1.1.15:1521/ORCL file=E:/databak.dmp full=y ignore=y
CUSER1 =用户名、cuser123 =密码、10.1.1.15:1521/ORCL=服务器IP地址,file=文件存放路径,full=全备份,ignore=忽略错误继续
--6、查询表名
select t.table_name||',',t.NUM_ROWS from user_tables t order by NUM_ROWS desc
--7、查看表空间
select b.file_name as "物理文件名",
b.tablespace_name as "表空间",
b.bytes / 1024 / 1024 as "大小M",
(b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 as "已使用M",
substr((b.bytes - sum(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) as "利用率"
from dba_free_space a, dba_data_files b
where a.file_id = b.file_id
group by b.tablespace_name, b.file_name, b.bytes
order by b.tablespace_name;
--8、获取数据库中有哪些账户
select * from dba_users order by username
--9、查询每个用户占用的空间
SELECT OWNER as "用户名", sum(BYTES) / 1024 / 1024 / 1024 as "所有表的大小(GB)"
FROM DBA_SEGMENTS
WHERE SEGMENT_NAME in (select t2.OBJECT_NAME
from dba_objects t2
where t2.OBJECT_TYPE = 'TABLE')
group by OWNER order by 2 desc
imp exp 具体参数可以参考https://blog.youkuaiyun.com/u011342720/article/details/103494633
以上内容属于个人经常使用总结记录,如有不正确的地方请大家指出,会继续完善