oracle 基础命令

来源:互联网 发布:淘宝内部优惠券baidu 编辑:程序博客网 时间:2024/05/16 11:19

快速创建用户导入数据

sqlplus /nolog

conn /as sysdba;

drop user feiyang cascade;

create user feiyang identified by feiyang;

Grant create session to feiyang;

grant resource,connect,dba to feiyang;

conn feiyang/feiyang;

select table_name from user_tables;

imp feiyang/feiyang@ORACLEfile=d:\feiyang.dmp full=y;

exp feiyang/feiyang@ORACLEfile=d:\feiyang.dmp owner=(feiyang);

 

登入:

 

sqlplus /nolog

 

conn apps/apps as sysdba

 

alter user scott identified by tiger;

 

alter user scott account unlock;

 

conn scott/tiger;

 

忘记密码:

 

conn /as sysdba

 

解锁system 或创建dba用户

 

打开 oracleDBConsoleorcl 服务

 

 https://localhost:1158/em/console  system:system 可以在图形界面修改用户信息

 

查看sid

 

select instance_name from v$instance;

 

查看端口:

 

Oracle - OraDb11g_home1-->配置和移植工具-->Net Manager(服务命名,监听程

 

序)

 

 

 

创建用户:

 

Createuser rain identified by rain

 

修改:

 

Alter user rain identified by rain1  //修改密码

 

Alter user account unlock       //解锁

 

删除用户:

 

drop user rain cascade

 

赋予权限

 

Grantcreate session to rain          //登入

 

grant unlimited tablespace to rain         //表空间用于创建表

 

grant create table to rain         //  创建表权限

 

grant select on mytab to rain  //授予查询其他用户表的权限

 

grant all on mytab to rain;

 

grant resource,connect,dba to rain

 

resource:可以创建簇、表、序列以及PL/SQL编程用方案对象,包括过程、程序包、触发器等

 

connect: 数据库连接角色,用于连接数据库,具有创建簇、数据库链接、序列、同义词、表和视图,以及修改会话的权利

 

撤销权限

 

revoke create table from rain 

 

revoke all on mytab to rain

 

查看讯息

 

 

查看用户:

 

Show user;  //当前用户

 

select username from dba_users;//全部用户

 

查看表

 

desc table_name //查看表结构

 

set long 100000

 setpages 0

 select dbms_metadata.get_ddl('TABLE','DEPT')from dual;//查看表完整结构

 

Select table_name from user_tables       //查看用户底下所有表

 

select * from cat //表,视图,序列

 

select object_name,object_type,namespacefrom user_objects;//查看用户下的object

 

 

//检查在SYSTEM表内有没有其他用户的索引存在。

 

select * from dba_indexes wheretablespace_name = 'SYSTEM'

 

and owner not in ('SYS','SYSTEM');

 

 

proifle

1、  查看用户的proifle是哪个,一般是default:

sql>SELECTusername,PROFILE FROM dba_users where username='PORTAL';

2、  查看指定概要文件(如default)的密码有效期设置:

sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' ANDresource_name='PASSWORD_LIFE_TIME';

3、  将密码有效期由默认的180天修改成“无限制”:

sql>ALTERPROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改之后不需要重启动数据库,会立即生效。

4.修改密码,改为现有密码alter user portal identified by portal ,

         这个过程报ORA-28007: the password cannot be eused这个错误。

         这是因为数据库设置了密码重复使用限制。

5.修改配置为不限制密码重复使用

         alterprofile default limit PASSWORD_REUSE_MAX unlimited;

6.打开plsql登陆数据库的时候,发现又报错了,账号被锁了,继续下一步,

         用户解锁(只有dba账号才拥有权限)alter userportal account unlock;

 

设置屏幕

 

 

 

 

一般在SQL>下进行SQLPLUS 操作,都需要进行必要的环境设置才能完成我们所需要的输出。所有环境的设置由SET命令加相应的环境变量来完成。下面是常用的环境设置:

 

 

 

Show all 显示所有参数

 

Ctrl+C 退出plsql 或中断查询

 

 

       SQL> set heading off --禁止输出列标题,默认值为ON

 

SQL> set feedback off --禁止显示最后一行的计数反馈信息,默认值为"对6个或更多的记录,回送ON"

 

        SQL> set timing on --默认为OFF,设置查询耗时,可用来估计SQL语句的执行时间,测试性能

 

        SQL> set sqlprompt "SQL>" --设置默认提示符,默认值就是"SQL> "

 

        SQL> set pagesize 0;--设置查询结果用几页显示完,设为0则结果最紧密的排版

 

        SQL> set linesize 1000 --设置屏幕一行显示多少字符,默认100

 

        SQL> set autocommit ON --设置是否自动提交,默认为OFF

 

        SQL> set pause on --默认为OFF,设置暂停,会使屏幕显示停止,等待按下ENTER键,再显示下一页

 

        SQL> set arraysize 1 --默认为15一次可以提取(Fetch)的行的数目,1->5000,当有较长字段时应设小些。

 

        SQL> set long 1000 --默认为80  显示long类型字段的缓冲区,显示不全的时候就用这个

 

                   SQL>set space 2-----设置输出各列间的间隔(一般没啥用)

 

 

把查询结果保存到文件

 

spool c:\create_table.sql;

 

select dbms_metadata.get_ddl('TABLE','DEPT') from dual;  //查看建表语句

 

spool off;        

 

 

 

导入导出

 

数据泵

 

exp feiyang/feiyang@orclfile=d:\feiyang.dmp owner=(feiyang)

 

imp feiyang/feiyang@orclfile=d:\feiyang.dmp full=y

 

@前后不能有空壳

 

导入sql文件:

在cmd下登入用户然后执行

 

@d:\sql.sql

  


启动关闭服务

启动Oracle,在cmd模式下依次启动:
net start oracleserviceORCL    (先启动数据库再启动监听 listener control)
lsnrctl start
关闭服务为:
lsnrctl stop
net stoporacleserviceORCL


分区、索引

---查看表分区

SELECTtable_name,partition_name FROM user_tab_partitions

WHERE table_name='XXXX';


--增加表分区

alter table SMSTASKTadd partition P1312 values less than(to_date('201401','YYYYMM'));

 

--查看索引

select *from user_indexeswhere table_nameLIKE'T_SPEC%'

selectindex_name,table_name,column_name from user_ind_columns whereindex_name='I_RELEASE_ACCTYPE_COM';

 

 --添加索引

createindex acc_phoneon t_special_account(phone);

--联合索引

createindex acc_type_releaseon t_special_account(account_type,account_release_time);

 

--执行计划

 

explain plan for  select * from t_special_account wherephone='s';

select * from table(DBMS_XPLAN.DISPLAY)  



原创粉丝点击