數據庫已經安裝完成,可以正常登陸查看用戶等操作
system用戶只能用normal身份登陸em。除非你對它授予了sysdba的系統權限或者syspoer系統權限。
sys用戶具有“SYSDBA”或者“SYSOPER”權限,登陸em也只能用這兩個身份,不能用normal。
sys所有oracle的數據字典的基表和視圖都存放在sys用戶中,這些基表和視圖對於oracle的運行是至關重要的,由數據庫自己維護,任何用戶都不能手動更改。sys用戶擁有dba,sysdba,sysoper等角色或權限,是oracle權限最高的用戶。
system用戶用於存放次一級的內部數據,如oracle的一些特性或工具的管理信息。system用戶擁有普通dba角色權限。
檢查數據庫
[root@oracle12c ~]# su – oracle
[oracle@oracle12c ~]$ lsnrctl start
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-10月-2019 03:04:10 Copyright (c) 1991, 2016, Oracle. All rights reserved. 啟動/usr/local/Oracle/Product/11.2.0/bin/tnslsnr: 請稍候... TNSLSNR for Linux: Version 12.2.0.1.0 - Production 系統參數文件為/usr/local/Oracle/Product/11.2.0/network/admin/listener.ora 寫入/usr/local/Oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml的日志信息 監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521))) 監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle12c)(PORT=1521))) LISTENER 的 STATUS ------------------------ 別名 LISTENER 版本 TNSLSNR for Linux: Version 12.2.0.1.0 - Production 啟動日期 21-10月-2019 03:04:10 正常運行時間 0 天 0 小時 0 分 0 秒 跟蹤級別 off 安全性 ON: Local OS Authentication SNMP OFF 監聽程序參數文件 /usr/local/Oracle/Product/11.2.0/network/admin/listener.ora 監聽程序日志文件 /usr/local/Oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml 監聽端點概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) 監聽程序不支持服務 命令執行成功
[oracle@oracle12c ~]$ lsnrctl status
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-10月-2019 03:04:13 Copyright (c) 1991, 2016, Oracle. All rights reserved. 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle12c)(PORT=1521))) LISTENER 的 STATUS ------------------------ 別名 LISTENER 版本 TNSLSNR for Linux: Version 12.2.0.1.0 - Production 啟動日期 21-10月-2019 03:04:10 正常運行時間 0 天 0 小時 0 分 3 秒 跟蹤級別 off 安全性 ON: Local OS Authentication SNMP OFF 監聽程序參數文件 /usr/local/Oracle/Product/11.2.0/network/admin/listener.ora 監聽程序日志文件 /usr/local/Oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml 監聽端點概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) 監聽程序不支持服務 命令執行成功
創建新的實例
1. 首先設置要創建的ORACLE的SID
[oracle@oracle12c ~]$ export ORACLE_SID=addb
2、 創建相應目錄
[oracle@oracle12c ~]$ mkdir -p $ORACLE_BASE/admin/addb/{a,b,c,u}dump
[oracle@oracle12c ~]$ mkdir -p $ORACLE_BASE/admin/addb/pfile
[oracle@oracle12c ~]$ mkdir -p $ORACLE_BASE/oradata/addb
3、在$ORACLE_HOME/dbs目錄下創建初始化文件
命名方法:init實例名.ora 本例中initaddb.ora
[oracle@oracle12c ~]$ cd $ORACLE_HOME/dbs
[oracle@oracle12c dbs]$ cp init.ora initaddb.ora
[oracle@oracle12c dbs]$ vi initaddb.ora
db_name='addb' memory_target=1G processes = 150 audit_file_dest='/usr/local/Oracle/admin/addb/adump' audit_trail ='db' db_block_size=8192 db_domain='' db_recovery_file_dest='/usr/local/Oracle/fast_recovery_area' db_recovery_file_dest_size=2G diagnostic_dest='/usr/local/Oracle' dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)' open_cursors=300 remote_login_passwordfile='EXCLUSIVE' undo_tablespace='UNDOTBS1' # You may want to ensure that control files are created on separate physical # devices control_files = (ora_control1, ora_control2) compatible ='11.2.0'
注意不要用原來的<ORACLE_BASE>作為路徑,修改為對應的絕對路徑,否則會報錯
4、創建密碼文件
[oracle@oracle12c dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwaddb password=p@ssw0rd entries=5 force=y
有復雜度要求
5、創建oracle的建庫腳本 createdb.sql,內容如下,將其放在了$ORACLE_BASE/oradata/addb下面
[oracle@oracle12c dbs]$ cd $ORACLE_BASE/oradata/addb
[oracle@oracle12c addb]$ vi createdb.sql
CREATE DATABASE addb MAXINSTANCES 8 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 DATAFILE '/usr/local/Oracle/oradata/addb/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local sysaux datafile '/usr/local/Oracle/oradata/addb/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited default temporary tablespace TEMP tempfile '/usr/local/Oracle/oradata/addb/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited undo tablespace UNDOTBS1 datafile '/usr/local/Oracle/oradata/addb/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited logfile GROUP 1 ('/usr/local/Oracle/oradata/addb/redo1.dbf') size 10m, GROUP 2 ('/usr/local/Oracle/oradata/addb/redo2.dbf') size 10m, GROUP 3 ('/usr/local/Oracle/oradata/addb/redo3.dbf') size 10m CHARACTER SET ZHS16GBK NATIONAL CHARACTER SET AL16UTF16 ;
6、執行建庫和數據字典腳本
以sysdba進入:
sqlplus / as sysdba
依次執行以下命令
startup nomount;
@$ORACLE_BASE/oradata/addb/createdb.sql
@?/rdbms/admin/catalog.sql;
@?/rdbms/admin/catproc.sql;
@?/rdbms/admin/catexp.sql;
[oracle@oracle12c addb]$ sqlplus / as sysdba
SQL> startup nomount;
創建所需文件目錄
[oracle@oracle12c addb]$ mkdir /usr/local/Oracle/fast_recovery_area
再次嘗試
[oracle@oracle12c addb]$ sqlplus / as sysdba
SQL> startup nomount;
ORACLE 例程已經啟動。 Total System Global Area 1073741824 bytes Fixed Size 8628936 bytes Variable Size 679478584 bytes Database Buffers 377487360 bytes Redo Buffers
SQL> @$ORACLE_BASE/oradata/addb/createdb.sql
SQL> @?/rdbms/admin/catalog.sql;
SQL> @?/rdbms/admin/catproc.sql;
SQL>@?/rdbms/admin/catexp.sql;
7、修改監聽配置文件listener.ora
到$ORACLE_HOME/network/admin目錄下:vi listener.ora
[oracle@oracle12c addb]$ cd $ORACLE_HOME/network/admin
[oracle@oracle12c admin]$ vi listener.ora
addb = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle12c)(PORT = 1522)) ) ) ) SID_LIST_addb = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = addb) (ORACLE_HOME = /usr/local/Oracle/Product/11.2.0/) (SID_NAME = addb) ) )
[oracle@oracle12c admin]$ lsnrctl start addb
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-10月-2019 04:15:14 Copyright (c) 1991, 2016, Oracle. All rights reserved. 啟動/usr/local/Oracle/Product/11.2.0/bin/tnslsnr: 請稍候... TNSLSNR for Linux: Version 12.2.0.1.0 - Production 系統參數文件為/usr/local/Oracle/Product/11.2.0/network/admin/listener.ora 寫入/usr/local/Oracle/diag/tnslsnr/oracle12c/addb/alert/log.xml的日志信息 監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522))) 監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1522))) 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522))) LISTENER 的 STATUS ------------------------ 別名 addb 版本 TNSLSNR for Linux: Version 12.2.0.1.0 - Production 啟動日期 21-10月-2019 04:15:15 正常運行時間 0 天 0 小時 0 分 1 秒 跟蹤級別 off 安全性 ON: Local OS Authentication SNMP OFF 監聽程序參數文件 /usr/local/Oracle/Product/11.2.0/network/admin/listener.ora 監聽程序日志文件 /usr/local/Oracle/diag/tnslsnr/oracle12c/addb/alert/log.xml 監聽端點概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1522))) 服務摘要.. 服務 "addb" 包含 1 個實例。 實例 "addb", 狀態 UNKNOWN, 包含此服務的 1 個處理程序... 命令執行成功
[oracle@oracle12c admin]$ lsnrctl status addb
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-10月-2019 04:16:13 Copyright (c) 1991, 2016, Oracle. All rights reserved. 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522))) LISTENER 的 STATUS ------------------------ 別名 addb 版本 TNSLSNR for Linux: Version 12.2.0.1.0 - Production 啟動日期 21-10月-2019 04:15:15 正常運行時間 0 天 0 小時 0 分 58 秒 跟蹤級別 off 安全性 ON: Local OS Authentication SNMP OFF 監聽程序參數文件 /usr/local/Oracle/Product/11.2.0/network/admin/listener.ora 監聽程序日志文件 /usr/local/Oracle/diag/tnslsnr/oracle12c/addb/alert/log.xml 監聽端點概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1522))) 服務摘要.. 服務 "addb" 包含 1 個實例。 實例 "addb", 狀態 UNKNOWN, 包含此服務的 1 個處理程序... 命令執行成功
創建user表空間
SQL> select name from v$database;
SQL> CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/usr/local/Oracle/oradata/addb/user01.dbf' SIZE 1000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
SQL> ALTER DATABASE DEFAULT TABLESPACE "USERS";
SQL> create spfile from pfile;
使用system用戶編譯
SQL> @/usr/local/Oracle/Product/11.2.0/sqlplus/admin/pupbld.sql
SQL> @/usr/local/Oracle/Product/11.2.0/sqlplus/admin/help/hlpbld.sql helpus.sql
SQL> select * from all_tab_comments;
SQL> select * from user_tab_comments;
SQL> select * from all_col_comments;