【数据库】Linux下和Windows下 Oracle的常用操作命令
2015年04月09日 18:51:28 作者:Jiaozn 分类:数据库 评论(0)windows
------------------------------------------------------------
管理员账户登录:conn / as sysdba;
解锁用户:alter user username account unlock;
更改用户密码:alte user username identified by newpassword;
重启
shutdown immediate
执行结束后会返回下面的信息
Database closed.
Database dismounted.
ORACLE instance shut down.
该操作完毕后执行命令
startup
系统会完成数据库启动
创建临时表空间:
create temporary tablespace temp
tempfile 'D:\oracle\product\10.2.0\oradata\yourSID\temp.dbf'
size 50m
autoextend on
next 50m maxsize 2048m
extent management local;
创建数据表空间:
create tablespace tablespacename
logging
datafile 'D:\oracle\product\10.2.0\oradata\yourSID\tablespacename.dbf'
size 50m
autoextend on
next 50m maxsize 2048m
extent management local;
创建用户并指定表空间:
create user username identified by password
default tablespace tablespacename;
给用户授予权限: grant dba to username;
清空表数据:truncate table tablename;
生成所有表的删除命令:select 'drop table '||table_name||';' from user_tables;
删除用户:drop user username cascade;
删除表空间:drop tablespace tablespacename including contents and datafiles;
导入数据库:imp username/password@sid file='d:\a.dmp' fromuser=username1 touser=username2 ignore=y;
导入单个表:imp username/password@sid file='d:\a.dmp' tables=(tablename1);
导入两个表及以上:imp username/password@sid file='d:\a.dmp' tables=(tablename1,tablename2……);
导出数据库:exp username/password@sid file='d:\a.dmp' full=y;
导出单个表:exp username/password@sid file='d:\a.dmp' tables=(tablename1);
导入两个表及以上:exp username/password@sid file='d:\a.dmp' tables=(tablename1,tablename2……);
导入数据库pde文件:选择工具-导入表,在pl/sql developer标签下的,在创建表,删除记录,禁止触发器,禁止外键约束前打钩,然后导入文件那选择刚才导出生成的pde文件,按导入。
设置每行显示的记录长度: set linesize 300;
设置每页显示的记录长度: set pagesize 30;
sqlplusw窗口中,生成文本文件: ed [name];调用该文本文件: @ [name];
查看所有表:select * from tab;
查看表结构:desc [tablename];
给指定表增加列:alter table 表名【T_SYS_MAILLOGGER】 add 列名【LOGGERTYPE】 NUMBER(1)【不同情况】;
给该列增加注释:comment on column T_SYS_MAILLOGGER.LOGGERTYPE is 注释【'日志类型1为发送,2为接收'】;
给指定表增加数据:INSERT INTO 表名称 VALUES (值1, 值2,....);INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
例子:INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')
修改数据:UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'
生成未用的base_sequence: select base_sequence.nextval from dual;
------------------------------------------------------------
Oracle
------------------------------------------------------------
# su - oracle
$ sqlplus /nolog
SQL> connect / as sysdba
--//创建临时表空间
create temporary tablespace test_temp
tempfile '/data/oracle/oradata/test/test_temp01.dbf' --//Linux下的文件系统
size 64m
autoextend on
next 64m maxsize 2048m
extent management local;
--//创建数据表空间
create tablespace test_data
logging
datafile '/data/oracle/oradata/test/test_data01.dbf' --//Linux下的文件系统
size 64m
autoextend on
next 65m maxsize 2048m
extent management local;
--//创建用户并指定表空间 用户名和密码均为"test"
create user test identified by test
default tablespace test_data
temporary tablespace test_temp;
--//给用户授予权限
grant connect,resource to test;
--//删除表空间
drop tablespace test_temp including contents and datafiles;
--//修改用户密码
alter user test identified by new_password;
--//删除用户
drop user 用户名 cascade; --//执行该语句请小心,会级联删除该用户下所有对象。
--//给用户分配权限
SQL> grant connect to test_user;
SQL> grant resource to test_user;
SQL> grant create view to test_user;
SQL> GRANT DEBUG CONNECT SESSION TO test_user;
SQL> GRANT DEBUG ANY PROCEDURE TO test_user;
(导入备份)imp name/password file=/home/Oracle/xzfw.dmp fromuser=cc(这个是当时导出数据时Oracle的用户名) touser=cc ignore=y
(导出备份)exp name/password file=/home/Oracle/xzfwbk.dmp full=y
评论
发表评论