oracle创建用户,分配权限以及建立变空间一、创建表空间及用户并授权
1:创建临时表空间
create temporary tablespace user_temp
tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
2:创建数据表空间
create tablespace user_data
logging
datafile...
一、创建
空间及用户并授权
1:创建临时表空间
create temporary tablespace user_temp
tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
2:创建数据表空间
create tablespace user_data
logging
datafile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
第3步:创建用户并指定表空间
create user username identified by password
default tablespace user_data
temporary tablespace user_temp;
第4步:给用户授予权限
grant connect,resource,dba to username;
第二部分:删除用户及表空间
//删除用户以及用户所有的对象
drop user zfmi cascade;
//cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数
//删除表空间
前提:删除表空间之前要确认该表空间没有被其他用户使用之后再做删除
drop tablespace zfmi including contents and datafiles cascade onstraints;
//including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数
//including datafiles 删除表空间中的数据文件
//cascade constraints 同时删除tablespace中表的外键参照
二、oracle数据库的导入和导出
下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 compress=y 就可以了
数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
注意:
你要有足够的权限,权限不够它会提示你。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。
数据导出:
exp hkb/hkb@boss_14 full=y file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbfull.log;
导出
:导出的是当前用户的的数据,当前用户如果有DBA的权限,则导出所有数据!
同名用户之间的数据导入:
imp hkb/hkb@xe file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbimp.log full=y
不同名之间的数据导入:
imp system/test@xe fromuser=hkb touser=hkb_new file=c:\orabackup\hkbfull.dmp
log=c:\orabackup\hkbimp.log;
三、相关的更改语句(alter的用法)
//0.重命名
//0.1 表:rename dept to dt;
rename dt to dept;
//0.2 列:alter table dept rename column loc to location;
alter table dept rename column location to loc;
//1.添加约束
//1.1 primary key
alter table employee_info add constraint pk_emp_info primary key(empno);
//1.2 foreign key
alter table employee_info add constraint fk_emp_info foreign key(deptno)
references dept(deptno);
//1.3 check
alter table employee_info add constraint ck_emp_info check
(sex in ('F','M'));
//1.4 not null
alter table employee_info modify phone constraint not_null_emp_info not null;
//1.5 unique
alter table employee_info add constraint uq_emp_info unique(phone);
//1.6 default
alter table employee_info modify sex char(2) default 'M';
//2.添加列
alter table employee_info add id varchar2(18);
alter table employee_info add hiredate date default sysdate not null;
//3.删除列
alter table employee_info drop column introduce;
//3.修改列
//3.1 修改列的长度
alter table dept modify loc varchar2(50);
//3.2 修改列的精度
alter table employee_info modify empno number(2);
//3.3 修改列的数据类型
alter table employee_info modify sex char(2);
//3.4 修改默认值
alter table employee_info modify hiredate default sysdate+1;
//4.禁用约束
alter table employee_info disable constraint uq_emp_info;
//5.启用约束
alter table employee_info enable constraint uq_emp_info;
//6.延迟约束
alter table employee_info drop constraint fk_emp_info;
alter table employee_info add constraint fk_emp_info foreign key(deptno)
references dept(deptno)
deferrable initially deferred;
//7.向表中添加注释
comment on table employee_info is 'information of employees';
//8.向列添加注释
comment on column employee_info.ename is 'the name of employees';
comment on column dept.dname is 'the name of department';
//9.清除表中所有数据
truncate table employee_info;
//10.删除表
drop table employee_info;
//11修改session默认时间格式
alter session set nls_date_format ='yyyy-mm-dd';
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
//12修改用户密码
Alter user user_name identified by password.
//13 修改最大连接数
第一步,在cmd命令行,输入sqlplus
第二步源码天空,根据提示输入用户名与密码
1. 查看processes和sessions参数
SQL> show parameter processes
NAME TYPE VALUE
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 50
SQL> show parameter sessions
NAME TYPE VALUE
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 60
shared_server_sessions integer
2. 修改processes和sessions值
SQL> alter system set processes=300 scope=spfile;
系统已更改。
SQL> alter system set sessions=335 scope=spfile;
系统已更改。
3. 修改processes和sessions值必须重启oracle服务器才能生效
ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
sessions=(1.1*process+5)
摘(二)
查询数据库当前进程的连接数:
select count(*) from v$process;
查看数据库当前会话的连接数:
elect count(*) from v$session;
查看数据库的并发连接数:
select count(*) from v$session where status='ACTIVE';
查看当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status from v$session;
查询数据库允许的最大连接数:
select value from v$parameter where name = 'processes';
或者:show parameter processes;
修改数据库允许的最大连接数:
alter system set processes = 300 scope = spfile;
(需要重启数据库才能实现连接数的修改)
重启数据库:
shutdown immediate;
startup;
查看当前有哪些用户正在使用数据:
select osuser,a.username,cpu_time/executions/1000000||'s',sql_fulltext,machine
from v$session a,v$sqlarea b
where a.sql_address = b.address
order by cpu_time/executions desc;
备注:UNIX 1个用户session对应一个操作系统process,而Windows体现在线程。
启动oracle
su - oracle
sqlplus system/pwd as sysdba //进入sql
startup //启动数据库
lsnrctl start //启动监听
sqlplus "/as sysdba"
shutdown immediate;
startup mount;
alter database open;
三、如何查询数据库该用户下所有表及表中字段的备注名称
select table_name from user_tables; //当前用户拥有的表
select table_name from all_tables; //所有用户的表
select table_name from dba_tables; //包括系统表
select table_name from dba_tables where owner='用户名';
select * from user_tab_columns where Table_Name='用户表';
select * from all_tab_columns where Table_Name='用户表';
select * from dba_tab_columns where Table_Name='用户表';
select * from user_tab_comments;--获取表的注释
select * from user_col_comments;--获取字段的注释
本文档为【oracle创建用户,分配权限以及建立变空间】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。