0.创建表空间
//datafile为自己安装oracle时的路径,下面代码为在那里新建了一个CSZXS的表空间(此路径可以为本电脑的任何地方)
create tablespace CSZXS
logging
datafile 'E:\oracledatabase\oradata\orcl\CSZXS.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
1.创建用户并授权 ( 可以创建不同的用户,导入同一个数据库 )
格式: create user 用户名 identified by 密码 default tablespace 表空间表;
create user evezxs identified by evezxs default tablespace CSZXS;
2.给权限(只要执行下面的1和2就可以了)
grant connect,resource to study;
//表示把 connect,resource权限授予study用户
grant dba to study;
//表示把 dba权限授予给 study
1.grant connect,dba,resource,EXP_FULL_DATABASE,IMP_FULL_DATABASE to evezxs;
2.grant create session to 用户名 ——允许用户连接;
grant select,insert,update on 表名 to 用户名 ——允许用户对该表进行查询,插入,修改
3.测试用户是否可用
4.导入数据库文件
将导出的数据库文件拷贝的D盘根目录下;打开cmd命令行窗口,输入命令是:
imp evezxs/evezxs file=d:/evezxs20190220.dmp full=y
5.导出数据
当备份数据库文件时,有些空表无法导出,需要先执行该语句:
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
alter system set deferred_segment_creation=false;
随后再将查询结果导出,执行导出的语句!
注意:在每次导入数据库后,都执行此次操作,以便以后导出数据库节省操作。
然后再执行导出语句:
exp ecdsjs/[email protected]/orcl file=d:/ecdsjs20151109.dmp
exp system/123Oracle file=d:/evezxs20190220.dmp
6.删除用户及数据库
以级联方式删除,在更新数据库时,可将该用户关联的所有数据删除。
drop user evezxs cascade;
生成关闭连接的用户
select 'alter system kill session ''' || sid || ',' || serial# || ''';' from v$session where username='PRJTMPL1';
select saddr,sid,serial#,paddr,username,status from v$session where username is not null;
7.删除表中多余的重复记录(多个字段),只留有rowid最小的记录;
delete from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1)
8.PLSQL中文乱码现象
在环境变量中添加
变量 NLS_LANG
值 SIMPLIFIED Chinese_CHINA.ZHS16GBK
9.查询用户
select username from dba_users;
查询用户和用户所在的表空间
select username,default_tablespace from dba_users order by username
查询所有的表空间
select tablespace_name from dba_tablespaces;
select userenv('language') from dual;
10、查询默认的表空间
select property_name,property_value from database_properties where property_name in('DEFAULT_PERMANENT_TABLESPACE','DEFAULT_TEMP_TABLESPACE');
11、查询表所在的表空间
SELECT
TABLE_NAME,
TABLESPACE_NAME
FROM
USER_TABLES
12、删除表空间
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;