Jslfl【软件开发技术笔记】

oracle基础操作

数据库启动关闭:
启动oracle
$ sqlplus / as sysdba
> startup #启动数据库
> exit
$ lsnrctl start #启动数据库监听

关闭oracle
$ lsnrctl stop
$ sqlplus / as sysdba
> shutdown
> exit

startup pfile=’/u01/app/oracle/product/10.2.0/db_1/dbs/initMIS.ora’

创建表空间及用户
先查看数据文件存放位置
select name from v$datafile;

查看已有用户
select username from dba_users;

删除表空间及其表空间里的所有内容
drop tablespace MIS INCLUDING CONTENTS;

windows:
create tablespace MIS datafile ‘D:/oracle/product/10.2.0/oradata/orcl/MIS.dbf’ size 100m autoextend on next 50m maxsize unlimited;

Linux:
create tablespace MIS datafile ‘/u01/app/oracle/oradata/orcl/MIS.dbf’ size 1024m autoextend on next 500m maxsize unlimited;

drop user xxx cascade;
create user misuser identified by MISpwd default tablespace MIS;

解锁用户,没有这句会出现ORA-28000: the account is locked错误
alter user MISPS account unlock;

赋予权限,必须赋予connect,resource权限
grant connect,resource,DBA to misuser;

详细赋权限
让用户使用这个表空间
alter user misuser default tablespace MIS;
分配session的权限
grant create session to MIS;
分配创建表的权限
grant create table to MIS;
分配创建视图的权限
grant create view to MIS;
分配创建触发器的权限
grant create trigger to MIS;
这行必须有
grant unlimited tablespace to MIS;
分配创建索引的权限
grant create any index to MIS;
分配修改表的权限
grant alter any table to MIS;
分配修改存储过程的权限
grant alter any procedure to MIS;
分配删除表的权限
grant drop any table to MIS;
赋予删除视图的权限
grant drop any view to MIS;
赋予删除索引的权限
grant drop any INDEX to MIS;
赋予删除存储过程的权限
grant drop any procedure to MIS;
赋予查询,插入,更新,删除表的权限
grant select any table,insert any table,update any table,delete any table to MIS;

修改密码
alter user misuser identified by mispwd;

查看各表空间分配情况
select tablespace_name, sum(bytes) / 1024 / 1024 from dba_data_files group by tablespace_name;

查看各表空间空闲情况
select tablespace_name, sum(bytes) / 1024 / 1024 from dba_free_space group by tablespace_name;

更改数据文件大小(10G)
alter database datafile ‘/u01/app/oracle/oradata/orcl/MIS.dbf’ resize 10240m;

设置表空间不足时自动增长
查看表空间是否自动增长
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;
设置表空间自动增长
ALTER DATABASE DATAFILE ‘/u01/app/oracle/oradata/orcl/MIS.dbf’ AUTOEXTEND ON; //打开自动增长
ALTER DATABASE DATAFILE ‘/u01/app/oracle/oradata/orcl/MIS.dbf’ AUTOEXTEND ON NEXT 200M; //每次自动增长200m
ALTER DATABASE DATAFILE ‘/u01/app/oracle/oradata/orcl/MIS.dbf’ AUTOEXTEND ON NEXT 200M MAXSIZE 1024M; //每次自动增长200m,数据文件最大不超过1G

导入导出命令
exp:imp:

exp oracle账号/oracle密码 file=/mydata/dat.dmp owner=misuser (owner和tables不能同时使用)
exp oracle账号/oracle密码 file=/mydata/dat.dmp tables=table1,table2,table3
exp oracle账号/oracle密码 file=/mydata/dat1.dmp,/mydata/dat2.dmp,/mydata/dat3.dmp tables=table1,table2,table3 filesize=1.9G

imp oracle账号/oracle密码 file=/myimpdat/dat.dmp ignore=y full=y
imp oracle账号/oracle密码 file=/myimpdat/dat.dmp ignore=y tables=table1,table2,table3
imp oracle账号/oracle密码 fromuser=misuser touser=misuser2 ignore=y file=expfile.dmp [tables=table1,table2,table3]
imp oracle账号/oracle密码 file=/myimpdat/dat1.dmp,/myimpdat/dat2.dmp ignore=y tables=table1,table2,table3

,

Comments are currently closed.