建表空间,用户,授权,
1.假如现在已经建好名为'news'的数据库,此时在F:\oracle\product\10.1.0\oradata\目录下已经存在news目录(注意:我的Oracle10g安装在F:\oracle下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*\product\10.1.0\oradata\目录下)。
2.在创建用户之前,先要创建表空间:
其格式为:格式: createtablespace 表间名 datafile '数据文件名' size 表空间大小;
如:
SQL> create tablespace news_tablespace datafile 'F:\oracle\product\10.1.0\oradata\news\news_data.dbf' size 500M;
其中'news_tablespace'是你自定义的表空间名称,可以任意取名;'F:\oracle\product\10.1.0\oradata\news\news_data.dbf'是数据文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定该数据文件的大小,也就是表空间的大小。
3.现在建好了名为'news_tablespace'的表空间,下面就可以创建用户了:
其格式为:格式: createuser 用户名 identified by 密码 default tablespace 表空间表;
如:
SQL> create user news identified by newsdefault tablespace news_tablespace;
默认表空间'defaulttablespace'使用上面创建的表空间。
4.接着授权给新建的用户:
SQL> grant connect,resource to news; --表示把 connect,resource权限授予news用户
SQL> grant dba tonews; --表示把 dba权限授予给news用户
授权成功。
5.生产环境下,只是connectresource这样的角色就可以了。
GRANT "CONNECT" TO test;
GRANT "RESOURCE" TO test;
GRANT "DBA" TO test;
GRANT "EXP_FULL_DATABASE" TOtest;
GRANT "IMP_FULL_DATABASE" TOtest;
6.删除用户:例如创建了一个用户A,要删除它可以这样做
connect sys/密码 as sysdba;
drop user A cascade;//就这样用户就被删除了
7.用户修改密码,解锁
ALTER USER "SCOTT" IDENTIFIED BY"*******"
ALTER USER "SCOTT" ACCOUNT UNLOCK
用户操作
1.查看所有用户:
select * from dba_user;
select * from all_users;
select * from user_users;
2.查看用户系统权限:
select * from dba_sys_privs;
select * from all_sys_privs;
select * from user_sys_privs;
3.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
4.查看所有角色:
select * from dba_roles;
5.查看用户所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
导入导出命令:
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件, imp命令可以把dmp文件从本地导入到远处的数据库服务器中。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
DOS中可以执行时由于在oracle 8i 中 安装目录ora81BIN被设置为全局路径,
该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
exp file=d:daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp file=d:daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp file=d:daochu.dmp tables=(table1) query=" where filed1 like'00%'"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
数据的导入
1 将D:daochu.dmp 中的数据导入 TEST数据库中。
imp file=d:daochu.dmp
imp full=y file=d:datanewsmgnt.dmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。
2 将d:daochu.dmp中的表table1 导入
imp file=d:daochu.dmp tables=(table1)