美文网首页数据库
Oracle学习笔记(一)

Oracle学习笔记(一)

作者: dev_winner | 来源:发表于2019-09-18 22:20 被阅读0次
    • 因为使用Oracle时比较耗费内存,所以我们可以在使用它的时候才开启一些服务:win+R--->services.msc--->找到并启动2个服务:OracleServiceORCLOracleOraDb11g_home1TNSListener,不用了就暂时关闭它们=_='
    Oracle后台服务状态设置
    • 系统用户:syssystemsysmanscott(默认密码是tiger)
    • 使用系统用户登录:
    [username/password] [@server] [as sysdba | sysoper]
    // 例如:打开sqlplus.exe程序,键入命令:system/123456 @orcl as sysdba
    // orcl就是自己设置的服务名
    // 打开cmd,键入以下一条命令
    sqlplus system/123456
    //用sys登录oracle
    connect sys/123456 as sysdba;
    
    • 查看当前登录用户名
    SHOW user;
    
    • 数据字典是数据库提供的表,用于查看数据库的信息
    DESC  dba_users;
    
    • 查看数据字典中包含的所有用户名
    select username from dba_users;
    
    • 启用并连接scott用户,其默认密码是tiger
    ALTER user scott account unlock;
    connect scott/123456;  -- 登录scott用户
    show user; -- 查看当前登录的用户
    
    • 表空间的分类:①永久表空间;②临时表空间;③UNDO撤销表空间。
    • 查看用户的表空间:①dba_tablespacesdba_users(管理员级别)、②user_tablespacesuser_users(用户级别)
    -- 管理员级别
    DESC dba_tablespaces;
    -- 查看管理员表空间的名字
    SELECT TABLESPACE_NAME FROM dba_tablespaces;
    -- 查看管理员信息
    DESC dba_users;
    -- 查看管理员默认表空间
    SELECT DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM dba_users WHERE USERNAME='SYSTEM';
    
    -- 用户级别
    DESC user_tablespaces;
    -- 查看用户表空间的名字
    SELECT TABLESPACE_NAME FROM user_tablespaces;
    -- 查看用户信息
    DESC user_users;
    
    • 设置用户的默认或临时表空间
    ALTER USER username DEFAULT | TEMPORARY TABLESPACE tablespace_name; 
    -- 例如:更改system用户默认表空间
    alter user system default tablespace tablespace_name;
    
    • 在Oracle数据库安装完成后,system用户的默认表空间和临时表空间分别是systemtemp
    • 创建(永久或者临时的)表空间
    CREATE [TEMPORARY] TABLESPACE tablespace_name TEMPFILE | DATAFILE 'xx.dbf' SIZE yy
    -- 创建一个永久表空间
    CREATE TABLESPACE test1_tablespace datafile 'testfile.dbf' size 10m;
    -- 查看永久表空间文件的具体路径,注意:表空间名要大写!
    DESC dba_data_files; -- 查看表结构信息
    SELECT FILE_NAME FROM dba_data_files WHERE TABLESPACE_NAME='TEST1_TABLESPACE'; -- 查看永久文件的绝对路径
    -- 创建一个临时表空间
    CREATE temporary tablespace temptest1_tablespace tempfile 'tempfile1.dbf' size 10m;
    - 查看临时表空间文件的具体路径,注意:表空间名要大写!
    DESC dba_temp_files; -- 查看表结构信息
    SELECT FILE_NAME FROM dba_temp_files WHERE TABLESPACE_NAME='TEMPTEST1_TABLESPACE'; -- 查看临时文件的绝对路径
    
    • 修改表空间的状态
    -- 设置表空间联机或脱机状态,若设置为脱机状态,则不能使用它了
    ALTER TABLESPACE tablespace_name ONLINE | OFFLINE;
    -- 例如:修改表空间test1_tablespace为脱机状态
    ALTER TABLESPACE test1_tablespace offline;
    -- 查看表结构信息,其里面有一个STATUS(状态)字段
    DESC dba_tablespaces;
    -- 查看表空间TEST1_TABLESPACE(注意要大写)的状态
    SELECT STATUS FROM dba_tablespaces WHERE TABLESPACE_NAME = 'TEST1_TABLESPACE';
    -- 设置表空间只读或者读写状态(注意:该表空间必须是在线online状态)
    ALTER TABLESPACE tablespace_name READ ONLY | READ WRITE;
    -- 例如:修改表空间test1_tablespace为只读状态,默认是读写(write only)状态(即online)
    ALTER TABLESPACE test1_tablespace read only;
    -- 查看当前表空间的状态
    SELECT STATUS FROM dba_tablespaces WHERE TABLESPACE_NAME = 'TEST1_TABLESPACE';
    
    • 修改(增加、删除)数据文件
    -- 增加永久表空间一个数据文件
    ALTER TABLESPACE tablespace_name ADD DATAFILE 'xx.dbf' SIZE yy;
    --  在表空间test1_tablespace中增加数据文件
    ALTER TABLESPACE test1_tablespace ADD DATAFILE 'test2.dbf' SIZE 10m;
    - 查看永久表空间test1_tablespace 的所有数据文件
    SELECT FILE_NAME FROM dba_data_files WHERE TABLESPACE_NAME='TEST1_TABLESPACE';
    - 删除永久表空间一个数据文件,注意:不能删除第一个数据文件,若要删除,则需把整个表空间删除。
    ALTER TABLESPACE tablespace_name DROP DATAFILE 'filename.dbf'
    -- 删除表空间test1_tablespace中的test2.dbf数据文件
    ALTER TABLESPACE test1_tablespace DROP DATAFILE 'test2.dbf';
    - 查看永久表空间test1_tablespace 的所有数据文件,注意:表空间名要大写
    SELECT FILE_NAME FROM dba_data_files WHERE TABLESPACE_NAME='TEST1_TABLESPACE';
    
    • 删除表空间(和表空间下的数据文件)
    DROP TABLESPACE tablespace_name [INCLUDING CONTENTS];
    -- 例如删除表空间及其包含的数据文件
    DROP TABLESPACE test1_tablespace INCLUDING CONTENTS;
    -- 查看当前system管理员的表空间名字
    SELECT TABLESPACE_NAME FROM dba_tablespaces;
    

    相关文章

      网友评论

        本文标题:Oracle学习笔记(一)

        本文链接:https://www.haomeiwen.com/subject/lvwnyctx.html