一.启动Oracle和用户登录操作
首先,启动oracle,需要有两个服务
- 监听服务
- oracle实例 prod
1.监听服务
重启服务器后,需要将oracle监听服务打开
[oracle@localhost ~]$ lsnrctl status(查看监听服务状态)
[oracle@localhost ~]$ lsnrctl start(启动监听服务)
2.实例prod(我用的是创建的oracle用户登录oracle)
sqlplus system/oracle@192.168.126.8:1521/prod
1)启动oracle服务代码
[oracle@localhost ~]$ sqlplus / as sysdba
[oracle@localhost ~]$ sqlplus sys/oracle as sysdba
sqlplus / as sysdba是一种简化写法,其实是省略了用户名和密码,完整的写法是
sqlplus sys/password as sysdba
启动oracle的其他方法
[oracle@localhost ~]$ sqlplus /nolog
sqlplus /nolog 是另外的用法了,nolog表示不进行登录,仅仅是进入sqlplus软件而已
下列代码说明进入oracle后系统自动识别用户是否为install所属的用户组,是的话都能登陆成功,即使conn后跟随的账户和密码不存在
SQL> conn /as sysdba
Connected.
SQL> conn abcd/pp as sysdba
Connected.
2)安装oracle后的三个默认用户
SYS用户:权限最高,有创建数据库的权限
system用户:系统管理员,权限很高
普通用户:权限低,如系统安装时的scott用户,默认密码是tiger。普通用户的权限是SYS用户或SYSTEM用户给的,如果没有给,那普通用户连很基本的访问权限,连接权限也没有。
sys用户和system用户给普通用户赋权
创建用户gree密码为gree
并赋值权限 connect resource dba
SQL> create user gree identified by gree;
User created.
SQL> grant connect,resource,dba to gree;
用户可拥有权限
connect:是授予最终用户的典型权利,最基本的权利,能够连接到Oracle数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作。
resource:是授予开发人员的,能在自己的方案中创建表、序列、视图等。
dba:是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限。
Grant succeeded.
ORACLE权限
详细权限内容请查看↓↓↓↓
ORACLE grant权限 - Snowfun - 博客园
查看当前数据库
SQL> select name from v$database;
NAME
---------
PROD
查看当前oracle数据库版本
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
查询字符编码
-- 查询环境编码
echo %NLS_LANG%;
-- 查询数据库编码
SELECT USERENV('LANGUAGE') FROM DUAL;
-- AMERICAN_AMERICA.ZHS16GBK
-- `Windows`添加环境变量:set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
-- `Liunx`添加环境变量:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
SELECT value FROM v$nls_parameters l WHERE l.PARAMETER='NLS_CHARACTERSET';
-- ZHS16GBK
3)对scott用户进行操作
接着要使用scott用户,而scott用户默认是被加锁,不能使用,需要对scott解锁
SQL> connect system@prod
Enter password:
Connected.
密码如果过期重新输入密码
SQL> alter user scott account unlock;
User altered.
Changing password for scott
New password:
Retype new password:
Password changed
Connected.
可以直接修改密码
ALTER USER `scott` IDENTIFIED BY `tiger`;
SQL> select table_name from user_tables;(展示当前用户名下的表和文件等信息)
TABLE_NAME
SALGRADE
BONUS
EMP
DEPT
查看当前用户是谁
SQL> show user
USER is "SCOTT"
创建用户
user
:创建的用户名。
identified by
:设置用户的密码。
default tablesapce
:指定默认表空间名称。
CREATE USER `sh`
IDENTIFIED BY `123456`
DEFAULT TABLESPACE `home`;
用户赋权
GRANT DBA TO `sh`;
删除用户
DROP USER `sh` CASCADE;
数据库的服务器有指定端口
oracle:默认1521
mysql:默认3306
二.表空间
1.创建表空间
tablespace:表空间名称。
datafile:数据文件物理路径。
Windows 存放位置 datafile 'c:\qs.dbf'。
Linux 存放位置 DATAFILE '${ORACLE_HOME}\oradata\qs.dbf'。
ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0。
size:表空间的初始大小(mb)。
autoextend on:设置自动扩容。
如果存储量超过初始大小,则开始自动扩容。
next:设置每次扩容的空间大小(mb)。
创建管理员用户
SQL> connect system@prod
Enter password:
Connected.
SQL> create tablespace ts1 datafile '/home/oracle/ts1.dbf' size 50M; 设置表空间默认大小是50M
修改表空间名
SQL> alter tablespace ts1 rename to tss1;
删除表空间
SQL> drop tablespace tss1 including contents and datafiles;