Oracle 一些操作命令

  • Post author:
  • Post category:其他


远程连接的可将 @ORACLE_SID 修改为 @ip/ORACLE_SID


Oracle 数据导出(ORACLE_SID 为实例库名)


C:\Users\Administrator>exp userid = username/password@ORACLE_SID full=y inctype=complete file=导出路径及文件名


例:


C:\Users\Administrator>exp scott/tiger@orcl file=d:\expdata.dmp full=y


exp 和 expdp 不同,具体自行查询。

将数据库中system用户与sys用户的表导出


exp username/password@ORACLE_SID file=d:\data.dmp owner=(system,sys)


将数据库中的表table1 、table2导出


exp username/password@ORACLE_SID file=d:\data.dmp tables=(table1,table2)


导入 exp 导出的 dmp 文件


C:\Users\Administrator>imp username/password@ORACLE_SID file=dmp文件全路径 full=y



C:\Users\Administrator>imp username/password@ORACLE_SID file=dmp文件全路径 fromuser=username1 touser=username2


Oracle 登录命令


C:\Users\Administrator>sqlplus username/password@ip:port/ORACLE_SID [as sysdba]


新建用户、赋权并指定默认表空间

新建用户


SQL> create user username identified by password;


分配 connect resource dba 角色


SQL> grant connect,resource,dba to username;


创建表空间(tablespacename 指表空间名)


SQL> create tablespace tablespacename datafile 'D:\app\administrator\oradata\orcl\tablespacename.dbf' size ****m;


(重新)指定默认表空间(tablespacename 指表空间名)


SQL> alter user username default tablespace tablespacename;


Oracle多个数据库实例切换登录或查询

方法一     设置SID

假如有三个数据库实例

orcl



orcl_01



orcl_02

使用其中的

orcl_01



C:\Users\Administrator>set ORACLE_SID=orcl_01


连接到 orcl_01 的 system 用户


C:\Users\Administrator>sqlplus system/****

方法二     @数据库名,直接登录


C:\Users\Administrator>sqlplus system/****@orcl_01





SQL> sqlplus system/****



SQL> conn system/****@orcl_01

退出 SQL


SQL> quit 或 exit

SQL 清屏命令


SQL> host cls、clea scre 或 clear screen

切换用户


SQL> conn username/password;

修改密码

自己修改自己的密码


SQL> password


管理员修改其他用户的密码


SQL> alter user 用户名 identified by 密码

删除用户


SQL> drop user 用户名 [cascade];


后面不带 cascade 必须是这个用户下面没有任何对象;如果用户下面有对象,就得用加上 cascade 来删除这个用户以及这个用户下的所有对象

查看服务名


SQL> show parameter service_name

查询当前数据库名


SQL> select name from v$database;

查询当前数据库实例名


SQL> select instance_name from v$instance;

查看你能管理的所有用户


SQL> select * from all_users;

查看当前用户使用的表空间情况


SQL> select * from user_users;

查看所有的表空间


SQL> select * from dba_tablespace;


-- 建表

-- 新建序列
create sequence 序列名
minvalue 1
maxvalue 9999999999
start with 1
increment by 1;

-- 新建触发器
create or replace trigger 触发器名称
  before insert ON 表名
  for each row--对表的每一行触发器执行一次
declare
    next_id number;
begin
   select 序列名.nextval into next_id from dual;
   :new.ID := next_id;--:NEW表示新插入的那条记录
end;



版权声明:本文为weixin_43209861原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。