oracle学习笔记之1基础知识

1.主要文件

pfile init<SID>.ora     参数文件

pwd<SID>.ora        口令文件

alert<SID>.log        预警文件

<SID><processname>_<SPID>.trc 后台进程跟踪文件 

                              SPID为后台进程所对应的OS进程号 

<SID>_ora_<SPID>.trc 服务器进程跟踪文件

 2.启动OEM数据库控制工具

    emctl start dbconsole

   http://localhost:port/进行访问

$ORACLE_HOME/install/portlist.ini下存有端口列表

 

3管理初始化参数--重新加载初始化参数文件

  startup pfile=’$ORACLE_HOME/dbs/initwilson.ora’;启动时间指定pfile路径

4.修改Spfile中的内容

  alter system set resource_limit=false scope=spfile;

 

5.建立PFILESPFILE

 Create pfile[=’pfile_name’] from spfile [=’spfile_name’]

 Sql>create pfile from spfile;

 

6.确定所使用的参数文件的类型 

  SQL> show parameter spfile;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

spfile                               string      C:\ORACLE\DB_1\DBS\SPFILEQQ.OR

                                                 A

SQL>

 

7.显示和设置初始化参数

   ㈠使用show parameter命令显示初始化参数

     显示所有初始化参数

Show parameter

     显示特定初始化参数

Show parameter db_block_size

㈡查询V$parameter显示初始化参数

     显示所有初始化参数名称、类型和值

   SQL> col name format a20

SQL> col value format a20

SQL> select name,type,value from v$parameter

  2  /

 

NAME                       TYPE VALUE

-------------------- ---------- --------------------

tracefile_identifier          2

lock_name_space               2

processes                     3 150

sessions                      3 170

timed_statistics              1 TRUE

timed_os_statistics           3 0

     显示特定初始化参数详细信息

SQL> select isses_modifiable,issys_modifiable,ismodified

  2  from v$parameter where name='sort_area_size'

  3  /

 

ISSES ISSYS_MOD ISMODIFIED

----- --------- ----------

TRUE  DEFERRED  FALSE

 

isses_modifiable 用于初始化参数是否可以使用alter session命令进行修改

  issys_modifiable用于初始化参数是否可以使用alter system命令进行修改

  ismodified用于标识该初始化参数是否已经被修改

     显示所有静态函数

select name from v$parameter

where isses_modifiable='false' and

      issys_modifiable=’false’;

     修改动态参数

Ⅰ使用alter session命令修改当前会话的参数

  SQL> alter session set nls_date_format='YYYY-mm-dd';

会话已更改。

Ⅱ使用alter system命令修改所有会话的参数

  Sql>alter system set user_dump_dest=’c:\test’ scope=memory;

Ⅲ使用alter system…deferred修改参数 ――只对新建立的会话起作用

 

     修改静态参数

静态参数指只能通过修改参数文件进行修改的初始化参数

SQL> alter system set resource_limit=true scope=spfile

  2  /

 

系统已更改。

 

9.启动例程

 ①启动例程

  

②启动例程并装载数据库

10.暂停和重新开始数据库

   Sql>alter system suspend;

   Sql>alter system resume;

11.重新加载初始化参数文件

Sql> shutdown immediate;

Sql>startup pfile=%oracle_home%\database\initdemo.ora

12.删除数据库

  C:\>sqlplus sys/oracle as sysdba

Sql>shutdown

Sql>startup restrict mount

Sql>drop database;

 

13.startup  启动实例

14.desc v$parameter 

15.create pfile from spfile; 根据pfile文件创建spfile文件

16.改变数据库的状态

alter database db01 mount

打开数据库作为一个只读数据库

  alter database db01 open read only

 

17.关闭数据库

  shutdown immediate

 

18.startup restrict 启动数据库时改变为受限模式

  alter system enable restricted session   修改数据库实例为受限模式

 

19.查询所有在线用户

select sid,serial#,username from v$session;

杀掉一个用户

alter system kill session ’15,6’;      15sid,而6serial

 

 

20.打开数据库为只读模式

 startup mount

   alter database open read only

21.查看oraclesid

select instance_name from v$instance;
select instance_name from v$active_instances;

 

22. Oracle DML

DML(Data Manipulation Language)数据操纵语言命令使用户能够查询数据库以及操作已有数据库中的数据。
Oracle PL/SQL DDL

Table, Field:

Create Table TABLE_NAME(
    COL1 
Integer Default 4 Not Null,
    
Constraint PK_NAME Primary Key(COL1));
Alter Table TABLE_NAME Add(
    COL2 
Decimal Default 0 Null,
    COL3 
Varchar2(20Default ' ' Null,
    COL4 
Integer Not Null);
Alter Table TABLE_NAME Modify (
    COL3 
Varchar2(70Default ' ' Not Null,
    COL4 
Decimal Default 0);
--注意:修改列时如果原来的列已经为Not NullModify语句中就只能给Null或者不写是否允许 Null的属性
Alter Table TABLE_NAME Drop (COL3, COL4);
Drop Table TABLE_NAME;

 

Index, Constraint:

Create Index IX_NAME_1 On TABLE_NAME(COL4, COL1)
      Tablespace ERP Storage (Initial 20K 
Next 20k Pctincrease 75);
Drop Index IX_NAME_1;
Alter Table TABLE_NAME Drop Primary Key;
Alter Table TABLE_NAME Add Constraint PK_NAME Primary Key (COL1);
Alter Table TABLE_NAME Add Constraint UK_NAME Unique (COL4, COL3);
Alter Table TABLE_NAME Drop Constraint UK_NAME; 
--or Alter Table TABLE_NAME Drop Unique (COL4, COL3);

 

Sequence:

Create Sequence SEQ_TABLE_NAME Minvalue 1 Maxvalue 999999999999 
      Start 
With 1 Increment By 1 Cache 20;
Alter Sequence SEQ_TABLE_NAME Increment By 5;
Drop Sequence SEQ_TABLE_NAME;

 

Sample Trigger:

Create Or Replace Trigger TR4CRM_SYS_ORG
After 
Insert Or Delete On SYS_ORG --After Update On SYS_ORG
Referencing Old As Old New As New
For Each Row
Declare
   v_count 
Number := 0;
Begin
    
If Inserting Then --insert command
      Select Count(*Into v_count From SYS_ORG_VIEW Where CHILD_ID=:New.ORG_ID;
      
If :New.PARENT_ID>0 Then
              
--sql code
      End If;
      
If :New.ORG_IS_VIRTUAL Is Null Or :New.ORG_IS_VIRTUAL=0 Then
          
--sql code
      End If;
    
End If;
  
  
If Updating And :New.ORG_DEL_FLAG<>:Old.ORG_DEL_FLAG Then --update command
       --sql code
  End If;

    
If Deleting Then --delete command
          Delete From SYS_ORG_VIEW Where PARENT_ID=:New.ORG_ID Or CHILD_ID=:New.ORG_ID;
    
End If;
End;

禁用trigger

alter table PRD_ITEM disable all triggers;

alter table PRD_ITEM enable all triggers;


DDL
语句用语定义和管理数据库中的对象,如Create,AlterDrop.

 

23lsnrctl start 开启监听器

24. set autot trace explain是要求以后的语句将执行后的解释计划和结果输出到可以看到。

 

 

你可能感兴趣的:(oracle,sql,C++,c,OS)