远程连接的可将 @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;