由于公司项目使用的都是ORACLE数据库,而在学校中接触它的次数最少,校内使用的大部分都是SQL SERVER ,MYSQL等......
为了方便日后学习过程中本文章用来记录一些ORACLE实用性比较强的语句。
欢迎大家指点,还需要补充什么。留下你的评论。小生在此感谢。
/***********************************************基础语句*************************************************/
/*-------修改表空间名字*/
ALTER TABLESPACE xxxx_pt RENAME TO xxxx;
/*修改表的空间*/
alter table TABLE_NAME move tablespace TABLESPACENAME
/*修改用户名密码*/
alter user user01 identified by user10
/*查询当前用户下的所有表*/
select 'alter table '|| table_name ||' move tablespace tablespacename;' from user_all_tables;
/*查询当前用户下的所有索引*/
select 'alter index '|| index_name ||' rebuild tablespace tablespacename;' from user_indexes;
/*修改表的索引的空间 */
alter index INDEX_NAME rebuild tablespace TABLESPACENAME
/*全导出*/
exp username/userpwd@orcl file=d:\xx.dmp log=d:\xx.log
/*单表导出*/
exp username/userpwd@orcl file=d:\xx.dmp log=d:\xx.log tables=表名 (多表 tables=(表1,表2,表3,·····))
/*正则表达式导出部分表*/
exp username/userpwd@orcl file=d:\xx.dmp log=d:\xx.log tables=(table_name like 'USER%')
/*全导入*/
imp username/userpwd@orcl file=d:\xx.dmp log=d:\xx.log full=y
*只导入数据,从不同表空间来的*/
imp username/userpwd@orcl file=d:\xx.dmp data_only=y tables=(表1,表2)
/*修改表字段*/alter table 表名 modify 修改的字段 字段类型/*新增表字段*/
alter table 表名 add 系统时间字段 date default
/*只复制表机构不复制表数据*/
create table xy_xyml_xxnrys_temp as select * from xy_xyml_xxnrys where 1=2;
1=2的意思是只复制表结构,不复制数据
/**********************************************创建数据库*************************************************/
/*登陆数据库连接*/
sqlplus /nolog
/*以系统管理员登陆*/
conn / as sysdba (直接写 sqlplus / as sysdba 也可以,此语句需要在上一个的基础上)
数据库初始化步骤
1.drop user 用户名 cascade;(删除用户以及关联该用户的数据)
2.drop tablespace 用户名 including contents and datafiles;(删除表空间)
3.drop tablespace 用户名_temp including contents and datafiles;(删除临时表空间)
4.create temporary tablespace 用户名_temp tempfile 'D:\app\oradata\xxxx\xxxx_temp.dbf' size 50m autoextend
on next 50m maxsize 20480m extent management local;(创建临时表空间)
5.create tablespace 用户名 datafile 'D:\app\oradata\xxxx\xxxx.dbf' size 500m autoextend
on next 50m maxsize 20480m extent management local;(创建表空间)
6.create user 用户名 identified by 用户名 default tablespace 用户名 temporary tablespace 用户名_temp; (创建用户并指定表空间)
7.grant connect,resource,dba to 用户名;(给予角色权限)
对接系统-分配用户(权限只读)
create user JSETI_WZQ identified by abcdef; -- 假设abcdef是密码
grant connect,resource to JSETI_WZQ;
grant select on LYSDC.ly_xxbz_gxjg_grtxfszl to JSETI_WZQ;
grant select on LYSDC.ly_xxbz_gxjg_jzgjcsjzl to JSETI_WZQ;
grant select on LYSDC.LY_XXBZ_GXXX_DWJBSJZL to JSETI_WZQ;
grant select on LYSDC.ly_xxbz_gxxs_xsjbsjzl to JSETI_WZQ;