Oracle常用命令
oracle用户以dba身份登录到数据库:
sqlplus / as sysdba
重启数据库:
1 shutdown immediate; 2 startup;
启动监听
lsnrctl start
停止监听
lsnrctl stop
查看监听状态
lsnrctl status
创建表空间
create tablespace $name datafile 'pathToFle' size $size
如:create tablespace data_test datafile 'e:\oracle\oradata\test\data_1.dbf' size 2000M;
若指定空间较大,需要等待一段时间(一般几分钟)。
创建用户
create user $username identified by $password [default tablespace $tablespacename];
给用户赋权限
grant $priviledges to $username;
常见权限有:CONNECT,RESOURCE,DBA三类角色,可参见:https://www.cnblogs.com/aspirant/p/8609929.html
删除用户
drop user $username cascade;
删除表空间
drop tablespace test including contents and datafiles;
查看当前用户表空间中的所有表
select table_name from user_tables;
查看指定OWNER的表
select table_name from all_tables where owner=upper($username);
数据导入导出
oracle sql developer与pl sql developer不是同一个产品!!!如果发现使用的客户端工具与网上说的pl sql developer工具不一致,那就是你下的是oracle sql developer。
数据导入导出方法一:pl sql developer图形界面
数据导入: 工具->导入表,
如果是SQL语句,就选“SQL 插入”标签页,指定“导入文件”即可;
如果是二进制文件,就选“Oracle 导入”标签页,指定“导入文件”即可;
数据导出:工具->导出用户对象..,在用户处选择指定用户,再指定输出文件,导出即可。若不需要导出用户名,则取消勾选“包括所有者”
数据导入导出方法二:命令行方式(以下参考自https://blog.csdn.net/lanpy88/article/details/7580691)
在linux中,需要以oracle用户名登录到操作系统,然后需要oracle用户具有导入导出文件的权限。下列执行的命令不是sql命令,而是操作系统的命令行窗口。
数据的导入
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)
数据导出:导出dmp数据时需要有导出表的权限的用户,否则不能导出。
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 就可以了