oracle创建用户,修改用户,删除用户等关于用户的
--直接修改底层表 USER$ 更换用户名
1、windows 平台下运行 cmd
2、sqlplus /nolog
3、SQL> conn SYSTEM/123@ORCL as sysdba 连接到数据库。通常可以用sys用户登陆。
4、SQL> select * from user$; 找到 name为需要修改的用户的user#。
select user#, name from user$ where name = 'SA'; --先瞧下SA的信息,其中user#就是一个序列号,相当于身份证号吧,假如这里是250
update user$ set name = 'SA3' where user# = 250; --于是用户名就改好了啊.当然是update语句就记得再commit提交下啊.
5、SQL> UPDATE USER$ SET NAME='新用户名' WHERE USER#=38;
已更新 1 行。
6、SQL> COMMIT;提交完成。
7、SQL> ALTER
SYSTEM CHECKPOINT;
系统已更改。
8、SQL> ALTER USER 新用户名 IDENTIFIED BY 新密码;
此时会提示新用户不存在。
SQL> ALTER USER 新用户名 IDENTIFIED BY 新密码
*ERROR 位于第 1 行:ORA-01918: 用户'新用户'不存在
9、SQL> ALTER
SYSTEM FLUSH SHARED_POOL;
系统已更改。
10、SQL> ALTER USER 新用户 IDENTIFIED BY 新密码;
用户已更改。
11、测试连接
SQL> CONN 新用户/新密码@lmisdx_local;
已连接。
12、SQL> SELECT *
FROM TAB;
查看新用户下是否有原用户的对象,包括表等。
13、SQL> CONN / AS SYSDBA已连接。
14、SQL> SHOW
USER --查看当前连接用户
为"SYS"
15、SQL> SHUTDOWN IMMEDIATE --关闭数据库(这句话不能乱用)
数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。(13,14可以拯救这段)
16、SQL>
STARTUP --启动数据库
ORACLE 例程已经启动。......数据库装载完毕。数据库已经打开。
17、可以看出没有再恢复为TEST
SQL> SELECT USER#,NAME,PASSWORD
FROM USER$ WHERE USER#=38;
18、查看数据对象
SQL> SELECT * FROM TAB;
19、SQL >connsys/lmis@lmisdx_localas sysdba
已连接。
SQL> SHOW USERUSE
为"SYS"
--DROP USER 也没有问题
SQL> DROP USER TEST1 CASCADE; --删除以前的用户
SYSDBA身份登陆时修改其用户密码比:
SQL> alter user user01 identified by user10;
用户已更改
把USER01用户密码修改USER10
查询当前数据名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看参数文件。
Oracle函数的写法(tdc002表名,返回值v_Value)
create or replace
FUNCTION Getivalue
(p_Id VARCHAR2)
RETURN VARCHAR2 AS
v_Value VARCHAR2(50);
BEGIN
SELECT en_name INTO v_Value FROM tdc002
WHERE
en_code = p_Id;
RETURN v_Value;
END Getivalue;s
函数的用法:
select Getivalue(en_code) from TDC002s
返回一个表的超级麻烦
从oracle 9i 开始,提供了一个叫做“管道化表函数”的概念,来解决这个问题
这种类型的函数,必须返回一个集合类型,且标明 pipelined
这个oracle函数不能返回具体变量,必须以一个空 return 返回
这个oracle函数中,通过 pipe row () 语句来送出要返回的表中的每一行
调用这个oracle函数的时候,通过 table() 关键字把管道流仿真为一个数据集
具体写法如下:
create
type row_type2 as object(username1 varchar2(100),dw1 varchar2(100),ts
number); //创建行类型,同要返回的表的类型一致。
create type table_type2 as table of row_type2;
create or replace function fun1(dateSJ varchar2) return table_type2
pipelined as v row_type2;
begin
for myrow in
(
with a as
(
select (select username from
users where userid= t.fromid) as username1,to_char((select dwbmmc from
ks_xqpm_dwbm where dwbmid=(select deptid from users where userid=t.fromid) ))
as dw1,count(*) as ts from mobile t where to_char(sendtime,'yyyy-mm')=dateSJ
group by fromid
)
,
b as
(
select '合计' as username1,'' as
dw1,(select count(*) from mobile where
to_char(sendtime,'yyyy-mm')=dateSJ) as ts from dual
)
select username1,dw1,ts from a union all select username1,dw1,ts
from b
)
loop v := row_type2(myrow.username1, myrow.dw1,myrow.ts);
pipe row (v);
end loop;
return;
end;
调用方法: select * from table(fun1('2012-01'));
查询当前数据库实例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在参数文件中查询。
查询数据库域名
方法一:select value from v$parameter where name = 'db_domain';
方法二:show parameter domain
方法三:在参数文件中查询。
查询数据库服务名
方法一:select value from v$parameter where name = 'service_name';
方法二:show parameter service_name
方法三:在参数文件中查询。
简易连接,不用进行网络配置(2种)
1、c:/>sqlplus
/nolog
2、sqlplus sys/pwd@ip:1521/service_name as
sysdba
SERVICE_NAME:在服务器端,用system用户登陆后,sqlplus> show parameter
service_name命令察看。
1:创建用户aaa,给其connect和resource角色,但回收unlimited tablespace权限:
SQL> create user SAidentified by sa default tablespace
users;
2、分配权限
SQL> grant connect,resource to SA;
grant dba to aaa;
Grant succeeded.
///回收权限
SQL> revoke unlimited tablespace from aaa;
Revoke succeeded.
//分配空间
create tablespace
CMPDATA datafile 'D:\a.dbf' size 1000m autoextend on next 50m
导入sql语句
:@D:\test.sql
SQl>grant insert any table to SA
.查看所有用户:
select * from
dba_users;
select * from
all_users;
select * from
user_users;
2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
select * from
dba_sys_privs;
select * from
user_sys_privs;
3.查看角色(只能查看登陆用户拥有的角色)所包含的权限
sql>select * from role_sys_privs;
4.查看用户对象权限:
select * from
dba_tab_privs;
select * from
all_tab_privs;
select * from
user_tab_privs;
5.查看所有角色:
select * from
dba_roles;
6.查看用户或角色所拥有的角色:
select * from
dba_role_privs;
select * from
user_role_privs;
7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS
2、查看用户默认表空间
SQL> select username,default_tablespace from dba_users
where username ='SA';
3、查看用户使用的表空间
SQL> select DISTINCT owner ,tablespace_name from
dba_extents where owner like 'SAMS';
4、查看表空间大小
sql> select TABLESPACE_NAME, BYTES/1024/1024 M from
dba_data_files where TABLESPACE_NAME='EMALL_DAT';
7、检查表空间是否自动扩展
select
tablespace_name,file_name,autoextensible,increment_by from dba_data_files;
8、修改表空间自动扩展
alter database
datafile '/oradata/dzsw/UNDOTBS01.dbf' autoextend on next 10M maxsize 30000M;
其中next 参数为每次扩展的空间的大小,MAXSIZE为扩展空间的最大限制,UNLIMITED为无限制。
9、修改表空间数据文件大小
alter database
datafile 'E:\APP\ADMINISTRATOR\ORADATA\SUSDATA\SYSTEM01.DBF' resize 5000M ;
10、增加表空间数据文件
alter tablespace
ICD_SERVICE ADD datafile
'+DATA1/ctidb/datafile/icd_service1' SIZE 4000M autoextend on next 50M maxsize UNLIMITED;
alter tablespace
ICD_SERVICE ADD datafile
'+DATA1/ctidb/datafile/icd_service1' SIZE 1000M ;
alter tablespace
ICD_SERVICE ADD datafile '+DATA1' SIZE 4000M;
11、检查临时文件使用情况
select file_name,
sum(e.bytes)/1024/1024 as MB from
dba_extents e join dba_temp_files f on e.file_id=f.file_id group by file_name;
select
file_name,bytes/1024/1024 mb ,tablespace_name from dba_temp_files;
12、检查可以回收的文件空间
SELECT 'alter
database datafile '''||a.name||''' resize '||
CEIL(b.HWM *
a.block_size/1024/1024)||'M;' ResizeCmd
FROM v$datafile a,
(SELECT
file_id, MAX(block_id + blocks - 1) HWM
FROM
dba_extents
GROUP BY
file_id) b
WHERE a.file# = b.file_id (+)
AND
(a.bytes/1024/1024 - CEIL(b.HWM * a.block_size/1024/1024)) > 0 ;
alter database datafile '/oradata/dzsw/tbs_jiankong.dbf'
resize 1000M;
alter database datafile '/oradata2/dzsw/fapdbls5.dbf'
resize 2000M;
13、检查系统表空间内是否有用户表
select table_name,tablespace_name from dba_tables where
tablespace_name='SYSTEM' and owner='SA';
select table_name,tablespace_name from dba_tables where
tablespace_name='USERS' and owner='SA';
14、查数据库整体大小
SQL> select sum(mb) from ( select sum(bytes)/1024/1024
as mb from Dba_Segments Group By
Tablespace_Name);
15、修改用户默认表空间
alter user SA default tablespace cmpdata quota unlimited
on cmpdata ;
3,、创建用户命令
A、连接到用户SQL> conn system/root
B、创建用户: SQL> create user scott identified by tiger;
C、切换用户:SQL> conn scott/tiger //用户切换失败
grant 权限名 to 用户名;
SQL> conn system/root;//第一步切换到管理员
SQL> grant create session to scott; //为用户受权
Grant succeeded//受权成功
,5,、角色(一个角色包含多个权限)
connect
create session
create table
……
resource
对表空间使用权限
……
grant connect,resource to scott;
1、Create
user 用户名 identified by 密码;(不能是全数字)
2、grant create session,create
table,resource to 用户名;//给用户分配权限
oracle创建用户,修改用户,删除用户等关于用户的的更多相关文章
- ORACLE创建、修改、删除序列
ORACLE没有象SQL SERVER中一样的自增加字段,要实现只能通过SEQUENCE来实现. 1.创建序列语法:(需要CREATE SEQUENCE系统权限) CREATE SEQUENCE 序列 ...
- Oracle触发器原理、创建、修改、删除
本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...
- oracle 11g 如何创建、修改、删除list-list组合分区
Oracle11g在分区方面做了很大的提高,不但新增了4种复合分区类型,还增加了虚拟列分区.系统分区.INTERVAL分区等功能. 9i开始,Oracle就包括了2种复合分区,RANGE-HASH和R ...
- 05Oracle Database 表空间查看,创建,修改及删除
Oracle Database 表空间查看,创建,修改及删除 查看用户表空间 查看数据库管理员表空间表结构 desc dba_tablespaces; 查询表空间名称从管理员表空间表中 select ...
- MySQL:创建、修改和删除表
其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语 ...
- 基于SpringBoot从零构建博客网站 - 新增创建、修改、删除专栏功能
守望博客是支持创建专栏的功能,即可以将一系列相关的文章归档到专栏中,方便用户管理和查阅文章.这里主要讲解专栏的创建.修改和删除功能,至于专栏还涉及其它的功能,例如关注专栏等后续会穿插着介绍. 1.创建 ...
- SQLite 入门教程(二)创建、修改、删除表 (转)
转于 SQLite 入门教程(二)创建.修改.删除表 一.数据库定义语言 DDL 在关系型数据库中,数据库中的表 Table.视图 View.索引 Index.关系 Relationship 和触发器 ...
- SQL Server索引进阶:第十二级,创建,修改,删除
在第十级中我们看到了索引的内部结构,在第十一级中我们看到了平衡树结构潜在的负面影响:索引碎片.有了索引内部结构的知识,我们可以检查在执行数据定义语句和数据操作语句的时候,都发生了什么.在本级中我们介绍 ...
- hive -- 分区,分桶(创建,修改,删除)
hive -- 分区,分桶(创建,修改,删除) 分区: 静态创建分区: 1. 数据: john doe 10000.0 mary smith 8000.0 todd jones 7000.0 boss ...
- Java连接Jira,创建、修改、删除工单信息
还不了解Jira是什么的同学可以看一下这篇文章:https://www.cnblogs.com/wgblog-code/p/11750767.html 本篇文章主要介绍如何使用Java操作Jira,包 ...
随机推荐
- 如何写出好的Java代码?
1. 优雅需要付出代价.从短期利益来看,对某个问题提出优雅的解决方法,似乎可能花你更多的时间.但当它终于能够正确执行并可轻易套用于新案例中,不需要花上数以时计,甚至以天计或以月计的辛苦代价时,你会看得 ...
- seajs 源码解读
之前面试时老问一个问题seajs 是怎么加载js 文件的 在网上找一些资料,觉得这个写的不错就转载了,记录一下,也学习一下 seajs 源码解读 seajs 简单介绍 seajs是前端应用模块化开发的 ...
- Oracle基础 (十三)日期函数
日期函数 SYSDATE --当前系统时间 select sysdate from dual; EXTRACT --获取当前年份 select extract(year from sysdate) f ...
- Jquery 实现点击一个页面跳转后在另外一个页面显示指定位置
<script> $(function(){ var isTarget = '<?php echo $_GET['target']; ?>'; if (isTarget != ...
- jQuery图片提示和文字提示
图片提示: 效果如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
- C# 序列化JavaScriptSerializer
1.首先引入 System.Web.Extensions.dll 2.写入命名空间 System.Web.Script.Serialization 3.实现序列化. class Program { s ...
- Matlab之画图
1.设置对数坐标 set(gca,'XScale','log','YScale','log'); 2.加网格 grid on; 3.加log对齐网格 set(gca,'XScale','log','Y ...
- 结合setTimeout和clearTimeout,实现“返回顶部”的功能
结合setTimeout和clearTimeout,当页面停止滚动时,“返回顶部”按钮淡隐淡出.点击“返回顶部”页面以动画形式返回顶部.完美兼容ie6-11,firefox,chrome等. html ...
- 清除层div浮动
clearboth { clear: both; display: block; height: 0; font-size: 0; overflow: hidden; } <div class= ...
- MyElcipse之问题小结
运行MyEclipse时,遇到这一错误提示: An internal error occurred during: "Launching chat on MyEclipse Tomcat & ...